지난 10 년 동안 많은 무선 기술이 도입되었지만 Bluetooth는 여전히 단거리 무선 통신에서 가장 인기있는 기술입니다. 임베디드 시스템에서 HC-05 / 06 은 가장 널리 사용되는 Bluetooth 모듈입니다. 우리는 이전에 많은 프로젝트에서이 Bluetooth 모듈을 사용하여 가전 제품, 로봇 등을 제어하고 다른 마이크로 컨트롤러와 인터페이스했습니다.
- Bluetooth HC-05와 STM32F103C8 Blue Pill 연결: LED 제어
- ESP8266과 인터페이스하는 Bluetooth 모듈: LED 제어
- HC-05 블루투스 모듈과 AVR 마이크로 컨트롤러 인터페이스
- Arduino 및 Bluetooth를 사용하는 음성 제어 LED
오늘 은 Texas Instruments의 MSP430 Launchpad와 Bluetooth 모듈 HC-05 를 인터페이스 하는 방법을 배웁니다. 이 인터페이스 예제에서는 블루투스 터미널 안드로이드 애플리케이션을 사용하여 스마트 폰에서 MSP430의 온보드 LED를 제어 합니다.
MSP430을 처음 사용하는 경우 Energia IDE 자습서를 사용하여 MSP430G2 시작하기부터 시작할 수 있으며 여기에서 모든 MSP430 자습서를 따를 수 있습니다.
필요한 재료
- TI-MSP430 런치 패드
- HC-05 블루투스 모듈
- Play 스토어의 블루투스 터미널 앱
HC-05 블루투스 모듈
HC-05은 사용하기 쉽습니다 블루투스 모듈을. 직렬 통신 프로토콜 (USART)을 사용하여 장치간에 통신합니다. 이 모듈에는 두 가지 작동 모드가 있습니다. 첫 번째는 명령 모드이고 두 번째는 작동 모드 입니다. 명령 모드는 모듈의 암호 변경, 전송 속도 등과 같은 장치 설정을 구성하는 데 사용됩니다. 작동 모드는 장치간에 데이터를 보내거나받는 데 사용됩니다.
이 자습서에서는 기본 설정을 사용합니다 (기본 암호는 0000 또는 1234, 장치 이름은 HC-05, 기본 전송 속도는 9600). 따라서 우리는 작동 모드에서만 작동합니다.
작동 전압 범위는 4V ~ 6V (일반적으로 + 5V) 이고 작동 전류는 30mA 입니다. 모듈의 범위는 100 미터입니다. HC-05 Bluetooth 모듈에는 총 6 개의 핀이 있으며이 중 EN 및 State 핀은 명령 모드에서 사용됩니다. HC-05 Bluetooth 모듈 의 핀 배치 는 다음과 같습니다.
회로도
HC-05 블루투스 모듈과 TI-MSP340 보드 를 연결하는 회로도 는 아래와 같습니다.
여기에서 HC-05에서 4 개의 연결을 수행했습니다. HC-05의 RxD 및 TxD 핀은 직렬 통신을 위해 MSP430의 P1.1 및 P1.2에 각각 연결됩니다. 그리고 HC-05의 VCC와 GND는 MSP430의 VCC와 GND에 연결됩니다.
Bluetooth 모듈 HC-05 용 MSP430 런치 패드 프로그래밍
MSP430을 사용 하는이 Bluetooth 제어 LED 의 프로그래밍 은 쉽습니다. MSP는 Arduino IDE와 매우 유사한 Energia IDE를 사용하여 프로그래밍되므로 Arduino를 잘 아는 사람들은 이것을 이해하는 데 어려움을 겪지 않을 것입니다. 데모 비디오 가 포함 된 전체 코드 는 자습서 끝에 제공됩니다.
사용중인 빨간색 LED에 대한 매크로를 정의하는 것으로 시작합니다. 이 라인은 단순함을위한 것이므로 RED_LED 대신 LED를 사용할 수 있습니다.
#define LED RED_LED
다음은 setup () 함수입니다. Serial.begin () 함수는 HC-05의 기본 전송 속도이므로 직렬 통신의 전송 속도를 9600으로 설정하는 데 사용됩니다. 또한 pinMode () 함수를 사용하여 디지털 핀을 출력 (이 경우 LED ) 으로 초기화했습니다.
void setup () { Serial.begin (9600); pinMode (LED, OUTPUT); }
에서는 루프 기능, 먼저 데이터가 시리얼 포트로 사용할 수 있는지 확인 Serial.available () 함수. 다음 으로 Serial.read () 함수 의 값을 저장 하는 변수 data_recieved 를 정의 합니다. 이 기능은 블루투스에서 데이터를 수신하는 데 사용됩니다.
다음으로 if-else 문에서 전화에서 전송 된 데이터를 확인합니다. 1이면 digitalWrite (LED, HIGH)를 사용하여 LED를 켭니다 . Serial.write () 함수를 이용하여 LED가 켜졌다는 메시지를 앱에 출력합니다. 2이면 digitalWrite (LED, LOW)를 사용하여 LED를 끕니다 . Serial.write () 함수를 사용하여 LED가 꺼졌다 는 메시지를 앱에 출력합니다.
void loop () { if (Serial.available ()) { char data_received; data_received = Serial.read (); if (data_received == '1') { digitalWrite (LED, HIGH); Serial.write ("LED 켜짐"); } else if (data_received == '2') { digitalWrite (LED, LOW); Serial.write ("LED 꺼짐"); } } }
MSP430을 사용하여 Bluetooth 제어 LED 작동
마지막으로 Energia IDE를 사용하여 코드를 MSP430에 업로드하고 스마트 폰에 Bluetooth 터미널 앱을 다운로드하여 설치합니다. 앱은 아래와 같이 표시됩니다.
이제 스마트 폰에서 Bluetooth를 켜고 사용 가능한 장치 목록에서 HC-06을 선택하여 Bluetooth 모듈과 연결하십시오. 연결하려면 암호 0000 또는 1234를 사용하십시오. 연결 후, 장치 이름이 적힌 창이 열리고 그 아래에 연결됩니다. 이 창은 아래 그림과 같습니다.
이 창에서 Bluetooth 모듈 HC-05를 통해 MSP430에 1과 2를 보내보십시오. 1 번을 보내면 LED가 켜지고 아래 그림과 같이 " LED 켜짐" 이라는 메시지가 전화기에 인쇄 됩니다.
그리고 2를 보내는 LED가 꺼집니다 및 메시지가 있음을 휴대 전화에 인쇄 얻을 것이다 "LED가 OFF 상태" 바로 아래 그림처럼. 그리고 짜잔! Bluetooth를 사용하여 전화기를 통해 LED를 제어했습니다.
이것이 블루투스를 사용하여 LED를 무선으로 제어 하는 방법 입니다. LED를 릴레이 및 모든 가전 제품으로 교체하여 홈 오토메이션 프로젝트로 쉽게 전환 할 수 있습니다.
데모 비디오 가 포함 된 전체 코드 는 다음과 같습니다.