- Erforderliche Komponenten
- Schaltplan
- Bluetooth-Kommunikation über das MATLAB-Befehlsfenster
- Bluetooth-Kommunikation über die MATLAB-Benutzeroberfläche
Bluetooth ist das einfachste und beliebteste Protokoll für die drahtlose Kommunikation über kurze Entfernungen in eingebetteten Systemen. Bluetooth wird nicht nur zum Übertragen der Daten von einem Gerät auf ein anderes verwendet, sondern auch zur drahtlosen Steuerung der Geräte. Fast jedes elektronische Gerät bietet heutzutage Bluetooth-Unterstützung. Daher ist es ratsam, die Bluetooth-Steuerungsoption in Ihrer eingebetteten Anwendung zu verwenden.
Hier in diesem Tutorial erfahren Sie, wie Sie Bluetooth in MATLAB verwenden, um drahtlos zu kommunizieren. Wir werden das eingebaute Bluetooth des Computers mit MATLAB auf der einen Seite und HC-05 mit Arduino auf der anderen Seite verwenden. Es gibt zwei Möglichkeiten, die Kommunikation zwischen MATLAB und Arduino über Bluetooth einzurichten: Eine verwendet das Befehlsfenster und die andere die MATLAB-GUI. Der Arduino-Code für beide Methoden bleibt gleich. Wenn Sie MATLAB noch nicht kennen, wird empfohlen, mit MATLAB mit einem einfachen LED-Blinkprogramm zu beginnen und die in MATLAB verwendete grundlegende Terminologie zu erlernen. Sie können weitere MATLAB-Projekte erkunden:
- Serielle Kommunikation zwischen MATLAB und Arduino
- Gleichstrommotorsteuerung mit MATLAB und Arduino
- Schrittmotorsteuerung mit MATLAB und Arduino
- Erste Schritte mit der Bildverarbeitung mit MATLAB
Erforderliche Komponenten
- MATLAB installierter Laptop (Voreinstellung: R2016a oder höhere Versionen)
- Arduino UNO
- Bluetooth-Modul (HC-05)
- LED (beliebige Farbe)
- Widerstand (330 Ohm)
- Überbrückungsdrähte
Weitere Informationen zu HC-05 und seiner Schnittstelle zu Arduino finden Sie in den folgenden Artikeln.
- Bluetooth-gesteuerter Servomotor mit Arduino
- Sprachgesteuerte LEDs mit Arduino und Bluetooth
- Handygesteuerte Klimaanlage mit Arduino und Bluetooth
Schaltplan
Die Schaltpläne für die Bluetooth-Kommunikation zwischen MATLAB und Arduino sind nachstehend aufgeführt:
Bluetooth-Kommunikation über das MATLAB-Befehlsfenster
Dies ist die einfache Methode zum Einrichten der Bluetooth-Kommunikation zwischen Arduino und MATLAB. Hier verwendet das MATLAB das Bluetooth des Laptops, um den mit Arduino verbundenen HC-05 zu verbinden. Zuerst müssen wir den Arduino codieren, um die vom MATLAB kommenden seriellen Eingangsdaten zu lesen (unter Verwendung von Bluetooth des Laptops).
Dann können diese von MATLAB übertragenen Bluetooth-Daten verwendet werden, um alles zu steuern, was mit dem Arduino verbunden ist. Hier haben wir eine LED an Arduino angeschlossen, die mit MATLAB vom LAPTOP aus gesteuert werden kann.
Zuerst laden Sie die gegebenen Arduino - Code in der Arduino UNO und starten Sie dann Codierung in MATLAB - Befehlsfenster.
#einschließen
Kopieren Sie anschließend den folgenden MATLAB-Code und fügen Sie ihn in das Befehlsfenster für die Bluetooth-Kommunikation zwischen MATLAB und Arduino ein.
Instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
Im folgenden Code wird der Befehl fprintf (bt, '0') verwendet, um die LED auszuschalten, indem '0' an das Arduino gesendet wird. Wenn Sie nun die LED einschalten möchten, senden Sie einfach '1' anstelle von '0' mit dem folgenden Befehl.
fprintf (bt, '1');
Verwenden Sie den folgenden Befehl, um die Informationen zur verfügbaren Hardware zu überprüfen
Instrhwinfo ('Typ', 'Name des Geräts');
Um den Bluetooth-Port zu öffnen, wird der folgende Befehl verwendet
fopen (bt);
Sehen Sie sich das folgende Video an, um den gesamten Vorgang des Sendens von Daten von MATLAB an Arduino über Bluetooth zu verstehen.
Bluetooth-Kommunikation über die MATLAB-Benutzeroberfläche
Um die Bluetooth-Kommunikation über die MATLAB-Benutzeroberfläche zu demonstrieren, erstellen wir in MATLAB drei grafische Schaltflächen zum Ein-, Ausschalten und Blinken der mit dem Arduino verbundenen LED. Daten werden über Bluetooth von MATLAB an HC-05 gesendet, wenn Sie auf diese grafischen Schaltflächen klicken. Arduino enthält den Code zum Empfangen der von MATLAB an HC-05 übertragenen Bluetooth-Daten und zum Steuern der LED gemäß den empfangenen Daten. Der Arduino-Code bleibt derselbe wie der vorherige. Der einzige Unterschied besteht darin, dass wir zuvor die Daten '1' und '0' über das Befehlsfenster von MATLAB gesendet haben und jetzt dieselben Daten gesendet werden, wenn Sie auf drei grafische Schaltflächen klicken.
Geben Sie zum Starten der GUI den folgenden Befehl in das Befehlsfenster ein
leiten
Ein Popup-Fenster wird geöffnet. Wählen Sie dann eine neue leere Benutzeroberfläche aus (siehe Abbildung unten).
Nun wählen Sie drei Tasten zum Ein-, OFF und blinken die LED, wie unten gezeigt,
Um die Größe der Drucktasten zu ändern oder ihre Größe zu ändern, klicken Sie einfach darauf und Sie können die Ecken der Schaltfläche ziehen. Durch Doppelklicken auf die Drucktaste können Sie die Farbe, die Zeichenfolge und das Tag dieser bestimmten Schaltfläche ändern. Wir haben drei Drucktasten angepasst, wie im folgenden Bild gezeigt.
Sie können die Schaltflächen nach Ihren Wünschen anpassen. Wenn Sie dies speichern, wird im Editorfenster von MATLAB ein Code generiert. Bearbeiten Sie diesen Code entsprechend der Aufgabe, die Ihr Arduino beim Empfang von Bluetooth-Daten über die MATLAB-GUI ausführen möchte. Also haben wir unten den MATLAB-Code bearbeitet. Weitere Informationen zum Befehlsfenster, zum Editorfenster usw. finden Sie im Tutorial Erste Schritte mit MATLAB.
Der vollständige MATLAB-Code zur Steuerung der LED von MATLAB über Bluetooth wird am Ende dieses Projekts angegeben. Außerdem stellen wir hier die GUI-Datei (.fig) und die Codedatei (.m) zum Download bereit, mit denen Sie die Schaltflächen gemäß Ihren Anforderungen anpassen können. Im Folgenden finden Sie einige Verbesserungen, die wir zur Steuerung der mit Arduino verbundenen LED vorgenommen haben.
Kopieren Sie den folgenden Code und fügen Sie ihn in Zeile Nr. 74, um das MATLAB einzurichten oder mit dem Bluetooth des Laptops zu verbinden.
alles löschen; globales bt; Instrhwinfo ('Bluetooth', 'HC-05'); bt = Bluetooth ('HC-05', 1); fopen (bt);
Dabei wird fopen (bt) verwendet, um den Bluetooth-Port für die Datenübertragung zu öffnen.
Wenn Sie jetzt nach unten scrollen, werden Sie sehen, dass drei Funktionen für drei Drucktasten in der GUI erstellt wurden. Schreiben Sie nun den Code in die Funktionen entsprechend der Aufgabe, die Sie beim Klicken ausführen möchten.
In LED ON Funktion der Taste, zu kopieren und die folgenden Code kurz vor dem Ende der Funktion einfügen, um die LED einzuschalten. Im folgenden Code wird fprintf (bt, '1') verwendet, um '1' von MATLAB über Bluetooth des Laptops an HC-05 zu senden. Arduino werden diese Daten ‚1‘durch HC-05 empfangen und die LED leuchtet durch seine 11 Herstellung th Stift HOCH.
globales bt; fprintf (bt, '1');
In LED - OFF - Taste der Funktion, zu kopieren und die folgenden Code kurz vor dem Ende der Funktion, um die LED auszuschalten einfügen. Im folgenden Code wird fprintf (bt, '0') zum Senden von '0' von MATLAB an HC-05 über Bluetooth des Laptops verwendet. Arduino wird ‚0‘durch HC-05 empfangen und die LED aus durch seine 11 machen th Stift LOW.
globales bt; fprintf (bt, '0');
In BLINK - Taste der Funktion, verwenden Sie die folgenden Code, um die LED zu blinken. Eine for- Schleife wird verwendet, um die LED 10 Mal zu blinken.
globales bt; für i = 1:10 fprintf (bt, '1'); Pause (0,5); fprintf (bt, '0'); Pause (0,5); Ende
Nachdem Sie die MATLAB-GUI-Codierung abgeschlossen und die Hardware gemäß Schaltplan eingerichtet haben, klicken Sie einfach auf die Schaltfläche Ausführen, um den bearbeiteten Code in der.m-Datei auszuführen.
Es kann einige Sekunden dauern, bis MATLAB reagiert. Klicken Sie nicht auf eine GUI-Schaltfläche, bis MATLAB die BUSY-Anzeige anzeigt, die Sie in der linken unteren Ecke des Bildschirms sehen können (siehe Abbildung unten).
Wenn alles fertig ist, klicken Sie auf LED-ON, LED OFF und BLINK, um die LED ein-, auszuschalten und zu blinken. Alle Codedateien für dieses Projekt können von hier heruntergeladen werden oder Sie können den unten angegebenen Code verwenden.
Sehen Sie sich das folgende Video an, um den gesamten Prozess des Sendens von Daten von MATLAB an Arduino über Bluetooth über die MATLAB-GUI zu verstehen.