본문 바로가기
만들기/아두이노

아두이노 무선데이터통신 HC-05 블루투스 연결하기 (1)

by 훨훨날아 2022. 4. 14.

아두이노를 이용하여 무선 데이터 통신방법중 블루투스를 사용하기 위한 모듈이다. HC-05와 HC-06은 블루투스 2.0을 사용하여 데이터통신을 하고 HC05는 마스터와 슬레이브 둘다 설정할 수 있으며 HC06은 슬레이브모드만 가능하다. (마스터는 데이터를 보내는 장치이고 슬레이브는 마스터에서 보낸 데이터를 받을수만 있다) 1)

 

하드웨어

 HC-05 모듈에는 6개의 핀이 있는데 이중에서 RXD(데이터수신), TXD(데이터전송), GND(접지), VCC(전원), EN(모드변경)을 사용한다. 모듈의 뒷면에 적힌것처럼 블루투스 모듈은 3.3-6V에서 동작하고 데이터의 송수신은 3.3V로 이루어진다(그렇기 때문에 전선을 아두이노 우노와 연결시 디지털핀에서 나오는 5V를 3.3V로 변경시켜줘야한다)

 

아두이노와 블루투스 모듈은 다음과 같이 연결한다. 아두이노에서 블루투스 모듈 RXD로 들어가는 신호(아두이노프로그래밍에서 TX로 설정하는 핀에서 나오는 신호)는 5V를 3.3V로 변경해줘야하기 때문에 저항을 이용하여 변경할 수도 있고 로직레벨컨버터 등을 이용해서 연결할 수도 있다. 여기에서는 1k옴과 2k옴 저항을 연결하여 전압을 낮춰주었다.(아두이노에서 TX로 설정한 8번 핀이 블루투스의 RXD와 연결되었다)

전압을 낮줘주는 이유는 블루투스 모듈에서 작동전압인 3.3V보다 높을 경우 더 많은 허용되는 전류보다 더 많은 전류가 흘러서 모듈이 고장날 수도 있다. ( 모듈에 따라 그냥 작동하기도 한다. )

아두이노에서 RX로 설정한 핀은 블루투스의 TXD에서 신호를 받는데 블루투스 모듈이 보내는 3.3V는 아두이노에서 인식할 수 있기 때문에 바로 연결해줄 수 있다.

 

https://kwonkyo.tistory.com/355

 

2개의 블루투스를 통신하기 위해 2개의 아두이노에 각각 연결해주면 된다.

 

발생할 수 있는 오류들

같은 HC-05이라고 하더라도 구입하는 곳에 따라 버전이 다를 수도 있고 작동이 안되는 것이 있을 수 있다.

아두이노 우노와 연결할 때랑 아두이노 메가랑 연결할 때랑 연결 기기에 따라서 작동이 안될 수도 있다.

TXD 와 RXD의 방향이 틀려서 통신이 안될 수도 있다.

 

소프트웨어 코딩하기

https://kyoungin90.tistory.com/426

 

아두이노 무선데이터통신 HC-05 블루투스 연결하기 (2)

블루투스 모듈을 사용하기 위해 아두이노에서 데이터를 송수신 할 수 있도록 프로그래밍을 해줘야한다. 소프트웨어 아두이노 핀을 보면 RX,TX로 고정된 핀이 있지만 소프트웨어적으로 핀을 지정

kyoungin90.tistory.com

 

 

참고

1) HC-05 데이터시트

https://components101.com/sites/default/files/component_datasheet/HC-05%20Datasheet.pdf

 

반응형