Arrow Electronic Components Online

Arduino Bluetooth Control: Arduino to Arduino Control Via Bluetooth

무선30 4월 2018
브레드보드에 장착된 Arduino 보드가 점퍼 와이어, 저항기 및 노란색 푸시 버튼과 함께 Bluetooth 모듈에 연결된 클로즈업 보기.
모든 기사 보기

일반 사람들은 "Bluetooth"라는 용어를 들으면 오디오 헤드셋이나 스피커를 떠올릴 수 있습니다. 두 장치 모두 Bluetooth 기술을 사용하지만, 전자 기기 애호가들은 이 단거리 통신 방법을 단순히 좋아하는 팟캐스트를 듣는 것 이상의 용도로 활용할 수 있다는 점을 알고 있습니다.   Bluetooth는 수십 가지의 흥미롭고 혁신적인 방법으로 정보를 전송할 수 있습니다. 저희가 좋아하는 용도 중 하나는 Arduino 기반 로봇이나 다른 장치를 스마트폰과 연결하여 제어하는 것입니다.   다음 Arduino 로봇 프로젝트에서 Bluetooth 기술을 시작하는 방법은 다음과 같습니다.

Arduino 간 블루투스 통신은 어떻게 작동하나요?

휴대전화는 Bluetooth 직렬 신호를 사용하여 하드웨어 연결이 있는 것처럼 Arduino를 완벽하게 제어합니다. Bluetooth Terminal 및 ArduinoRC와 같은 앱은 이 시나리오에서 휴대전화를 인터페이스 장치로 만드는 데 적합하게 작동합니다.   더 나아가, 적절한 설정을 통해 컴퓨터나 휴대전화 없이 두 개의 Arduino 보드 간 통신을 활성화할 수 있습니다. Arduino 간 통신은 올바르게 작동시키기 위해 약간 더 복잡하지만, 제어 가능성을 상당히 확장시킵니다.

1단계: 회로 구성

A wiring diagram showing an Arduino board connected to a breadboard and an HC‑05 Bluetooth module using jumper wires, resistors, and a push button.

이 빌드를 위해서는 상단의 Fritzing 다이어그램에 표시된 것처럼 동일한 브레드보드 두 개를 제작해야 합니다. 각각은 Arduino Nano를 사용하여 HC-05 Bluetooth Module을 통해 데이터를 전송하며, 이를 통해 상대 브레드보드가 데이터를 수신하고 온보드 LED를 깜빡이며 응답할 수 있습니다. 컴퓨터의 시리얼 인터페이스를 통해 한 Arduino에서 다른 Arduino로 신호를 보낼 수 있지만 버튼 입력은 문자를 무선으로 전송할 수 있는 바로가기 키를 제공합니다.   회로를 만들기 위해 필요한 부품은 다음과 같습니다:

  • (2) Arduino Nano
  • (2) 브레드보드
  • (2) HC-05 Bluetooth 모듈
  • (2) 푸시 버튼
  • (2) 1k 저항
  • (2) 2k 저항
  • (2) 20k 저항
  • 점퍼 와이어
  • (2) 미니 USB 케이블
참고: 많은 부품을 선호에 따라 대체할 수 있습니다. 예를 들어, Arduino Uno는 Nano만큼 잘 작동합니다. 또한 회로 다이어그램에서 HC-05의 RX 핀에 전압 분배기를 사용한 것을 확인할 수 있습니다. HC-05 모듈은 3.3V에서 작동하므로 해당 핀에 과도한 전압을 제공하지 않기 위해 이와 같은 선택을 했습니다.

Arduino Bluetooth 모듈 페어링

Two computer windows side by side showing Arduino serial monitor output, with text indicating the device is ready and displaying test messages over a COM port.

그림 2: Arduino IDE의 두 번째 인스턴스를 열면 두 개의 별도 보드에서 동시에 작업할 수 있습니다.   회로 설정을 완료한 후, 두 Bluetooth 모듈이 서로 통신할 수 있도록 설정해야 합니다. 다음은 단계별 과정입니다:

  1. 여기에서 제공되는 HC-05_AT_MODE_01 코드를 Arduino 보드 하나로 전송합니다. 그런 다음 HC-05 Bluetooth 모듈을 AT 모드로 설정하려면 보드의 버튼을 누른 상태로 모듈에 전원을 공급합니다.
  2. 모듈이 부팅되면 온보드 LED가 천천히 점멸합니다. Arduino IDE에서 시리얼 모니터를 열고 “AT”를 입력합니다. 모든 것이 올바르게 작동한다면 터미널에서 “OK” 응답을 받을 수 있습니다.
  3. HC-05를 마스터로 설정하기 위해 “AT+ROLE=1”을 입력하고, 어떤 주소(모듈)와도 페어링할 수 있도록 하기 위해 “AT+CMODE=1”을 입력합니다.
  4. 디바이스를 리셋하면 HC-05가 이제 마스터로 작동하며, 일반적으로 슬레이브 모듈로 설정된 다른 HC-05와 페어링됩니다.
마스터를 슬레이브로 변경하려면 위에서 설명한 대로 시리얼 인터페이스를 연결하고 AT+ROLE=0을 입력합니다. 또한 HC-06 모듈을 사용할 수도 있으며, 이 모듈은 슬레이브 모드로만 작동합니다. 자세한 정보는 1단계에서 제공된 코드를 참고하십시오. 두 모듈을 결합하려면 이 고급 지침을 사용하여 결합할 수도 있습니다.   두 개의 Arduino 보드로 작업할 때에는 Arduino IDE의 바로가기를 사용해 두 인스턴스를 로드하는 것이 매우 유용합니다(file/new 또는 file/open을 사용하지 않음). 이렇게 하면 프로그램을 로드하고 시리얼 포트를 동시에 모니터링할 수 있으므로 프로그래밍 및 문제 해결이 훨씬 쉬워집니다.

Arduino Bluetooth 모듈 연결

Two breadboards each containing an Arduino board connected with jumper wires and components, with USB cables attached and indicator LEDs lit on one board.

그림 3: 버튼을 누르면 다른 Arduino Nano의 불빛이 켜집니다. 프로그래밍 중 각 포트를 구분하기 위해 포트 사용 여부를 나타내는 포스트잇이 부착되었습니다.   HC-05/Arduino를 연결한 후, 여기에서 제공되는 소프트웨어를 각 Arduino에 로드하고 다음 단계를 따르십시오:

  1. 각 IDE 인스턴스에서 시리얼 모니터를 열고, "O"와 "F"를 입력하는 실험을 진행하십시오 (대소문자 구분).
  2. 반대쪽 Arduino 보드가 반응하여 내장 LED를 켜고 끄는 모습을 볼 수 있습니다. 버튼을 누르면 "B" 문자가 반대쪽 보드로 전송되며 LED가 잠시 깜빡입니다.
  3. 시리얼 모니터에서 "B"를 입력하여 이 기능을 테스트할 수도 있습니다.
  4. 모든 기능이 올바르게 작동하는 것을 확인한 후, 두 개의 어셈블리를 분리한 뒤 각각 방의 반대쪽에 설치하여 불빛을 깜빡일 수 있습니다.
이제 두 Arduino 보드를 연결했으니 창의력을 발휘할 시간입니다. 블루투스를 통해 휴대폰으로 로봇을 제어했지만 더 실체적인 키패드를 원할 수도 있습니다. 혹은 원격으로 작동하는 맞춤형 컴퓨터 인터페이스를 설계하고 싶을 수도 있습니다. 블루투스 기술은 로봇 프로젝트에 새로운 휴대성을 더할 수 있습니다.

기사 태그

글로벌
로봇공학
자율 기계
자동화
무선
Arduino S.r.l.

관련 콘텐츠