본문으로 바로가기

아두이노 AT-09 블루투스 모듈 통신

category 프로그래밍/아두이노 2020. 5. 1. 21:40

사용 부품

1. 아두이노 프로 미니(328, 3.3v 8MHz)

2. USB to TTL 컨버터(UART 모듈 CH340)

3. AT-09 블루투스 모듈(BLE 4.0 CC2540 CC22541)

 

 

연결 방식

아두이노 프로 미니 AT-09 블루투스 모듈
VCC VCC
GNC GND
3번 핀 TX
2번 핀 RX

 

 

사용 코드

#include <SoftwareSerial.h>

int bleRxPin = 2;
int bleTxPin = 3;

SoftwareSerial BTSerial(bleTxPin, bleRxPin);
  
void setup()
{
  Serial.begin(9600); // 시리얼 비트레이트
  BTSerial.begin(9600); // 블루투스 비트레이트
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  byte data; // 블루투스 슬레이브로부터 전송받는 데이터를 저장할 변수
  
  if (BTSerial.available()) { // 슬레이브로부터 전송받은 데이터 처리
    data = BTSerial.read(); 
    if(data == 'o')
    {
      Serial.write("Arduino LED ON\n");
      digitalWrite(LED_BUILTIN, HIGH); // 내장 LED 켜기
    }
    else if (data == 'f')
    {
      Serial.write("Arduino LED OFF\n");
      digitalWrite(LED_BUILTIN, LOW); // 내장 LED 끄기
    }
    else
    {
      Serial.write(data + "\n");
    }
  }
  
  if (Serial.available()) { // 마스터로부터 전송할 데이터 처리
    BTSerial.write(Serial.read());
  }
}

 

 

테스트 결과 (3Demp 앱 사용)

 

3Demp에서 블루투스가 뜸

CC41-A가 AT-09의 블루투스 이름

 

012345

슬레이브에서 'o' 문자열을 전송하면 아두이노 내장 LED가 켜지고

'f' 문자열을 전송하면 LED가 꺼지는 것을 확인