목차
1) 시리얼통신으로 LED켜기
2) 시리얼통신으로 블루투스 연결 확인하기
3) 모바일과 시리얼통신을 블루투스로 연결하기
1) 시리얼통신으로 LED켜기
블루투스를 배우기 전 시리얼통신을 사용하여 블루투스를 연결하는 방법을 배우기 위해
시리얼통신으로 LED on/off 하는 방법을 배워보겠습니다.
- character(char) : 문자로 입력받는 방법
- String : 문자열로 입력받는 방법
이 두가지 경우가 있습니다.
코드 복사하기
// character(char) 문자로 입력받는 방법 int LED = 2; char c; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); } void loop() { if(Serial.available()){ c = Serial.read(); if(c == '0'){ digitalWrite(LED, LOW); } else if(c == '1'){ digitalWrite(LED, HIGH); } } Serial.println(c); } |
// String 문자로 입력받는 방법 int LED = 2; String str = " "; void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); } void loop() { if(Serial.available()){ str = Serial.readString(); if(str == "on"){ digitalWrite(LED, LOW); } else if(str == "off"){ digitalWrite(LED, HIGH); } } Serial.println(c); } |
문자(char)로 입력받았을 때
1입력시 ON / 0입력시 OFF
문자열(String)로 입력받았을 때
on 입력시 /off 입력시
2) 시리얼통신으로 블루투스 연결 확인하기
(블루투스를 이용해 다른 기기로 통신하기 전 시리얼통신으로 블루투스의 연결을 확인)
블루투스를 연결 -> 시리얼통신을 이용하여 블루투스연결을 확인
코드 복사하기
#include <SoftwareSerial.h>
// TXD,RXD 연결 시 아두이노와 블루투스 모듈을 반대로 연결합니다.
#define RXD 8 // RX연결핀번호: 7
#define TXD 7 // TX연결핀번호: 8
SoftwareSerial bluetooth(RXD,TXD);
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
}
void loop() {
if(bluetooth.available()){
Serial.write(bluetooth.read());
}
if(Serial.available()){
bluetooth.write(Serial.read());
}
}
AT 을 입력하면 OK가 출력되는걸 보실수 있습니다.
블루투스와 연결되었다는걸 확인할 수 있습니다.
// 코드입력과 핀연결을 잘했는데 출력이 되지 않는다면
// 밑에 line ending 으로 세팅되어 있는지 주의해주세요. (새줄 으로 되어있으면 출력 안됩니다)
3) 모바일과 시리얼통신을 블루투스로 연결하기
시리얼통신 ----<블루투스>---- 모바일
이번엔 블루투스를 이용하여 모바일과 시리얼 통신으로 문자를 통신해 보는것을 배워보겠습니다.
시리얼통신으로 메시지를 보내면 모바일에서 출력하고
모바일으로 메시지를 보내면 시리얼모니터로 출력할 수 있습니다.
소스코드는 위에서 작성한 <2. 시리얼통신으로 블루투스 연결 > 과 같습니다.
1) 어플깔기(안드로이드만 가능)
2) 블루투스와 모바일 연결 비밀번호는 1234 OR 0000
3) 메시지로 통신하기
참고: [아두이노 강좌] 블루투스 모듈 HC-06 사용법 알아보기 : 네이버 블로그 (naver.com)
반응형
'IOT 로봇 아두이노 > 아두이노 기본센서 연결하기' 카테고리의 다른 글
[아두이노 기초] 모터드라이버로 DC모터 제어하기 (0) | 2021.06.16 |
---|---|
[아두이노 기초] 세븐 세그먼트 4자리 (0) | 2021.06.01 |
[아두이노 기초] 세븐 세그먼트 (2) | 2021.05.21 |
[아두이노 응용] 초음파센서 거리 측정 후 LCD 출력 하기 (0) | 2021.05.12 |
[아두이노 기초] LCD 글자 출력하기 (0) | 2021.04.26 |
댓글