오늘은 블루투스 센서 HC-06을 통해 아두이노와 스마트폰을 무선 통신하여 LED를 제어해보겠습니다. 스마트폰을 이용해 아두이노와 자유롭게 통신하기위해 앱인벤터를 통해 간단한 앱도 제작해 보겠습니다.
코드부터 보시죠
#include <SoftwareSerial.h> // 블루투스 통신을 위한 라이브러리를 가져온다.
SoftwareSerial BSerial(2, 3); // (RX, TX)
int LED = 13;
char data;
void setup(){
BSerial.begin(9600);
Serial.begin(9600);
pinMode(13, OUTPUT); // led 제어 핀
}
void loop(){
if (BSerial.available()){ // 만약 블루투스 송신 감지되면
data = BSerial.read(); // 수신 받은 데이터 저장
Serial.write(data); // 수신된 데이터 시리얼 모니터로 출력
if(data == '1'){ // 블루투스를 통해 '1' 이 들어오면
digitalWrite(LED, HIGH); LED 킴
}else{ // 블루투스를 통해 '1' 이 아닌것이 들어오면 들어오면
digitalWrite(LED, LOW); LED 끔
}
}
delay(20);
}
회로도입니다.
앱 인벤터에서 제작한 어플리케이션 블록도 및 디자인입니다.
동작 영상입니다.
블루투스 통신을 활용해 스마트폰과 아두이노간 무선 통신으로 LED를 제어하는 프로그램을 완성했습니다.
무선통신을 가능하게하는 방법은 여러가지 방법이 있습니다. 그 중에 블루투스는 가장 접근하기 쉬우며 어렵지 않게 동작시킬 수 있는 방법이 아닐까 생각합니다.
블루투스 통신방법만 터득하더라도 집에서 IOT제품을 자작하는데 큰 무리가 없다고 생각합니다. 그리고 몇 보드에서는 블루투스 기능을 탑재하고있어 더 손쉽게 통신 설정을 할 수 있습니다.
앱인벤터로 어플리케이션을 만드는 부분은 추후에 따로 글을 게시하여 쉽게 사용할 수 있는 방법을 알려드리겠습니다.