반응형

아두이노 우노에 HC-05 블루투스 모듈 연결 및  PC와 페어링하는 방법을 다룹니다. 그리고나서 연결 테스트를 위해 PC에서 아두이노에 연결된 LED를 제어해봅니다.


HC-06 블루투스 모듈을 사용해도 똑같이 동작합니다.


이미지 출처 - http://www.martyncurrey.com/hc-05-fc-114-and-hc-06-fc-114-first-look/




1. Arduino Uno와 HC-05 Bluetooth 모듈 연결 방법


2. PC와 HC-05  Bluetooth 모듈 페어링하기


3. PC와 HC-05 Bluetooth 모듈을 연결한 Arduino Uno 간 통신 테스트




마지막 업데이트 - 2018. 8. 30




1. Arduino Uno와 HC-05 Bluetooth 모듈 연결 방법

Arduino Uno와 HC-05 Bluetooth 모듈을 다음처럼 연결해줍니다.



Arduino Uno D3  → HC-05 Bluetooth 모듈 RXD

Arduino Uno D2  → HC-05 Bluetooth 모듈 TXD

Arduino Uno GND  → HC-05 Bluetooth 모듈 GND

Arduino Uno 5V  → HC-05 Bluetooth 모듈 VCC




암수 점퍼케이블을  이용하면 편합니다.


20170605_230306_HDR.jpg




2. PC와 HC-05  Bluetooth 모듈 페어링하기


1. 아두이노 우노에 다음 소스 코드를 업로드합니다.


#include <SoftwareSerial.h>

SoftwareSerial softwareSerial(2, 3); // RX, TX


void printUsage(){
 softwareSerial.println("사용가능한 명령어\n");
 softwareSerial.println("1 : LED 켜기");
 softwareSerial.println("2 : LED 끄기");
 softwareSerial.println("S : LED 상태정보\n\n");
}

void setup() {

 softwareSerial.begin(9600);
 pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {

 if (softwareSerial.available() > 0 ) {


   char command = softwareSerial.read();
   int ledStatus = digitalRead(LED_BUILTIN);

   switch (command){

     case '1':
     
       if (ledStatus == LOW){
         digitalWrite(LED_BUILTIN, HIGH);
         softwareSerial.println("LED가 켜졌습니다.\n");
       }
       else{
         softwareSerial.println("이미 LED가 켜져있습니다.\n");
       }
       break;

     case '2':
     
       if (ledStatus == HIGH){
         digitalWrite(LED_BUILTIN, LOW);
         softwareSerial.println("LED가 꺼졌습니다.\n");
       }
       else{
         softwareSerial.println("이미 LED가 꺼져있습니다.\n");
       }
       break;

     case 'S':
     case 's':
         
       if (ledStatus == LOW){
         softwareSerial.println("LED 상태: 꺼짐\n");
       }
       else {
         softwareSerial.println("LED 상태: 켜짐\n");
       }
       break;
     
    default:
    
         softwareSerial.println( (char)command, HEX);
         printUsage();

       break;
     
   }   
 }
}




2. 아두이노에 HC-05 블루투스 모듈을 연결하고 나서 진행해야 합니다.

윈도우의 작업 표시줄 오른쪽 끝에 있는 블루투스 아이콘을 더블클릭합니다.





3. 블루투스 설정 창에서 Bluetooth 또는 기타 디바이스 추가를 클릭합니다.





4. Bluetooth를 선택합니다.





5. 검색된 HC-05를 선택합니다.





6. PIN 번호로 1234를 입력하고 연결을 클릭합니다.




7. 연결됨으로 표시되면 완료를 클릭합니다.




블루투스 설정 창페어링됨으로 표시됩니다.





8. 포트 번호를 확인하기 위해서 블루투스 설정 창에서 추가 Bluetooth 옵션을 선택합니다.





COM 포트 탭에서 확인할 수 있습니다.

PC에서 접속을 시작하므로  터미널에서 방향이 송신인 COM7을 사용하면 됩니다.





3. PC와 HC-05 Bluetooth 모듈을 연결한 Arduino Uno 간 통신 테스트

PC에서 시리얼을 지원하는 터미널 프로그램을 실행합니다.

본 포스팅에서는 MobaXterm( https://mobaxterm.mobatek.net/ )을 사용했습니다.



툴바에서 Session을 선택합니다.



연결할 타입으로 Serial을 선택합니다.




Serial port 항목에서 앞에서 확인한 송신용 포트인 COM7을 선택하고  OK 버튼을 클릭합니다.





테스트 결과입니다. 아두이노에 연결되어 있는 LED를 제어할 수 있고 상태값도 읽어올 수도 있습니다.

참고로 HC-05에 전원이 공급되면 빨간색 LED가 빠르게 깜박입니다.  통신이 시작되면 2초정도로 깜박이는 속도가 느려집니다.




1을 누르면 LED가 켜지고 2를 누르면 LED가 꺼집니다. s를 누르면 현재 LED 상태를 출력해줍니다.

그외 키를 누르면 사용가능한 명령을 알려줍니다.









반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts