Arduino를 사용하여 프로젝트를 수행하는 동안 프로그램을 업로드하려면 항상 Arduino를 PC에 연결해야합니다. 그러나 때로는 로봇 프로젝트 인 것처럼 항상 보드를 PC와 연결하는 것이 매우 불편합니다. 그러면 로봇을 다시 프로그래밍하기 위해 항상 로봇을 실험실 근처로 옮겨야합니다. 이 문제는 Arduino를 무선으로 프로그래밍하여 해결할 수 있습니다. 그래서 여기서 우리는 Bluetooth 모듈 HC-05를 사용하여 Arduino를 무선 으로 프로그래밍 하는 회로를 구축하고 있습니다.
사용 된 구성 요소:
- Arduino UNO
- HC05 블루투스 모듈
- Perfboard
- 수, 암 헤더
- 점퍼
- 1K, 2.2K 저항기
- 0.1uF 커패시터
- 9V 배터리
HC-05 블루투스 모듈
HC05는 기본적으로 SPP (Serial Port Protocol)를 지원하는 Bluetooth 모듈이며 많은 무선 애플리케이션에서 널리 사용됩니다. HC05는 마스터 모드와 슬레이브 모드 사이를 전환하는 데 사용할 수 있으며 여유 공간에서 20-30m의 전송 거리를 가지고 있습니다. 우리는 이전에 HC-05 및 기타 Bluetooth 모듈을 사용하여 많은 Bluetooth 프로젝트를 만들었습니다.
핀 아웃:
핀 설명:
- + 5V: + 5V 로 주어질 수있는 HC05의 전원 공급 장치 핀.
- GND: 접지 핀.
- TX: UART에서 송신기 핀으로 사용됩니다.
- RX: UART에서 수신기 핀으로 사용됩니다.
- EN / KEY: HC05의 핀을 활성화합니다. 플로팅 상태로 두거나 3.3V 전원에 연결하여 HC05를 활성화 할 수 있습니다. 접지에 연결되면 모듈이 비활성화됩니다. AT 명령 모드에서 HC05를 만드는데도 사용됩니다.
- STATE: 어떤 장치에도 연결되지 않은 경우 LOW, 어떤 장치에 연결될 경우 HIGH 인 상태 핀.
AT 명령을위한 Arduino UNO 프로그래밍:
먼저 직렬 모니터를 통해 AT 명령에 응답하도록 Arduino 를 프로그래밍 해야합니다. 프로그램은 매우 간단하며이 튜토리얼의 끝에 첨부되어 있습니다. 여기에서는 프로그램을 한 줄씩 설명합니다.
먼저 소프트웨어 직렬 라이브러리 용 헤더 파일을 포함하고 Arduino의 소프트웨어 직렬 용 송신기 및 수신기 핀 (이 경우 핀 3 및 2)을 정의합니다.
#포함
다음으로 설정 기능에서 하드웨어 직렬 포트와 소프트웨어 직렬 포트 모두에 대한 전송 속도를 정의합니다. 여기서 우리는 그것들을 각각 9600과 38400으로 취했습니다.
void setup () {Serial.begin (9600); Serial.println ("AT 명령 입력:"); HC05.begin (38400); }
에서 루프 기능, 어떤 명령이 HC05에 주어질 때 두 conditions- 하나가있다 그것은 아두 이노 시리얼 모니터에 기록합니다. 또 다른 조건은 Arduino 직렬 모니터에서 명령이 주어지고 HC05로 전송되는 경우입니다.
void loop () {if (HC05.available ()) Serial.write (HC05.read ()); if (Serial.available ()) HC05.write (Serial.read ()); }
AT 명령 모드에서 HC05 구성:
먼저 아래 회로도에 따라 구성 요소를 연결하십시오. 그런 다음 아래 단계에 따라 모듈을 AT 명령 모드로 설정하십시오.
HC05의 AT 모드로 들어가려면 KEY 버튼을 사용해야합니다. 먼저 모듈 LED가 2 초 간격으로 깜박이기 시작할 때까지 키 버튼을 길게 누릅니다. LED가 2 초 간격으로 깜박이기 시작하면 모듈이 명령 모드에 있음을 의미합니다. 이제 Arduino IDE의 직렬 모니터를 사용하여 AT 명령을 제공 할 수 있습니다.
모듈에 키 버튼이없는 경우 모듈의 KEY / EN 핀을 3.3V 핀에 연결하여 명령 모드에서 모듈을 전환 할 수 있습니다.
무선 프로그래밍을 위해 HC05를 구성하는 AT 명령:
스케치가 Arudino에 업로드되면 9600 전송 속도로 직렬 모니터를 열고 CR + NL을 선택하면 HC-05에 AT 명령을 보낼 수 있습니다.
위의 단계를 성공적으로 완료 한 후 이제 적절한 AT 명령을 보내 HC05를 구성합니다. Arduino 직렬 모니터에서 다음 AT 명령을 하나씩 보내면 OK 응답이 표시됩니다. 그렇지 않으면 연결을 다시 확인하고 다시 시도하십시오.
에서
HC05의 기본 테스트 명령입니다. AT를 전송할 때마다 OK를 반환해야합니다.
AT + ORGL
이 명령은 HC05의 기본 설정을 복원합니다. 기본 설정은 슬레이브 모드, 암호 = 1234 및 전송 속도 = 38400 비트 / 초입니다.
AT + NAME = CIRCUIT DIGEST
이 명령은 HC05 모듈의 이름을 설정합니다. 제 경우에는 "CIRCUIT DIGEST"라는 이름을 지정했습니다.
AT + ROLE = 0
이 명령은 HC05를 슬레이브 모드로 구성합니다.
AT + 극성 = 1,0
이 명령은 PIO LED 드라이브 구성을 설정합니다.
AT + UART = 115200,0,0
이것은 0 정지 비트 및 0 패리티를 사용하여 전송 속도를 115200으로 변경합니다.
AT + INIT
그러면 모듈의 SPP 프로필이 초기화됩니다.
회로 연결
Arduino에 AT 명령을 성공적으로 보낸 후 모든 연결을 제거하고 아래 회로도에 따라 다시 빌드하십시오.
제 경우에는 perfboard에 납땜하여 Arduino 핀에 쉽게 장착 할 수 있고 Arduino Shield로 작동 할 수 있습니다. 납땜이 완료되면 다음과 같이 표시됩니다.
그런 다음 아래 이미지와 같이 Arduino 에이 shied를 놓고 Arduino를 9V 배터리 전원 공급 장치에 연결하십시오.
그 후 PC에서 Bluetooth 설정을 검색 하고 Bluetooth 장치 추가를 클릭하십시오 . 이렇게하면 새 장치를 검색하고 결과적으로 Bluetooth 장치를 얻을 수 있습니다. 장치를 선택하고 다음을 클릭 합니다. " 장치 페어링 코드 입력" 옵션을 클릭합니다. 페어링 코드를 묻는 메시지가 표시되면 비밀번호로“1234”를 입력합니다. 그러면 성공적인 장치 페어링에 대한 승인을 받게됩니다.
장치를 성공적으로 페어링 한 후 다음 작업은 HC05 Bluetooth 모듈의 COM 포트를 찾는 것입니다. 이를 위해 Bluetooth 설정 변경을 검색 한 다음 COM 포트 탭을 클릭합니다. 이렇게하면 두 개의 COM 포트가 표시됩니다. 하나는 수 신용이고 다른 하나는 발 신용입니다. 프로그램을 업로드하는 동안 더 필요하므로 나가는 COM 포트 번호를 기록해야합니다.
마지막 단계는이 Arduino 무선 프로그래밍 이 완벽하게 작동하는지 여부를 확인하기 위해 샘플 프로그램을 Arduino에 무선으로 업로드하는 것 입니다. 이를 위해 Arduino IDE 예제 프로그램에서 Arduino 프로그램을 선택하십시오. 여기서는 LED 깜박임 프로그램을 선택했습니다. 보드에서 Arduino UNO를 선택한 다음 위와 같이 Port 에서 올바른 COM 포트를 선택하십시오. 그 후 업로드 버튼을 클릭하면 Arduino 보드에 성공적으로 업로드됩니다.
아래 데모 비디오를 확인하고 무선 및 간편한 프로그래밍을 즐기십시오 !!!