일단, 하나씩 풀어보겠습니다.
내용중의 아두이노 소스는 다음과 같이 동작합니다.
1. 9600bps로 USB통신을 합니다.
2. 2, 3pin을 이용해서 SoftwareSerial이 9600bps로 작동합니다.
3. 13pin LED를 제어합니다.
4. 프로그램이 시작되면 USB로 'hello'가 출력됩니다.
5. SoftwareSerial을 통해 데이터를 받으면 USB로 받은 데이터를 전송하고 LED를 ON합니다.
6. USB로 데이터를 전송받으면 SoftwareSerial로 전송하고 LED를 ON합니다.
7. 그외의 경우는 LED를 OFF합니다.
일단, 위의 소스는 PC에서 아두이노를 통해 HC-06과 통신하기 위함이고 대부분 AT Command 설정을 위해 사용됩니다.
내용을 보면 HC-06을 PC에 페어링하여 연결한 것으로 보입니다. (COM7 송신과 COM8 수신 포트)
참고로 페어링 후 COM포트가 2개 생기는 것은 Bluetooth의 Master/Slave 통신 방식이 다르기 떄문입니다.
둘 중의 어느것이 맞는지는 잘 기억이 안나는데, 하나씩 시도해보시면 되는 것이 있을 것입니다.
HC-06의 LED는 다른 블루투스와 연결 상태를 보여줍니다.
깜박거리는 것은 대기중이고 계속 켜지면 연결되었다는 것입니다.
즉, 노트북으로 블루투스 COM포트를 열면 HC-06은 LED가 계속 켜지게됩니다.
COM7으로 포트 열기를 시도했는데, 에러가 난다면 COM8로 시도해보시기 바랍니다.
만약, 둘 다 안되면 HC-06 페어링 자체가 안 된 것입니다.
포트가 열리면 LED가 계속 켜질 것이고, 포트가 닫히면 LED가 깜박거릴 것입니다.
(여기서 말하는 LED는 HC-06 보드에 있는 LED이며 아두이노 보드의 LED가 아닙니다.)
AT명령어는 PC의 시리얼 모니터를 이용해서 HC-06에 설정하는 과정을 의미합니다.
HC-06은 직접 PC에 연결될 수 없기떄문에 아두이노 보드가 중간 역할을 하는 것이고, 그 중간 역할의 코드가 바로 위의 소스입니다.
현재, AT명령어를 사용하고자 한다면 HC-06이 페어링된 COM포트가 아닌 아두이노 USB포트를 선택해야 합니다.