- Wymagane materiały
- Moduł Bluetooth HC-05
- Schemat obwodu
- Programowanie Launchpad MSP430 dla modułu Bluetooth HC-05
- Działanie diody LED sterowanej przez Bluetooth przy użyciu MSP430
Chociaż w ostatniej dekadzie wprowadzono wiele technologii bezprzewodowych, Bluetooth jest nadal najpopularniejszą technologią komunikacji bezprzewodowej krótkiego zasięgu. W systemach wbudowanych HC-05/06 jest najpopularniejszym modułem Bluetooth. Wcześniej używaliśmy tego modułu Bluetooth w wielu projektach do sterowania urządzeniami domowymi, robotami itp. I połączyliśmy go z innym mikrokontrolerem:
- Połączenie Bluetooth HC-05 z STM32F103C8 Blue Pill: Kontrolująca dioda LED
- Interfejs modułu Bluetooth z ESP8266: sterowanie diodą LED
- Połączenie modułu Bluetooth HC-05 z mikrokontrolerem AVR
- Diody LED sterowane głosem za pomocą Arduino i Bluetooth
Dziś nauczymy się łączyć moduł Bluetooth HC-05 z MSP430 Launchpad firmy Texas Instruments. W tym przykładzie interfejsu będziemy sterować diodą LED na pokładzie MSP430 ze smartfona za pomocą aplikacji Android Terminal Bluetooth.
Jeśli jesteś nowy w MSP430, możesz zacząć od Rozpoczęcia pracy z MSP430G2 przy użyciu samouczka Energia IDE i możesz śledzić wszystkie samouczki MSP430 tutaj.
Wymagane materiały
- Launchpad TI-MSP430
- Moduł Bluetooth HC-05
- Aplikacja terminala Bluetooth ze Sklepu Play
Moduł Bluetooth HC-05
HC-05 jest łatwy w użyciu moduł Bluetooth. Wykorzystuje protokół komunikacji szeregowej (USART) do komunikacji między urządzeniami. Moduł ten ma dwa tryby pracy - pierwszy to tryb poleceń, a drugi to tryb pracy. Tryb poleceń służy do konfiguracji ustawień urządzenia, takich jak zmiana hasła, szybkość transmisji itp. Modułu. Tryb pracy służy do wysyłania lub odbierania danych między urządzeniami.
W tym samouczku będziemy używać ustawień domyślnych (domyślne hasło to 0000 lub 1234, nazwa urządzenia to HC-05, a domyślna szybkość transmisji to 9600). Dlatego będziemy pracować tylko w trybie operacyjnym.
Zakres napięcia roboczego wynosi od 4 V do 6 V (zwykle + 5 V), a prąd roboczy wynosi 30 mA. Zasięg modułu to 100 metrów. Łącznie jest 6 pinów w module HC-05 Bluetooth, z których piny EN i State są używane w trybie poleceń. Wyprowadzeń HC-05 moduł Bluetooth przedstawiono poniżej:
Schemat obwodu
Schemat obwodu połączenia modułu HC-05 Bluetooth z płytką TI-MSP340 pokazano poniżej.
Tutaj zrobiliśmy 4 połączenia z HC-05. Piny RxD i TxD HC-05 są podłączone odpowiednio do P1.1 i P1.2 MSP430 w celu komunikacji szeregowej. A VCC i GND HC-05 są podłączone do VCC i GND MSP430.
Programowanie Launchpad MSP430 dla modułu Bluetooth HC-05
Programowanie tej kontrolowanej przez Bluetooth diody LED za pomocą MSP430 jest łatwe. MSP będzie programowany przy użyciu Energia IDE, które jest bardzo podobne do Arduino IDE, więc osoby znające Arduino nie będą miały trudności ze zrozumieniem tego. Kompletny kod z filmem demonstracyjnym znajduje się na końcu samouczka.
Zaczynamy od zdefiniowania makra dla używanej przez nas czerwonej diody LED. Ta linia jest tylko ze względu na prostotę, dzięki czemu możemy użyć diody LED zamiast RED_LED
# zdefiniować RED_LED LED
Dalej jest nasza funkcja setup (), funkcja Serial.begin () służy do ustawiania szybkości transmisji dla komunikacji szeregowej na 9600, ponieważ jest to domyślna prędkość transmisji dla HC-05. Użyliśmy również funkcji pinMode () do zainicjowania cyfrowego pinu jako wyjścia (w tym przypadku jest to dioda LED).
void setup () { Serial.begin (9600); pinMode (LED, WYJŚCIE); }
W funkcji pętli najpierw sprawdzamy, czy dane są dostępne na porcie szeregowym za pomocą funkcji Serial.available () . Następnie zdefiniuj zmienną data_recieved, która przechowuje wartość funkcji Serial.read () . Ta funkcja służy do odbioru danych z Bluetooth.
Następnie w oświadczeniu if-else sprawdzamy dane przesłane z telefonu. Jeśli jest 1, włącz diodę LED za pomocą digitalWrite (LED, HIGH); i wydrukuj w aplikacji wiadomość, że dioda LED jest włączona za pomocą funkcji Serial.write () . A jeśli jest 2, wyłącz diodę LED za pomocą digitalWrite (LED, LOW); i wydrukuj w aplikacji komunikat, że dioda LED jest WYŁĄCZONA, używając funkcji Serial.write () .
void loop () { if (Serial.available ()) { char data_received; data_received = Serial.read (); if (data_received == '1') { digitalWrite (LED, HIGH); Serial.write ("Dioda włączona"); } else if (data_received == '2') { digitalWrite (LED, LOW); Serial.write ("Dioda LED wyłączona"); } } }
Działanie diody LED sterowanej przez Bluetooth przy użyciu MSP430
Na koniec prześlij kod do MSP430 za pomocą Energia IDE i pobierz i zainstaluj aplikację Bluetooth Terminal na swoim smartfonie. Aplikacja będzie wyglądać tak, jak pokazano poniżej:
Teraz włącz Bluetooth w swoim smartfonie i połącz się z modułem Bluetooth wybierając HC-06 z listy dostępnych urządzeń. Użyj hasła 0000 lub 1234, aby się połączyć. Po nawiązaniu połączenia otworzy się okno z nazwą urządzenia i połączeniem, zapisane poniżej. To okno będzie wyglądać jak na poniższym rysunku:
W tym oknie spróbuj wysłać 1 i 2 do MSP430 przez moduł Bluetooth HC-05. Wysłanie 1 włączy diodę LED, a na telefonie zostanie wydrukowana wiadomość, że „ dioda LED jest włączona”, jak na poniższym rysunku:
I wysyłanie 2 zgaśnie LED i wiadomość zostanie wydrukowany na telefonie, że „LED wyłączony”, tak jak na rysunku poniżej. I voila! Właśnie sterowałeś diodą LED za pomocą telefonu za pomocą Bluetooth.
W ten sposób można bezprzewodowo sterować diodą LED za pomocą Bluetooth. Można go łatwo przekształcić w projekt automatyki domowej, zastępując diodę LED przekaźnikiem i dowolnym urządzeniem gospodarstwa domowego.
Pełny kod z filmem demonstracyjnym znajduje się poniżej.