디지털 라이프 電子的生活 My Digital Life/아두이노 (Arduino)

아두이노RC탱크 프로젝트 4. BLYNK 기본 테스트

미친도사 2018. 12. 30. 11:53

2018/10/03 아두이노RC탱크 프로젝트 1. 소개의 글

2018/10/14 아두이노RC탱크 프로젝트 2. 기판의 대략적인 배치

2018/10/21 아두이노RC탱크 프로젝트 3. 회로도


지금까지는 안드로이드 스마트폰 전용 앱으로 RC를 구현했지만, 이번에는 아이폰도 지원하려 합니다.

지난 소개글에서 언급한 바와 같이 Blynk란 앱으로 구현을 해보려 합니다.


이 앱은 저도 처음이라 가장 기본적인 블루투스 통신부터 테스트를 해보았습니다. 

이번 이야기는 이 기본적인 테스트 부분을 다뤄 보겠습니다.

이 테스트가 정상적으로 되면, 그 이후 탱크 기능 구현은 그닥 어렵지 않을 것 같습니다.


일단 Blynk를 설치를 해야겠습니다.

https://www.blynk.cc/

스마트폰 앱이니, 구글 플레이스토어 혹은 애플의 앱스토어에서 Blynk를 검색해서 설치하면 되고요.

아두이노 프로그래밍을 위해서 위의 링크에서 라이브러리를 다운로드 받아 설치합니다.

이 부분은 https://www.blynk.cc/getting-started/ 에 설명이 잘 되어 있으니 그대로 하시면 됩니다.


그리고, 테스트를 위한 최소한의 회로를 구성합니다.

그림을 저렇게 그렸지만, 전원은 5V면 되고요...

HC-06 블루투스 모듈과 아두이노 프로 미니는 RX <-> 11, TX <-> 10 으로 연결했습니다.

블루투스는 시리얼 통신입니다. 쉽게 말하면 보내는 라인 하나, 받는 라인 하나로 구성된 통신이란 뜻입니다.

RX는 받는 것 (Receiver), TX는 보내는 것 (Transmitter)를 의미합니다.


이 상태에서 Blynk를 꾸며 봅니다.

일단 설명은 안드로이드에서 실행한 것으로 하겠습니다. 아이폰도 같을 거라 생각되네요.


앱을 실행하면 최초에 로그인을 하라고 합니다. 제일 쉬운 건 페이스북 계정 정보로 로그인하는 것이겠죠.


우리는 새로운 프로젝트를 시작하니, New Project를 선택.


프로젝트 이름을 쓰고, 사용할 하드웨어 정보를 정의합니다.

아두이노 프로 미니에 ...


블루투스 통신을 할 겁니다.

테마를 어둡게하거나, 밝은 걸로 할 건지는 각자 취향대로 선택하면 되겠지요.


그리고 아래의 Create를 누르면 아래와 같은 메시지가 나올 겁니다.


Blynk는 프로젝트 별로 인증키를 부여함으로 해서 하드웨어가 다른 프로젝트로 만들어진 앱으로 오작동하는 것을 막는 것 같습니다.

이 인증키는 메일에서 확인하고, 이를 아두이노 앱 소스에 넣으면 됩니다.


이렇게 새롭게 만들어진 앱 초기 상태입니다.


우리는 블루투스 연결을 할 것이기 때문에 블루투스 연결 버튼을 하나 추가하고요...


기본적인 테스트를 하기 위해 일반 버튼 하나를 추가합니다.


이 버튼은 아두이노의 내장 LED인 D13 포트를 연결하는 것으로 설정합니다.


이 버튼 동작 형태도 지정할 수 있습니다.

PUSH는 누를 때만 LED가 켜지게 하는 것이고,

SWITCH는 한번 누를 때마다 켜지고 꺼지는 것이 토글되게 하는 것입니다.


이렇게 만들어진 컨트롤 앱 구성입니다.

원하는 대로 크기도 바꿀 수 있고, 위치도 바꿀 수 있지만 이대로 그냥 시험합니다.

여기까지 해서 컨트롤 앱은 준비가 되었습니다.


이제 아두이노 프로그램 부분입니다.

지금 테스트는 블루투스를 통해 아두이노의 내장 LED를 켜고 끄는 것을 할 것이고요...


위의 아두이노 라이브러리를 제대로 설치했다면 아래와 같이 File - Examples에 Blynk 세션이 생겼을 겁니다.

거기에서 Boards_USB_Serial - Arduino-SoftwareSerial을 선택합니다.


이 부분 때문에 한참 헤맸는데...

Board-Bluetooth를 하면 안 되고요, Board_USB_Serial로 해서 Software Serial로 선택하는 것이 핵심이더군요.


그렇게 하면 아래와 같이 샘플 소스가 뜹니다.


거기에서 위에서 메일로 받은 인증키를 auth[]="인증키"; 에 넣고요...

그 아래 블루투스 모듈을 아두이노와 연결한 포트를 지정합니다.

예제와 실제 구성한 하드웨어가 다르니 반드시 확인해야 하는 부분입니다.

위의 회로도에서 우리는 RX를 11, TX를 10으로 지정했습니다.

이렇게 해서 아두이노에 프로그램을 업로드하고 나면 준비가 되었습니다.


위의 초기 화면에서 블루투스 로고를 터치하면 아래와 같이 연결 화면이 뜹니다.


[Connect Bluetooth Device]를 선택하면 아래에 여러 장치가 뜰텐데요, 거기에서 블루투스 모듈을 선택하면 됩니다.


제가 테스트에 이용한 모듈은 HC-06이란 일반적인 모듈의 호환 모듈인 BT04-A란 것인데요...

장치가 안 보일 때엔 OK 옆에 있는 새로고침 표기를 누르다 보면 보일 겁니다.


정상적으로 연결이 되면 아래와 같이 될 것이고요...


이 상태에서 돌아가서 오른 쪽 위의 플레이 버튼을 눌러서 앱을 시작합니다.


정상적으로 연결이 되면 저기 상단의 버튼을 터치하면 Online이라고 나옵니다.

현재 캡쳐한 것은 연결이 제대로 안 되었을 때를 보여주고 있습니다.


정상적으로 연결이 되었다면, 저기 버튼을 누름에 따라 아두이노 보드의 내장 LED가 반응을 합니다.

일단 이런 정도로 블루투스 통신이 됨을 확인이 되면, 그 다음부터는 구체적으로 모터 구동을 위한 로직을 프로그램하면 되겠지요.


처음에 라이브러리를 어떻게 설정해서 쓰는 지에 대해 좀 헤맸는데, 이제는 이 기본 소스를 바탕으로 해서 조금씩 살을 붙여나가면 될 듯합니다.

테스트를 위해서 전에 구현했던 2-모터 소형 탱크를 Blynk로 동작시키게 해보려 합니다.


실제 이번 프로젝트를 위한 회로는 준비가 되었는데, 소형화를 위한 부품 선정을 하는 중에 있고 샘플 자재가 지금 알리익스프레스를 통해 배송 중입니다. 그 자재가 도착해서 확정되는 대로 PCB 레이아웃도 확정하고 소개하겠습니다.


이번 이야기는 여기까지~ 





반응형