아두이노 USB 케이블을 이용한 블링크(Blynk) 통신하기 (1)만약 아두이노 보드만 있고 당장 가지고 있는 통신 모듈(블루투스 모듈, WiFi 모듈 등)이 전혀 없다면 어떨까요? 당연히 통신이 되지 않으니 웹 뿐만 아니라 스마트폰을 이용해서 디바이스를 제어하거나 상태를 확인할 수 없습니다. 하지만 통신 모듈 전혀 없이 아두이노와 전용 USB케이블, 그리고 PC만 있으면 그 상태에서 Blynk와 통신할 수 있습니다.
사실상 블링크 클라우드 서버에서 개별 네트워크에 존재하는 디바이스를 중재하는 방식은 동일합니다. 그 방식을 USB Serial 포트를 관문 삼아 제어하는 방식이지요
이 방식으로 이번에는 좀 더 다양한 컨트롤 위젯을 다뤄보도록 하겠습니다~
#준비물: 아두이노 우노, RGB LED, 220Ω, 브레드보드, 점퍼케이블 등
RGB LED를 위와 같이 배선해줍니다. R G B 각각 5번 6번 9번에 연결해줍니다. 위 배선도는 편의상 LED와 아두이노를 다이렉트로 연결해줬는데, 원래는 연결 시 220Ω저항을 함께 연결해줘야 합니다.
5번, 6번, 9번에 연결한 이유는 나중에 PWM(Pulse Width Modulation)제어를 하기 위해서입니다. PWM제어를 위해서는 아두이노 디지털 핀 번호 앞의 ~(물결)표시가 되어있는 곳에 연결해야합니다.
이번에는 블링크에서 프로젝트를 생성해서 디바이스를 '아두이노 우노'로 선택하고 연결 타입을 'USB'로 선택합니다.
프로젝트 생성 후 버튼 위젯을 선택해서 핀 번호를 'D9(디지털9번)'로 선택하고 'SWITCH'모드로 설정해줍니다 (5번이나 6번으로 선택해도 관계 없습니다)
세팅이 끝나면 다시 아두이노로 돌아와서, Blynk 라이브러리에 기본적으로 저장되어있는 예제를 통해 테스트를 해보도록 하겠습니다.
[파일] → [예제] → [Blynk] → [Boards_USB_Serial] → [Arduino_Seria_USB] 순서로 클릭합니다.
위는 예제코드를 간략한 설명과 함께 정리한 코드입니다.
char auth[] = "YourAuthToken";에서 YourAuthToken글자를 지우고 이메일에서 확인한 인증코드를 복사해서 붙여넣기 해줍니다.
그러나 지금 이 상태에서 예제를 업로드하면 블링크와 아무런 통신을 할 수 없습니다. USB serial만으로 Blynk와 통신하기 위해서는 먼저 scripts 폴더의 'blynk-ser 배치 파일'의 설정을 변경해주어야 합니다.
배치 파일은 운영체제에 따라 아래와 같이 위치해있습니다. - Windows: My Documents\Arduino\libraries\Blynk\scripts - Mac: ~/Documents/Arduino/libraries/Blynk/scripts - Linux: ~/Arduino/libraries/Blynk/scripts
윈도우 운영체제 기준으로 설정을 변경해보도록 하겠습니다. 윈도우 외 운영체제를 사용하신다면 하단 링크를 참조하여 진행하면 됩니다. 참고사이트 _ (http://help.blynk.cc/how-to-connect-different-hardware-with-blynk/arduino/usb-serial)
먼저 윈도우에서 blynk-ser 배치 파일이 위지되어있는 scripts 폴더로 이동합니다. (Windows: My Documents\Arduino\libraries\Blynk\scripts)
폴더 경로를 복사합니다.
윈도우 검색창에 cmd를 검색 후 명령 프롬프트 창을 엽니다.
'cd '+'복사한 경로'(cd C:\...\libraries\Blynk\scripts) 를 입력 후 엔터를 누릅니다. ('cd'는 'Change Directory'의 약어로 파일 위치를 이동하는 명령어입니다.)
그 다음 'blynk-ser.bat -c COMX'를 입력합니다. COM뒤 숫자는 현재 아두이노 포트로 인식하고있는 포트 번호입니다. 저는 COM8로 인식되기 때문에 COM8을 입력했습니다. 입력 후 엔터를 연속으로 3번 눌러줍니다.
완료 후 명령 프롬프트 창을 닫아줍니다.
다시 아두이노 스케치로 돌아와서 [툴] 메뉴에서 '보드'와 '포트'설정이 제대로 되었는지 확인 후 작성해둔 코드를 아두이노에 업로드해줍니다.
업로드 후 [툴] → [Blynk: Run USB script]를 클립합니다.
Blynk 콘솔 창이 뜹니다. 이때 주의할 사항은 아두이노의 시리얼 모니터를 열어서는 안됩니다. 시리얼 모니터와 같은 포트를 사용하기 때문에 간섭이 생길 수 있습니다
Blynk의 USB serial 프로젝트를 실행합니다.
통신 모듈 없이 블링크로 LED를 제어할 수 있는 것을 확인할 수 있습니다.
9번 핀으로 연결하였다면 RGB LED에서 빨간색 색상이 켜지고 꺼지는 것을 볼 수 있습니다.
위 링크를 통해 동작 시연 영상을 확인할 수 있습니다.
이 프로젝트를 그대로 이어서 다음 번엔 다른 위젯을 사용해서 제어해보도록 하겠습니다 :)
>블링크 키트 보러가기< http://mechasolution.com/shop/goods/goods_view.php?goodsno=575406&category=048
|