๋ชฉ์ฐจ

1. HC-05, HC-06 ํ…Œ์ŠคํŠธ ๋ฐ ์„ค์ • : https://coding-yoon.tistory.com/206

 

๊ธ€์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‚ด๊ฐ€ ๋Œ€ํ•™์ƒ์ผ ๋•Œ ๋“ค์—ˆ์—ˆ์œผ๋ฉด ์ข‹์•˜์„ ๊ฐ•์˜ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค. ์ด์šฉ์„ฑ ๊ต์ˆ˜๋‹˜๊ป˜์„œ ๊ฐ•์˜ํ•ด ์ฃผ์‹œ๋Š” ๊ฑด๋ฐ ํšŒ๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๋‹ˆ ์ง„์งœ ๋„ˆ๋ฌด ์ข‹์€ ์˜์ƒ์ด๋‹ค.

์•„๋‘์ด๋…ธ UNO ์™€ ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ๊ณผ 0, 1๋ฒˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ 

๊ฐ€๋” ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์•„๋‘์ด๋…ธ์™€ ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ์„ 0, 1๋ฒˆ์— ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์™„์„ฑ ์‹œ ์ปดํ“จํ„ฐ์™€ ๋ถ„๋ฆฌํ–ˆ์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๊ณ , ์•„๋‘์ด๋…ธ์— ์ฝ”๋”ฉ์„ ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์•„๋‘์ด๋…ธ์—์„œ ํ†ต์‹  ๋ฐฉ์‹์€ ๋Œ€ํ‘œ์ ์œผ๋กœ UART, I2C, SPI ๋ฐฉ์‹์ด ์žˆ๋‹ค. ํŠนํžˆ UART๋ฅผ ์กฐ์‹ฌํžˆ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์•„๋‘์ด๋…ธ UNO ๊ฐ™์€ ๊ฒฝ์šฐ UART๋Š” ํ•œ ๊ฐœ์ด๋ฉฐ, ๊ฐ๊ฐ 0๋ฒˆ ํ•€(RX:์ˆ˜์‹ ), 1๋ฒˆ ํ•€(TX:์†ก์‹ )์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์•„๋‘์ด๋…ธ๋Š” ์ด์ƒํ•œ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. UART 0, 1๋ฒˆ ํ•€์ด ์ปดํ“จํ„ฐ์™€ ์—ฐ๊ฒฐ๋˜๋Š” USB ์ผ€์ด๋ธ” ๋ถ€๋ถ„๊ณผ ์—ฐ๊ฒฐ๋ผ ์žˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์•„๋‘์ด๋…ธ์—์„œ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์„ ์•„๋‘์ด๋…ธ serial monitor๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. USB ์ผ€์ด๋ธ”์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ถœ๋ ฅ๋˜์ง€๋งŒ, ์ด USB ์ผ€์ด๋ธ”์€ 0, 1๋ฒˆ๊ณผ ์—ฐ๊ฒฐ๋ผ์žˆ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด ์ปดํ“จํ„ฐ์— ์•„๋‘์ด๋…ธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ˆœ๊ฐ„ ์ด๋ฏธ ์•„๋‘์ด๋…ธ์™€ ์ปดํ“จํ„ฐ๋Š” ์„œ๋กœ serial ํ†ต์‹ ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ์„ 0, 1๋ฒˆ์— ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋‹น์—ฐํžˆ ์ถฉ๋Œ ๋‚œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ„ํ˜น ์šด์ด ์ข‹์•„ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์—†๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์•„๋‘์ด๋…ธ UNO๋Š” UART๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๊ฐ€?

ํ•˜๋‚˜๋ฐ–์— ์—†๋Š” UART๋Š” ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋‘์ด๋…ธ๋Š” softwareserial๋ฅผ ์‚ฌ์šฉํ•ด uart๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช‡ ๊ฐœ๋“  uart๋ฅผ ์„ ์–ธํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ software๋กœ ๊ตฌํ˜„๋ผ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ต‰์žฅํžˆ ๋Š๋ฆฌ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์•„๋‘์ด๋…ธ ์ฝ”๋”ฉ ํ•  ๋•Œ๋Š” softwareserial์„ ์‚ฌ์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†๊ณ , ์™„์„ฑ ํ›„์— ํ•˜๋“œ์›จ์–ด serial์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ด๊ฒƒ์— ๋Œ€ํ•œ ํŒ์€ ๋‚˜์ค‘์— ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•œ๋‹ค.

*์•„๋‘์ด๋…ธ์— ๋Œ€ํ•œ UART๋ฅผ ๋” ์•Œ๊ณ  ์‹ถ์œผ์‹œ๋ฉด ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์•„๋‘์ด๋…ธ UNO ์™€ ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ(HC-05, HC-06) ์—ฐ๊ฒฐ

์•„๋ž˜์™€ ๊ฐ™์ด ์•„๋‘์ด๋…ธ์™€ ๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ–ˆ๊ณ , ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ฝ”๋“œ๋Š” ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๋‹ค. ๋ธ”๋ฃจํˆฌ์Šค๋กœ ์ˆ˜์‹  ๋ฐ›์€ ๊ฐ’์„ serial monitor์— ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. 

#include <SoftwareSerial.h>

#define BT_RXD 3
#define BT_TXD 2
SoftwareSerial bluetooth(BT_RXD, BT_TXD);

void setup() {
  Serial.begin(115200);     // ์ด์ „ ๊ธ€ ์ฐธ๊ณ 
  bluetooth.begin(115200);  // ์ด์ „ ๊ธ€ ์ฐธ๊ณ 
}

void loop() {
  if (bluetooth.available()) {
    Serial.write(bluetooth.read());
  }
  if (Serial.available()) {
    bluetooth.write(Serial.read());
  }
}

 

์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ  ํŽŒ์›จ์–ด์— ์ฝ”๋“œ๋ฅผ ์ž…ํ˜”๋‹ค๋ฉด, Arduino bluetooth controller๋ฅผ ์„ค์น˜ํ•ด์„œ Terminal mode๋กœ ํ…Œ์ŠคํŠธํ•œ๋‹ค. Hello๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด, Arduino IDE์˜ Serial monitor์—์„œ ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

HC-05, HC-06

๋ธ”๋ฃจํˆฌ์Šค ๋ชจ๋“ˆ์ธ HC-05์™€ HC-06์—์„œ LED๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” state์— ๋Œ€ํ•œ LED์ด๋‹ค.

LED ์ ๋ฉธ : ๊ธฐ๊ธฐ Pair ๊ฐ€๋Šฅ ์ƒํƒœ

LED ๊บผ์ง : ์—ฐ๊ฒฐ ์ƒํƒœ

HC-05, HC-06์—๋Š” VCC, GND, TX, RX ์™ธ์—๋„ state, EN ๋‹จ์ž๊ฐ€ ์žˆ๋‹ค. state๋Š” ๋ธ”๋ฃจํˆฌ์Šค ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋‹จ์ž๋กœ ์œ„ LED์— ์—ฐ๊ฒฐ๋ผ์žˆ๋‹ค. EN ๋‹จ์ž๋Š” ๋งŒ์•ฝ ๋ธ”๋ฃจํˆฌ์Šค๊ฐ€ ์—ฐ๊ฒฐ ์ƒํƒœ๋ผ๋ฉด ๊ฐ•์ œ๋กœ ์‹ ํ˜ธ๋ฅผ ์ฃผ์–ด ๋ธ”๋ฃจํˆฌ์Šค ์—ฐ๊ฒฐ์„ ๋Š์„ ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
18์ง„์ˆ˜