본 절은 [HC-06] 아두이노 블루투스 모듈을 사용하기 위해 알아야 할 내용과 실습 방법에 대해 설명한다. 아두이노 블루투스 모듈의 특징, 동작원리, 사양, 연결 핀 배열, 출력 값, 주의사항을 알아본다. 아두이노와 HC06를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
목차
[아두이노] HC-06 블루투스 사용하기
HC-06 블루투스 모듈이란?
HC-06 블루투스 모듈은 다음과 같다.
-모듈인터페이스는 VCC, GND, TXD, RXD를 사용하고 LED에서 상태를 표시
-3.3V 레벨로 MCU(51, AVR, PIC, ARM, MSP430등등) 바로 직접적으로 연결가능, 5V MCU도 또한 MAX232 IC 없이 바로 연결가능
-10M이내의 거리에서 정상적으로 동작
- 10M이상의 거리에도 가능하나 정상동작하지 않을 수 있음
HC-06 vs HC-05 비교 원리
HC-06 와 HC-05의 차이는 다음과 같다.
HC-05는 모듈 KEY 핀의 HIGH/LOW 상태로 모드를 구분, 마스터와 슬레이브 둘 다 사용 가능
기본 설정 : Slave, 38400,8, N, 1, piN=1234, "HC-05" 시리얼 모니터에서 "Both NL & CR"
HC-06은 현재 페어링이 돼있으면 통신 모드, 페어링이 안 돼있으면 AT 설정 모드로 동작. 슬레이브로 기본 고정(펌웨어 버전이 1.7 이상에선 HC-06도 AT 명령으로 마스터 모드 설정 가능, HC-06에선 AT 명령이 4~6개로 제한)
기본 설정 : Slave, 9600,8, N, 1, pin=1234, "HC-06" 시리얼 모니터에서 "line ending 없음"
HC-06 구입하기
[HC-06 ]는 알리익스프레스, 네이버 쇼핑몰, 아마존 등에서 센서를 구입할 수 있다
HC-06 하드웨어 연결
다음과 같이 HC-06 아두이노 센서를 연결할 수 있다.
HC-06 소프트웨어 코딩 #1
간단히 시리얼 통신을 확인할 수 있다.
센서 코드는 다음과 같다.
#include <SoftwareSerial.h>
#define BT_RXD 2
#define BT_TXD 3
SoftwareSerial hc06(BT_RXD, BT_TXD);
void setup(){
Serial.begin(9600);
hc06.begin(9600);
}
void loop(){
if (hc06.available()) {
Serial.write(hc06.read());
}
if (Serial.available()) {
hc06.write(Serial.read());
}
}
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
05 스마트폰과 동작 확인
‘Arduino Bluetooth Controller’ 이름을 가진 어플리케이션을 다운로드 및 설치한다.
어플에서 ‘test’ 순서로 입력후 전송을 해보면 아두이노 시리얼 모니터에서 문자 그대로 전송됨을 확인할 수 있다
HC-06 소프트웨어 코딩 #2 - 아두이노의 값을 스마트폰에서 받기
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
#include <SoftwareSerial.h>
unsigned long previousMillis = 0;
const long interval = 1000;
unsigned int time;
SoftwareSerial hc06(2, 3);
void setup() {
Serial.begin(9600);
hc06.begin(9600);
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
time++;
hc06.print("Time Sec:");
hc06.println(time);
if (time == 60) {
time = 0;
}
}
}
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
'모두의 메이커'에서 업로드한 동영상
makerspace.steamedu123.com
HC-06 소프트웨어 코딩 #3 - 스마트폰에서 아두이노 LED ON/OFF 하기
하드웨어 연결이 완료되면, 아두이노 IDE를 이용해 아두이노 센서 소스코드를 코딩할 수 있다.
센서 코드는 다음과 같다.
#include <SoftwareSerial.h>
#define BT_RXD 2
#define BT_TXD 3
#define PIN_LED 7
unsigned long previousMillis = 0;
const long interval = 1000;
SoftwareSerial hc06(BT_RXD, BT_TXD);
void setup() {
Serial.begin(9600);
hc06.begin(9600);
pinMode(PIN_LED, OUTPUT);
}
void loop() {
receivePacket();
}
void receivePacket() {
char val = hc06.read();
if (hc06.available())
{
Serial.write(hc06.read());
}
if(val == 'a')
{
digitalWrite(PIN_LED, HIGH);
}
if(val == 'b')
{
digitalWrite(PIN_LED, LOW);
}
}
------------------------------------------------------
개발환경 : WINDOWS 10
아두이노 IDE : 1.8.13
------------------------------------------------------
01 연결
- 아두이노와 PC 연결
- 아두이노 IDE 실행
- 메뉴 → 툴 → 보드:아두이노 UNO 확인
- 메뉴 → 스케치 → 확인/컴파일
02 컴파일 확인
스케치>확인/컴파일(CTRL+R) 를 선택해서 컴파일을 진행한다.
03 아두이노 우노 업로드
컴파일이 이상없이 완료되면 스케치>업로드(CTRL+U) 를 선택해서 컴파일 파일을 업로드 한다.
04 동작 확인
다음과 같이 동작을 확인할 수 있다.
마무리
아두이노와 HC-06 센서를 연결하고, 간단한 코딩으로 센서를 쉽게 실습할 수 있다.
모두의 아두이노 환경 센서 책
[모두의 아두이노 환경 센서] 책은 예스24, 인터넷 교보문고, 알라딘, 인터파크도서, 영풍문고, 반디앤루니스 , 도서11번가 등에서 구입할 수 있다. 이 책에서는 PMS7003, GP2Y1010AU0F, PPD42NS, SDS011 미세먼지 센서, DHT22 온습도 센서, MH-Z19B 이산화탄소 센서, ZE08-CH2O 포름알데히드 센서, CCS811 총휘발성유기화합물 TVOC, GDK101 방사선(감마선) 센서, MQ-131 오존(O3) 센서, MQ-7 일산화탄소, MICS-4514 이산화질소 센서, MICS-6814 암모니아 센서, DGS-SO2 아황산가스(SO2) 센서, BME280 기압 센서, GUVA-S12SD 자외선(UV) 센서, MD0550 기류 센서, QS-FS01 풍속 센서(Wind speed) 를 사용한다.
모두의 아두이노 환경 센서
아두이노와 센서로 내 건강을 지킬 수 있다!다양한 환경 센서를 실생활 프로젝트에 응용해보자!시중에 판매되고 있는 간이측정기도 센서로 값을 측정합니다. 똑같은 센서를 아두이노에 연결하
book.naver.com
'모두의 아두이노 > 아두이노 인터페이스' 카테고리의 다른 글
[아두이노] MP3 모듈 제어하기(DFPlayer Mini) (0) | 2021.12.14 |
---|---|
[아두이노] 적외선 IR 리모콘 사용하기 (0) | 2021.12.08 |
댓글0