블루투스 센서
아두이노에 블루투스 모듈을 이용하면 스마트폰과 연동하여 부품들을 제어할 수 있다. 선을 연결하지 않고 무선으로 통신을 하기 때문에 편리한점이 많다. 하지만 통신거리가 짧기 때문에(10미터정도) 먼 거리에 있을 때는 사용할 수 없다는 단점이 있다.
우리는 HC-06센서를 사용할 것이다. 가격이 저렴하고 성능또한 나쁘지 않기 때문에 실습을하는데 있어서 가장 많이 사용하는 부품이다.
HC-06은 4개의 핀을 사용하며, RXD핀은 데이터를 받을 때, TXD핀은 데이터를 보낼 때, GND는 그라운드선으로 -, VCC는 3.6V~6V사이의 전압을 넣으면 되므로 5V단자에 연결하면 된다. 모듈에 따라서 3.3V로 작동하는 모듈도 있으니 데이터시트를 참고하여 규격을 맞추기 바란다.
http://codingrun.com/100
라이브러리 추가 방법은 위 링크를 참고하길 바란다.
(IDE에서 자체적으로 라이브러리 다운받기를 추천! : SoftwareSerial 검색하면 나온다.)
실습 내용
스마트폰을 이용하여 각 LED를 켜고 꺼보자.
준비물
아두이노 보드, 브레드 보드, LED 3개, 저항 330Ω 3개, 점퍼선 11개, 스마트폰 1개(플레이 스토어에서 Bluetooth Controller 다운로드)
회로도
소스 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 |
#include <SoftwareSerial.h> //블루투스 시리얼 통신 라이브러리 추가
SoftwareSerial BTSerial(2, 3); //블루투스 설정 BTSerial(Tx, Rx)
int Green = 5;
int Yellow = 7;
int Red = 9; //led 핀 설정
void setup() {
BTSerial.begin(9600); //블루투스 통신 시작
pinMode(Green, OUTPUT);
pinMode(Yellow, OUTPUT);
pinMode(Red, OUTPUT);
}
void loop() {
if(BTSerial.available()) //값이 들어오면
{
char bt; //제어할 변수 bt선언
bt = BTSerial.read(); //들어온 값을 bt에 저장
if(bt == 'a') //bt가 a면
digitalWrite(Green, HIGH); //초록불 ON
if(bt == 'b')
digitalWrite(Yellow, HIGH);
if(bt == 'c')
digitalWrite(Red, HIGH);
if(bt == 'd')
digitalWrite(Green, LOW);
if(bt == 'e')
digitalWrite(Yellow, LOW);
if(bt == 'f')
digitalWrite(Red, LOW);
}
} |
cs |
스마트폰과 블루투스 모듈 연결 방법
1. 플레이스토어에서 Blutooth Controller를 다운로드
2. 원하는 데이터를 전송하기 위해 키 설정으로 진입
3. 소스 코드에 나온대로 데이터를 설정. (키 이름은 아무렇게나 설정 가능)
4. 장치검색을 클릭하여 HC-06과 연결
5. 연결 확인
6. 정확하게 작동하는지 실험!
'아두이노 > 기초 예제' 카테고리의 다른 글
아두이노 예제 15. LCD에 글자 쓰기(I2C LCD 모듈 사용) (16) | 2018.04.10 |
---|---|
아두이노 예제 13. 온습도 측정하기 (2) | 2017.01.24 |
아두이노 예제 12. LCD에 글자 표시하기 (30) | 2017.01.19 |
아두이노 예제 11. 모터 제어하기 (14) | 2017.01.19 |
아두이노 예제 10. 서보모터 제어하기 (16) | 2017.01.19 |