앱 인벤터를 이용해서 정말 손쉽게 안드로이드 앱을 만들어 볼 수 있다는 것을 한 번 학습[바로가기]했었는데요. 그리고, 아두이노에서 블루투스를 또한 손쉽게 사용할 수도 있다는 것[바로가기]도 학습했구요. 오늘은 이 둘을 합쳐 볼려구요^^. 아두이노에 HC-06 블루투스 모듈이 연결되어서 휴대폰에서 블루투스 통신으로 아두이노의 LED(또 LED입니다.ㅠㅠ)를 끄고 켜보는 거죵... 당연히 앱인벤터[바로가기]를 이용하구요. 일단 [바로가기]를 통해 앱인벤터 홈페이지로 이동하구요~~
Designer 화면 구성하기
Viewer화면을 저렇게 꾸밀 겁니다. 너무 쉽기 때문에 살살 따라 가시면 됩니다.
HorizontalArrangement를 저렇게 총 5개로 배치하구요.
첫 번째 것
두 번째...
세 번째...
네 번째...
다섯 번째 모두 Align과 Height, Width를 맞춰 주시면 됩니다. 이건 좀 틀려도 됩니다. 화면 구성이 조금 다를 뿐이겠죠^^
그리고 제일 처음 부분에 ListPicker를 두고...
그 다음 HorizontalArrangeMent에는 Label을~
세 번때 HorrizontalArrangement에는 다시 VerticalArrangement를 4개 두어서 간격을 조절하고, 두 번째 네 번째에 버튼을 배치합니다.
첫 번째 버튼은 이름을 on_button으로 하고, 보기좋게 세팅하구요~
두 번째는 off_button이구요. text는 off~^^
그리고 네 번째 HorizontalArrangement에 Label을 두고...
Clock과
제일 중요한 BluetoothClient를 둡니다.~
Blocks 코드 블럭 꾸미기
이제..
Blocks 화면에서 먼저 위와 같이 꾸밉니다. 따라하는 방법은 ListPicker를 만들어서 생긴 ListPicker1블럭을 좌측 화면에서 누르면 됩니다. 그리고 그 속에서 원하는 것을 찾죠. 이 번에는 bluetooth 블럭을 눌러서 또 찾으면 됩니다. 아무튼 ListPicker를 선택하기 전에는 ListPicker1의 요소는 블루투스 클라이언트에서 접근 가능한 이름을 받는다는 것입니다.
그리고, ListPicker1을 누르면 ListPicker1에서 선택된 element로 커넥트하는 거구요~
off_button을 누르면 블루투스로 0을 전송하고 화면 Label2에 LED is OFF라고 메세지를 표현합니다.
on_button을 눌렀을때는 1을 전송하고 LED is ON이라고 표현하구요~
Clock1을 하나 가져왔었는데요. 이 아이는 1초쯤 대기합니다. 그 동안 블루투스에 연결되었는지 확인해서 Label1에 Connet인지 아닌지 표기하구요.~
위 5개 덩어리가 전체 코드가 되겠네요^^
앱인벤터를 이용하여 안드로이드에서 블루투스 통신을 통해 아두이노 보드의 LED 끄고 켜기
이제... 결론은... 이전 앱인벤터를 처음 소개할 때[바로가기]처럼 Build로 apk 파일을 폰으로 전송해서 설치하고 실행하면
위의 첫 화면이 뜹니다.~~~ 와우~
SelectBlueTooth를 누르면 사용 가능한 리스트가 나타나구요. 연결하면 됩니다.
커넥트 되었네요^^
이네 ON 버튼을 누르면~ 메세지도 나오고, 아두이노 보드에서도 LED가 켜질 겁니다.
이렇게 말이죠~~~~ ㅎㅎ... 즐거운 놀이가 막 창의적으로 떠오르지 않나요^^ 아.. 아두이노는 메가를 사용했고, 아두이노 코드는 이전에 블루투스를 테스트하던 글[바로가기]과 동일한 코드로 진행되었습니다.^^
'Robot > Block Coding' 카테고리의 다른 글
Mu Editor를 이용한 마이크로비트(Microbit)에서 마이크로파이썬(MicroPython)으로 코딩하기 (12) | 2018.08.13 |
---|---|
ESP8266에서 upycraft를 이용한 MicroPython 사용하기 (26) | 2018.08.01 |
블록코딩 책 - 생각대로 블록코딩 - 저의 두번째 책이 출판되었습니다. (26) | 2018.07.23 |
스크래치 mBlock의 유용한 기능 아두이노 Arduino 모드 (18) | 2018.03.21 |
스크래치와 아두이노의 연결 mBlock (20) | 2018.02.26 |
휴대폰 앱?? 앱 인벤터 App Inventor2로 간단히 만들어 볼까요?^^ (16) | 2018.02.21 |
엔트리에서 아두이노 시작하기 (28) | 2017.12.18 |