아두이노 블루투스 모듈 HC-06 이름바꾸기
어떤 장치를 제어할 때 컴퓨터나 유선 조종도 좋지만 누구나 손에 들고 다니는 스마트폰의 블루투스 기능을 이용하면 보다 간편하면서 빠르게 제어를 할 수 있을 겁니다. 아두이노 역시 블루투스 모듈을 통해서 제어가 가능한데요. 오늘은 이 녀석의 이름을 설정하는 과정을 알아보겠습니다.
시리얼 통신을 이용해서 장치의 이름을 설정할 건데요. 만약 이걸 설정하지 않으면 다른 여러 개의 장치가 검색이 될 때 이걸 찾는데 한참의 시간이 소요되겠죠? 그런 문제를 미연에 방지하기 위해서 이름을 설정해보겠습니다.
▲ 이게 아두이노 블루투스 모듈 HC-06인데 오늘은 이름을 설정한 후 스마트폰에서 장치를 검색해서 등록하는 과정까지 알아보고요. 다음 글에서는 무선으로 각종 장치를 제어하는 과정과 이걸 제어할 어플을 만드는 과정까지도 하나씩 정리를 해보도록 하죠.
▲ 이 블루투스 모듈 HC-06은 사진처럼 네 개의 핀이 있는데요. VCC, GND, 그리고 TX, RX입니다. 전원을 인가하는 핀들은 구분이 쉬워서 헷갈릴 염려가 없지만 RX와 TX 연결은 약간 주의를 해야 하는데요. 아두이노 보드의 RX, TX와는 서로 반대로 연결을 해줘야 합니다.
▲ 디지털 핀 0번과 1번이 각각 RX와 TX잖아요? 이걸 서로 반대로 연결을 해줘야 하는 거예요. 글로는 조금 헷갈릴 수도 있겠네요. 아래 사진으로 확인해보죠.
▲ 어떻게 연결하는지 눈에 확 들어오죠? 사진처럼 서로 교차해서 연결해주면 되거든요. 그런데 이렇게 연결하는 건 실제로 스마트폰 등과 블루투스 통신을 할 때 연결하는 거구요. 이 글에서처럼 시리얼 통신을 통해서 설정할 때는 저 TX와 RX에는 직접 연결하면 안 됩니다.
그 이유는 컴퓨터와 아두이노가 USB로 연결이 된 상태에서는 저 0번과 1번이 기본적으로 사용이 된다고 합니다. 그래서 시리얼 통신으로 저곳을 통해서 뭔가 세팅하면 충돌이 일어난다고 하네요. 그래서 따로 두 개의 디지털 핀을 할당해서 연결을 해줘야 하는데.... 계속 언급하지만 이 상황은 이 글처럼 시리얼 통신을 통해서 세팅할 때만 해당이 됩니다. 실제로 사용할 때는 위 사진처럼 연결해서 사용하면 돼요.
또 한가지 주의할 점은 실제 블루투스 관련 코딩을 해서 컴퓨터와 아두이노를 연결해서 업로드할 때도 저 핀 중 하나는 빼놓고 업로드를 하셔야 충돌 없이 빠르게 업로드가 됩니다. 그건 나중에 실제 코딩을 해서 업로드할 때 참고해서.... 뭔가 잘 안된다 싶으면 이 말을 기억하셨다가 핀 하나만 잠깐 뽑은 후 파일을 올리고 다시 핀을 꽂으시면 됩니다.
혹시 이 글을 보는 분들 중 무슨 말인지 잘 모르겠어도 아래 사진들을 보면 이해가 될 거예요. 일단 TX와 RX를 디지털 핀 8번과 9번에 각각 연결을 해서 진행을 할게요.
▲ 블루투스의 RX를 초록색 선으로 8번에 연결을 했으니 이 8번이 TX가 되도록 설정해주면 되겠죠? 노란색은 RX가 될 테고요. 이렇게 언급하는 이유는 소스 코드에서 이 핀번호를 순서대로 설정을 해줘야 하기 때문입니다. 스케치 프로그램에서 확인해보죠.
▲ 코드의 내용이 까다로운 건 없죠? 아두이노 우노 보드에서 블루투스 설정을 하기 위해서 SoftwareSerial 헤더 파일을 include 했고요. 객체(My_Bluetooth)를 만들어서 두 개의 숫자를 전달하고 있는데 순서대로 RX와 TX을 의미합니다. 즉, 모듈의 TX는 9번에 RX는 8번에 연결했다는 의미가 되겠죠?
그리고 시리얼 모니터와 모듈이 이용 가능한 상태라면 상대방에서 전달한 값들을 읽어와서 각각 입력을 하도록 하고 있습니다. 이제 파일을 업로드해서 이름과 핀 번호 등을 설정해보겠습니다.
▲ 시리얼 모니터를 열고요. AT+NAMEaaaa1234라고 입력을 해봤습니다. 참고로 이 설정을 할 때는 공백이 하나라도 있으면 안 됩니다. 아무 공백 없이 쭉 입력하시면 되고요.
▲ 제대로 설정이 완료되면 그림처럼 [OKsetname]이라는 메시지가 출력됩니다. 이제 스마트폰에서 블루투스 기능을 켜고 이 모듈을 찾아서 등록을 하겠습니다.
▲ 제가 설정한 이름의 장치가 검색이 되는군요. 선택해서 진행을 하겠습니다.
▲ 등록을 하려면 해당 장치의 PIN 번호를 입력하라고 하면서 0000또는 1234를 입력하라고 해서 먼저 0000부터 해봤는데...
▲ 이런..ㅠ.ㅠ 오류가 나는군요. 1234를 입력해서 다시 해봅니다.
▲ 1234가 맞군요. ㅎㅎ
이렇게 해서 아두이노 블루투스 모듈의 이름을 시리얼 통신으로 변경한 후 스마트폰에 등록하는 과정까지 알아봤고요. 다음 글에서는 이 녀석에게 명령을 보내는 어플을 만들어서 사용해보기로 하고 오늘은 이만 마칠게요. 수고하셨습니다.