앱 인벤터 appinventor

앱 인벤터 예제 Talk To Me! 블록 편집

coding art 2017. 10. 3. 15:05
728x90

아두이노 코딩의 소중한 경험을 시작하고 싶으신가요?

이 책에서 해답을 찾으세요.

교보문고에서 절찬리에 판매중입니다



_______________________________________________________upto here, commercial!______________________


지금까지의 디자이너(Designer) 작업 결과를 구성품(Components) 박스에서 확인해 보도록 하고 구체적인 코딩을 위해 레고형 블록(BLOCK) 편집으로 넘어가기로 한다. 그래픽하게 직소 퍼즐 형식으로 처리하게 되어 있어 아주 초보적으로 보이겠지만 사실은 이들은 하나 하나의 기능 코드들의 블록임에 유의하자.


아두이노 관점에서 보면 한줄 한줄의 C/C++ 명령이 아니라 적어도 하나의 루틴 규모에 해당하는 코드 블록들로 보면 된다. 점차 사용 경험이 늘어나게 되면 기능 블록들을 사용하여 보다 복잡해 보이는 코딩이 가능해진다고 보면 된다.


블록 편집기에서 Button1을 클릭해 보면 우측에 색상별로 퍼즐 메뉴들이 나타난다.
이 경우는 2가지이지만 보통 3가지 색상으로 분류된다. 녹색 또는 보라색 퍼즐 블록들을 낄 수 있는 금색 메인 블록, 여기에 끼워 넣을 수 있는 진한 녹색의 퍼즐 블록과 꽁무니에 끼워 넣기 위한 새끼 블록들로 구성된다.

스마트 폰 사용법과 연계헤서 코드 구조를 3단계로 구성한다고 보면 될 것이다.

이벤트 처리가 가능한 금색 메인 블록의 When 블록을 사용하여 Button1의 퍼즐 코딩을 시작한다. 이벤트란 언제 발생할지 모르는 상태에서 항상 대기하고 있다가 상황이 발생하면 우선적으로 신속하게 대응하는 루틴으로 아두이노로 치면 인터럽트 기능과 유사해 보인다.

어는 순간에 사용자가 TalkToMe 버튼을 누르면(Click) TTS(TextToSpeech) 루틴을 call 하여 메시지(Message)를 말하도록(Speak) 해야 할 것이다.  메시지(Message)는 당연히 Text 로 입력해두고 TTS에 제공해야 할 것이다. 아래의 퍼즐 구성이 바로 그 내용이다.


말하는 기능과는 별도로 스마트 폰이 흔들리면 반응하는 기능을 추가해 보자.
어느 순간에 가속도 센서(AccelerometerSensor)가 반응할 수 있도록 사용자가 폰을 자연스럽게 흔들면(Shaking) 스마트 폰이 TTS(TextToSpeech) 루틴을 call 하여 메시지(Message)를 말하도록(Speak) 해야 할 것이다. “제발 흔들지마” 메시지(Message)는 당연히 Text 로 입력해두고 TTS에 제공해야 할 것이다. 아래의 퍼즐 구성이 바로 그 내용이다.








참고로 바로 위의 한글 메시지를 입력하려면 앱 인벤터 편집기의 언어를 English에서 한국어로 바꾸어야 한다.