- Erforderliche Materialien
- HC-05 Bluetooth-Modul
- Schaltplan
- Programmierung des MSP430 Launchpad für das Bluetooth-Modul HC-05
- Funktionieren der Bluetooth-gesteuerten LED mit MSP430
Während in den letzten zehn Jahren viele drahtlose Technologien eingeführt wurden, ist Bluetooth immer noch die beliebteste Technologie für die drahtlose Kommunikation über kurze Entfernungen. In eingebetteten Systemen ist HC-05/06 das beliebteste Bluetooth-Modul. Wir haben dieses Bluetooth-Modul bereits in vielen Projekten zur Steuerung von Haushaltsgeräten, Robotern usw. verwendet und es mit anderen Mikrocontrollern verbunden:
- Verbindung von Bluetooth HC-05 mit STM32F103C8 Blue Pill: Kontroll-LED
- Bluetooth-Modulschnittstelle mit ESP8266: Steuerung einer LED
- Verbindung des Bluetooth-Moduls HC-05 mit dem AVR-Mikrocontroller
- Sprachgesteuerte LEDs mit Arduino und Bluetooth
Heute lernen wir, das Bluetooth-Modul HC-05 mit dem MSP430 Launchpad von Texas Instruments zu verbinden. In diesem Schnittstellenbeispiel steuern wir die integrierte LED des MSP430 vom Smartphone aus mithilfe einer Android-Anwendung mit Bluetooth-Terminal.
Wenn Sie mit MSP430 noch nicht vertraut sind, können Sie mit dem Energia IDE-Lernprogramm mit den ersten Schritten mit MSP430G2 beginnen und alle MSP430-Lernprogramme hier befolgen.
Erforderliche Materialien
- TI-MSP430 Launchpad
- HC-05 Bluetooth-Modul
- Bluetooth Terminal App aus dem Play Store
HC-05 Bluetooth-Modul
Der HC-05 ist ein einfach zu bedienendes Bluetooth-Modul. Es verwendet das serielle Kommunikationsprotokoll (USART), um zwischen Geräten zu kommunizieren. Für dieses Modul gibt es zwei Betriebsarten: die erste ist die Befehlsart und die zweite die Betriebsart. Der Befehlsmodus wird zum Konfigurieren der Geräteeinstellungen wie Kennwortänderung, Baudrate usw. des Moduls verwendet. Der Betriebsmodus dient zum Senden oder Empfangen von Daten zwischen Geräten.
In diesem Tutorial werden Standardeinstellungen verwendet (Standardkennwort ist 0000 oder 1234, Gerätename ist HC-05 und die Standardbaudrate ist 9600). Daher arbeiten wir nur im Betriebsmodus.
Der Betriebsspannungsbereich beträgt 4 V bis 6 V (typischerweise + 5 V) und der Betriebsstrom beträgt 30 mA. Die Reichweite des Moduls beträgt 100 Meter. Das Bluetooth-Modul HC-05 verfügt über insgesamt 6 Pins, von denen die EN- und State-Pins im Befehlsmodus verwendet werden. Die Pinbelegung des HC-05 Bluetooth-Moduls ist unten dargestellt:
Schaltplan
Der Schaltplan zum Verbinden des HC-05-Bluetooth-Moduls mit der TI-MSP340-Karte ist unten dargestellt.
Hier haben wir 4 Verbindungen von HC-05 hergestellt. Die RxD- und TxD-Pins von HC-05 sind für die serielle Kommunikation mit P1.1 bzw. P1.2 von MSP430 verbunden. Und VCC und GND von HC-05 sind mit VCC und GND von MSP430 verbunden.
Programmierung des MSP430 Launchpad für das Bluetooth-Modul HC-05
Die Programmierung dieser Bluetooth-gesteuerten LED mit MSP430 ist einfach. MSP wird mit Energia IDE programmiert, die der Arduino IDE sehr ähnlich ist, sodass die mit Arduino vertrauten Personen keine Schwierigkeiten haben, dies zu verstehen. Der vollständige Code mit einem Demonstrationsvideo finden Sie am Ende des Tutorials.
Wir beginnen mit der Definition eines Makros für die von uns verwendete rote LED. Diese Zeile dient nur der Einfachheit halber, sodass wir anstelle von RED_LED LED verwenden können
#define LED RED_LED
Als nächstes folgt unsere Funktion setup (). Mit der Funktion Serial.begin () wird die Baudrate für die serielle Kommunikation auf 9600 festgelegt, da dies die Standardbaudrate für HC-05 ist. Wir haben auch die Funktion pinMode () verwendet, um den digitalen Pin als Ausgang zu initialisieren (in diesem Fall LED).
void setup () { Serial.begin (9600); PinMode (LED, OUTPUT); }}
In der Schleifenfunktion prüfen wir zunächst mit der Funktion Serial.available () , ob die Daten an der seriellen Schnittstelle verfügbar sind. Definieren Sie als Nächstes eine Variable data_recieved, die den Wert der Funktion Serial.read () speichert. Diese Funktion wird verwendet, um die Daten von Bluetooth zu empfangen.
Als nächstes überprüfen wir in der if-else-Anweisung die vom Telefon gesendeten Daten. Wenn es 1 ist, schalten Sie die LED mit digitalWrite (LED, HIGH) ein. und drucken Sie in der App die Nachricht, dass die LED mithilfe der Funktion Serial.write () eingeschaltet ist. Wenn es 2 ist, schalten Sie die LED mit digitalWrite (LED, LOW) aus. und drucken Sie die Meldung in der App, dass die LED AUS ist, mithilfe der Funktion Serial.write () .
void loop () { if (Serial.available ()) { char data_received; data_received = Serial.read (); if (data_received == '1') { digitalWrite (LED, HIGH); Serial.write ("LED leuchtet"); } else if (data_received == '2') { digitalWrite (LED, LOW); Serial.write ("LED ausgeschaltet"); } } }
Funktionieren der Bluetooth-gesteuerten LED mit MSP430
Laden Sie schließlich den Code mithilfe der Energia IDE in den MSP430 hoch und laden Sie die Bluetooth Terminal-App herunter und installieren Sie sie auf Ihrem Smartphone. Die App sieht wie folgt aus:
Schalten Sie nun das Bluetooth in Ihrem Smartphone ein und stellen Sie eine Verbindung zum Bluetooth-Modul her, indem Sie HC-06 aus der Liste der verfügbaren Geräte auswählen. Verwenden Sie das Passwort 0000 oder 1234, um eine Verbindung herzustellen. Nach der Verbindung öffnet sich ein Fenster mit dem Titel Gerätename und der Verbindung darunter. Dieses Fenster sieht wie folgt aus:
Versuchen Sie in diesem Fenster, 1 und 2 über das Bluetooth-Modul HC-05 an MSP430 zu senden. Wenn Sie 1 senden, wird die LED eingeschaltet und auf Ihrem Telefon wird die Meldung angezeigt, dass die LED wie in der folgenden Abbildung eingeschaltet ist:
Und 2 sendet die LED erlischt und die Nachricht wird auf Ihrem Telefon erhalten gedruckt, dass „LED ausgeschaltet“ genau wie die Abbildung unten. Und voila! Sie haben gerade eine LED über Ihr Telefon über Bluetooth gesteuert.
So kann eine LED drahtlos über Bluetooth gesteuert werden. Es kann einfach in ein Hausautomationsprojekt umgewandelt werden, indem die LED durch ein Relais und ein beliebiges Haushaltsgerät ersetzt wird.
Der vollständige Code mit Demonstrationsvideo ist unten angegeben.