본문 바로가기
Programming/Arduino

Arduino + HC-06(블루투스) 통신 / AT명령어, [문자(Char),문자열(String)]

by 크레노트 2020. 1. 30.
반응형

안녕하세요.

 

오늘은 아두이노와 HC-06을 사용하여 블루투스 통신을 해보겠습니다.

 

 

[핀 설정]

Arduino HC-06
5V VCC
GND GND
D8 TX
D9 RX

[주의 사항 필독]

TX, RX 연결을 할 때 아두이노와 블루투스 모듈을 반대로 연결합니다.

아두이노의 RX핀은 블루투스 모듈의 TX 연결을 해야하고 
반대로 아두이노의 TX핀은 블루투스 모듈의 RX 연결을 하면 되겠습니다.

처음에.. 이것 때문에 30분 삽질 했습니다. 알고는 있었지만 실수를 하게 되더군요..

 

[소스 코드]

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
#include <SoftwareSerial.h>
 
SoftwareSerial blue_Serial(89); // 8 - TX, 9 - RX
void setup()
{
  Serial.begin(9600);
  blue_Serial.begin(9600);
}
void loop()
{
  //문자를 받고 싶을 때.
  char read_data = blue_Serial.read();
 
  if (blue_Serial.available())
  {
    Serial.write(blue_Serial.read());
  }  
  
  //문자열을 받고 싶을 때.
  String read_str = blue_Serial.readStringUntil('\n');
  
   if (blue_Serial.available())
  {
   Serial.write(blue_Serial.readStringUntil('\n'));
  }  
}
cs

 

이렇게 하시고 난 다음 시리얼 창 열어서 AT <<명령어를 치시면 OK라고 뜬다면 정상적으로 된겁니다.

 

시리얼 모니터 확인

 

 

[어플 통신]

어플이랑 통신을 하고 싶으시면 요즘 블루투스 통신 테스트 할 수 있는 어플들이 엄청 많이 나와 있습니다

 

하나를 고르셔서 통신 하시면 됩니다. 저는 Arduino Bluetooth Controller 를 사용 하였습니다.

 

[AT 명령어]

 

초 기 값 :Slave, 9600 baud rate, N, 8, 1. Pincode 1234

 

1. 연결 테스트: 전송 : AT 수신 : OK

 

2. 보드레이트 변경: 전송 : AT+BAUD1 수신 : OK1200

                                  BAUD1 =1200

                                  BAUD2 =2400

                                  BAUD3 =4800

                                  BAUD4 =9600

                                  BAUD5 =19200

                                  BAUD6 =38400

                                  BAUD7 =57600

                                  BAUD8 =115200

     

3. 블루투스 이름 변경: 전송 : AT+NAMEdevicename / 수신 : OKname (devicename is the name you want the device to be , and it will be searched with this name) Name setting can be save even power down.

 

4. PIN변경: 전송 : AT+PINxxxx  / 수신: OKsetpin (xxxx is the pin code you set) Pin code can be save even power down

 

감사합니다.

반응형

댓글