#include <SoftwareSerial.h> #define BT_RXD 4 #define BT_TXD 5 #define LED 2 SoftwareSerial HM10(BT_RXD, BT_TXD); // RX핀(7번)은 HM10의 TX에 연결 // TX핀(8번)은 HM10의 RX에 연결 void setup(){ Serial.begin(9600); pinMode(LED, OUTPUT); // LED를 출력으로 설정 HM10.begin(9600); } void loop(){ if (HM10.available()){ char h =(char)HM10.read(); Serial.print(h); if(h == 'o') // 알파벳 소문자 'o'를 입력하면 digitalWrite(LED, HIGH); // LED가 점등된다 if(h == 'f') // 알파벳 소문자 'f'를 입력하면 digitalWrite(LED, LOW); // LED가 소등된다 } if(Serial.available()){ char h = (char)Serial.read(); HM10.print(h); } } 스마트폰과 HM-10 연동하기 1 가장 먼저 할 일이 블루투스 4.0 BLE HM-10 모듈에 대해 아는 일이다. 블루투스 4.0 BLE HM-10 모듈 이미지를 참고하고 자세한 작동법은 데이터북을 참고하거나 잘 설명해 놓은 링크를 참고한다. HM-10 모듈에 대한 자세한 설명 링크 - [블루투스4.0BLE]HM-10 Module 사용법(AT 커맨드 포함) http://blog.naver.com/xisaturn/220712028679 연결도를 참고한다. 여기서 HM-10의 RX, TX 핀은 소프트웨어 씨리얼을 사용하므로 아두이노의 7번과 8번 핀을 연결한다. 소스코드에 번호가 나오니 참고한다. 코딩 예제 : 아래 코드를 아두이노 스케치에 입력후 업로드 합니다.
연결 상태를 확인하고 AT 명령어를 사용하여 HM-10 정보를 확인하고 이름 설정 - ‘코딩 예제’를 아두이노에 업로드까지 마친 후 시리얼 모니터를 띄워 다음과 같은 AT명령어를 입력하면 HM-10과 아두이노가 정상적으로 연결되었는지 확인할 수 있다. 또한 AT명령어로 HM-10의 이름을 변경할 수 있으며, 스마트폰과 페어링 할 때 유용하도록 이름을 변경한다. AT : 응답가능여부확인 결과 : OK AT_NAME? 이름 조회하기 결과 : OK+NAME:HMSoft AT+NAMExxx : 이름 변경 결과 : OK+Set: xxxx AT+ADDR? : 블루투스 모듈 주소 읽어오기 결과 : OK+ADDR:XXXXXXXXXXXX 비밀번호(pin code) 확인 AT+PASS? 결과: OK+Get:000000 비밀번호(pin code) 설정 AT+PASSxxxxxx ⇒ OK+Set:xxxxxx [Para] is Pin Code, 000000~999999 Default: 000000 반드시 하나 더 해주어야 한다. 스마트 폰으로 페어링을 하면 등록거절 되는데 이때 "HM-10 모듈에 시리얼로 연결해서 AT+TYPE3" 라고 입력해서 세팅하면 연결 가능해 집니다. 디바이스를 찾아서 페이링 PIN 넘어 초기에 "000000" (0이 6개) 넣어주면 페어링 완료! AT+TYPE3 전송 결과 : OK+Set:3 ---> 이렇게 해도 페어링이 안되거나 스마트폰에서 블루투스 장치에 등록을 해도 앱에서 안보이는 분???? 전원을 껏다가 다시 켠다. 리셋 필요. 모듈 Bond 모드 확인/설정 - AT+TYPE? ⇒OK+Get:[para] None - AT+TYPE[para] ⇒OK+Set:[para] [para]: 0~3 0: Not need PIN Code 1: Pair not need PIN 2: Pair with PIN 3: Pair and bond Default: 0 ※ 주의 사항 : 시리얼 모니터로 'AT' 를 입력하면 결과값으로 'OK'를 리턴 해야 하지만 제조사마다 옵션 설정이 다르기 때문에 이를 설정해주지 않으면 'OK'를 리턴받지 못하는 경우도 있다. 따라서 옵션 설정에 유의하여 사용하셔야 합니다. 여기서는 'Both NL & CR'로 설정합니다. 시리얼 모니터 결과는 아래 씨리얼 모니터 결과 화면을 참고한다. 글 참고 사이트 1. 아두이노 블루투스 4.0 BLE HM-10 모듈 / Arduino Bluetooth 4.0 BLE Module https://m.blog.naver.com/eduino/220903237343 2. HM-10 블루투스 테스트(2) https://hnydiy.tistory.com/4 3. [블루투스 4.0 Hm-10 cc2541] 아두이노 우노 R3 연결 http://blog.whoborn.net/%EB%B8%94%EB%A3%A8%ED%88%AC%EC%8A%A4-4-0-hm-10-cc2541-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-%EC%9A%B0%EB%85%B8-r3-%EC%97%B0%EA%B2%B0/ 4. [블루투스4.0BLE]HM-10 Module 사용법(AT 커맨드 포함) http://blog.naver.com/xisaturn/220712028679 참고로 윗 부분의 코드를 아래 소스코드와 같이 수정하여 커스터마이징하여 사용할 수 있도록 수정하여 사용하면 된다. 참고하세요.
|