Arbeiten mit dem Bluetooth-Modul HC-05: Eine Einführung
Verfasst: Di 24. Mär 2020, 09:07
Mit dem Bluetooth-Modul HC-05 können wir auf einfache Weise unser Nano-Board fernsteuern. Im Zusammenhang mit dem Attiny2313 wurde es hier schon einmal vorgestellt. Dabei ging es im Wesentlichen um einige grundsätzliche Betrachtungen. Hier nun wollen wir uns diesem Modul auf etwas praktischere Weise nähern.
Als Sender wollen wir ein Android-Handy mit der App “Bluetooth Electronics” einsetzen; diese App ist kostenlos über den Play Store zu beziehen. Mit Hilfe dieser App kann man nach eigenen Vorstellungen so genannte Panels mit Knöpfen, Slidern (Scrollbalken) oder anderen Elementen versehen, über die dann das Nano-Board gesteuert werden kann.
Im Folgenden zeigen wir, wie man
1. Anschließen des Moduls
Zunächst stecken wir das nano-Board und das Bluetooth-Modul auf ein Breadboard und verbinden die Anschlüsse des Moduls mit dem Mikrocontroller, so wie es in Abb. 1 dargestellt ist:
Nun verbinden wir das nano-Board über das USB-Kabel mit dem eingeschalteten PC. Eine LED auf dem Bluetooth-Modul fängt an zu blinken; dies signalisiert, dass das Modul nun Signale aussendet und bereit ist, mit dem Handy gekoppelt und verbunden zu werden.
2. Koppeln und verbinden
Wir starten nun unsere App. Es erscheint ein Formular ähnlich wie in Abb. 2.
Sofort erkennen wir eine Reihe vorgefertigter Panels. Darum wollen wir uns jetzt aber zunächst nicht kümmern. Am oberen Bildrand lesen wir nämlich: “Not connected to Device”. Das bedeutet, dass Handy und App noch nicht mit dem Modul verbunden sind. Diese verbindung wollen wir jetzt herstellen; dazu betätigen wir die Schaltfläche Connect. Nun öffnet sich das folgende Formular:
Wir wählen die Standard-Option “Bluetooth-Classic” aus und betätigen die Schaltfläche Next>.
Jetzt sehen wir das Formular aus Abb. 4. Hier betätigen wir die Schaltfläche Discover. Nun sucht die App nach allen aktiven Bluetooth-Geräten. Nach kurzer Zeit sollte hier der Name unseres Bluetooth-Moduls erscheinen, z. B. BT1. Jetzt klicken wir auf diesen Eintrag - er sollte nun in grüner Schrift hervorgehoben sein wie in der Abb. 4 - und betätigen nun die Schaltfläche Pair. Dadurch wird unser Modul mit dem Handy gekoppelt. Der Eintrag BT1 ist nun auch in der rechten Liste aller gekoppelten Geräte zu finden. Anschließend klicken Sie auf disen Eintrag in der rechten Liste und betätigen Sie die Schaltfläche Connect. Dadurch wird unser Modul und das Handy verbunden.
Wichtige Hinweise:
Sollte es Probleme beim Koppeln und Verbinden geben, können Sie versuchen, diese Vorgänge auch über die System-Einstellungen Ihres Handys vorzunehmen.
Zu guter Letzt betätigen wir die Schaltfläche Done. So gelangen wir wieder zur Panel-Übersicht aus Abb. 2.
Bitte beachten Sie: Wenn Sie die App erneut starten, dann muss nur das Verbinden durchgeführt werden, ein erneutes Koppeln ist nicht mehr erforderlich; Sie erkennen dies auch daran, dass Ihr Bluetooth-Modul schon direkt in der Liste der gekoppelten Geräte erscheint.
3. Einrichten eines Panels
Wir tippen auf ein leeres Panel, betätigen die Edit-Schaltfläche am unteren Rand und erhalten ein Formular ähnlich wie in Abb. 5. Dieses Formular ist in 4 Bereiche unterteilt. Im Bereich A sehen wir das (noch leere) Panel. Im Bereich B sehen wir eine Liste mit den Elementen, die wir auf das Panel legen können. Da wir einen Knopf zum Ein- und Ausschalten benutzen wollen, tippen wir mit dem Finger auf Buttons. Jetzt erscheint in dem Feld C eine reiche Auswahl an unterschiedlichen Knopftypen. Wir wählen hier den einfachsten aus, nämlich den unbeschrifteten runden Knopf (links oben). Diesen ziehen wir auf das Panel (Bereich A) an einen beliebigen Platz. (Wenn wir ihn entfernen wollen, ziehen wir ihn einfach zurück in das Feld C.)
Sobald der Knopf auf dem Panel liegt, erscheinen im Feld D Informationen darüber, welche Aktionen durch unser Element “Button” ausgelöst werden. Sie besagen: Wenn der Knopf gedrückt wird, dann sendet das Handy das Zeichen “N” an das Bluetooth-Modul, wenn der Knopf losgelassen wird, dann wird das Zeichen “n” gesendet. Möchte man hier andere Zeichen senden, dann kann man in dem Feld 4 Änderungen über die Schaltfläche Edit vornehmen. Das wollen wir aber hier nicht machen. Nun gehen wir wieder zur Panel-Übersicht zurück (Dreieck am rechten Rand!)
4. Programmieren des Mikrocontrollers
Wir benutzen das folgende Programm:
Das Modul empfängt vom Handy die Zeichen “N” oder “n” und überträgt sie mit der Baudrate von 9600 an den Mikrocontroller; deswegen konfigurieren wir die serielle Schnittstelle des Mikrocontrollers entsprechend durch
Der Befehl
lässt den Mikrocontroller auf den Empfang eines Bytes warten, in unserem Fall also den ASCII-Code von “N” bzw. “n”, und speichert ihn in der Variablen Zeichencode ab.
Je nachdem, ob das empfangene Zeichen den Code für “N” hat oder nicht, wird nun die Test-LED an PortD.5 ein- oder ausgeschaltet.
Beachten Sie: Während des Upload-Vorgangs dürfen die Anschlüsse RxD und TxD des Mikrocontrollers nicht mit dem Modul verbunden sein.
5. Die LED mit dem Handy ein- und ausschalten
Wir starten unsere App und bauen die Verbindung auf. In der Panel-Übersicht wählen wir unser Knopf-Panel aus und betätigen die Schaltfläche Run> (unten rechts). Nun wird das Knopf-Panel bildfüllend dargestellt. Drücken Sie jetzt mehrfach den Knopf: Sobald er gedrückt wird, geht die LED an, sobald er losgelassen wird, wird sie ausgeschaltet.
Zu guter Letzt
Die “Bluetooth Electronics”-App bietet selbst eine relativ umfangreiche Hilfe an. Betätigen Sie dazu einfach die i-Schaltfläche links oben auf dem Startformular (vgl. Abb. 2).
.
Als Sender wollen wir ein Android-Handy mit der App “Bluetooth Electronics” einsetzen; diese App ist kostenlos über den Play Store zu beziehen. Mit Hilfe dieser App kann man nach eigenen Vorstellungen so genannte Panels mit Knöpfen, Slidern (Scrollbalken) oder anderen Elementen versehen, über die dann das Nano-Board gesteuert werden kann.
Im Folgenden zeigen wir, wie man
- das Bluetooth-Modul an das nano-Board anschließt
- wie man das Bluetooth-Modul mit dem Handy koppelt und verbindet
- wie man ein Panel einrichtet und startet
- wie man den Mikrocontroller entsprechend programmiert
1. Anschließen des Moduls
Zunächst stecken wir das nano-Board und das Bluetooth-Modul auf ein Breadboard und verbinden die Anschlüsse des Moduls mit dem Mikrocontroller, so wie es in Abb. 1 dargestellt ist:
Nun verbinden wir das nano-Board über das USB-Kabel mit dem eingeschalteten PC. Eine LED auf dem Bluetooth-Modul fängt an zu blinken; dies signalisiert, dass das Modul nun Signale aussendet und bereit ist, mit dem Handy gekoppelt und verbunden zu werden.
2. Koppeln und verbinden
Wir starten nun unsere App. Es erscheint ein Formular ähnlich wie in Abb. 2.
Sofort erkennen wir eine Reihe vorgefertigter Panels. Darum wollen wir uns jetzt aber zunächst nicht kümmern. Am oberen Bildrand lesen wir nämlich: “Not connected to Device”. Das bedeutet, dass Handy und App noch nicht mit dem Modul verbunden sind. Diese verbindung wollen wir jetzt herstellen; dazu betätigen wir die Schaltfläche Connect. Nun öffnet sich das folgende Formular:
Wir wählen die Standard-Option “Bluetooth-Classic” aus und betätigen die Schaltfläche Next>.
Jetzt sehen wir das Formular aus Abb. 4. Hier betätigen wir die Schaltfläche Discover. Nun sucht die App nach allen aktiven Bluetooth-Geräten. Nach kurzer Zeit sollte hier der Name unseres Bluetooth-Moduls erscheinen, z. B. BT1. Jetzt klicken wir auf diesen Eintrag - er sollte nun in grüner Schrift hervorgehoben sein wie in der Abb. 4 - und betätigen nun die Schaltfläche Pair. Dadurch wird unser Modul mit dem Handy gekoppelt. Der Eintrag BT1 ist nun auch in der rechten Liste aller gekoppelten Geräte zu finden. Anschließend klicken Sie auf disen Eintrag in der rechten Liste und betätigen Sie die Schaltfläche Connect. Dadurch wird unser Modul und das Handy verbunden.
Wichtige Hinweise:
- Wenn Sie im Laufe der letzten Schritte nach einer Kenn-Nummer oder einem Passwort gefragt werden, geben Sie hier die Ziffernfolge 1234 ein.
- Sollte das Pairing (Koppeln) mit Hilfe der Bluetooth-Electronics-App nicht gelingen, versuche Sie diesen Vorgang mit Hilfe der Bluetooth-Einstellungen Ihres Handys durchzuführen. Danach sollte das Modul auch bei der Bluetooth-Electronics-App in der Liste "Paired Devices" zu finden sein.
Sollte es Probleme beim Koppeln und Verbinden geben, können Sie versuchen, diese Vorgänge auch über die System-Einstellungen Ihres Handys vorzunehmen.
Zu guter Letzt betätigen wir die Schaltfläche Done. So gelangen wir wieder zur Panel-Übersicht aus Abb. 2.
Bitte beachten Sie: Wenn Sie die App erneut starten, dann muss nur das Verbinden durchgeführt werden, ein erneutes Koppeln ist nicht mehr erforderlich; Sie erkennen dies auch daran, dass Ihr Bluetooth-Modul schon direkt in der Liste der gekoppelten Geräte erscheint.
3. Einrichten eines Panels
Wir tippen auf ein leeres Panel, betätigen die Edit-Schaltfläche am unteren Rand und erhalten ein Formular ähnlich wie in Abb. 5. Dieses Formular ist in 4 Bereiche unterteilt. Im Bereich A sehen wir das (noch leere) Panel. Im Bereich B sehen wir eine Liste mit den Elementen, die wir auf das Panel legen können. Da wir einen Knopf zum Ein- und Ausschalten benutzen wollen, tippen wir mit dem Finger auf Buttons. Jetzt erscheint in dem Feld C eine reiche Auswahl an unterschiedlichen Knopftypen. Wir wählen hier den einfachsten aus, nämlich den unbeschrifteten runden Knopf (links oben). Diesen ziehen wir auf das Panel (Bereich A) an einen beliebigen Platz. (Wenn wir ihn entfernen wollen, ziehen wir ihn einfach zurück in das Feld C.)
Sobald der Knopf auf dem Panel liegt, erscheinen im Feld D Informationen darüber, welche Aktionen durch unser Element “Button” ausgelöst werden. Sie besagen: Wenn der Knopf gedrückt wird, dann sendet das Handy das Zeichen “N” an das Bluetooth-Modul, wenn der Knopf losgelassen wird, dann wird das Zeichen “n” gesendet. Möchte man hier andere Zeichen senden, dann kann man in dem Feld 4 Änderungen über die Schaltfläche Edit vornehmen. Das wollen wir aber hier nicht machen. Nun gehen wir wieder zur Panel-Übersicht zurück (Dreieck am rechten Rand!)
4. Programmieren des Mikrocontrollers
Wir benutzen das folgende Programm:
Code: Alles auswählen
$regfile = "m328pdef.dat"
$crystal = 16000000
$framesize = 32
$swstack = 32
$hwstack = 64
$baud = 9600
Dim Zeichencode As Byte
Do
Inputbin Zeichencode
If Zeichencode = Asc( "N") Then Portb.5 = 1 Else Portb.5 = 0
Loop
Code: Alles auswählen
$baud = 9600
Code: Alles auswählen
inputbin Zeichencode
Je nachdem, ob das empfangene Zeichen den Code für “N” hat oder nicht, wird nun die Test-LED an PortD.5 ein- oder ausgeschaltet.
Beachten Sie: Während des Upload-Vorgangs dürfen die Anschlüsse RxD und TxD des Mikrocontrollers nicht mit dem Modul verbunden sein.
5. Die LED mit dem Handy ein- und ausschalten
Wir starten unsere App und bauen die Verbindung auf. In der Panel-Übersicht wählen wir unser Knopf-Panel aus und betätigen die Schaltfläche Run> (unten rechts). Nun wird das Knopf-Panel bildfüllend dargestellt. Drücken Sie jetzt mehrfach den Knopf: Sobald er gedrückt wird, geht die LED an, sobald er losgelassen wird, wird sie ausgeschaltet.
Zu guter Letzt
Die “Bluetooth Electronics”-App bietet selbst eine relativ umfangreiche Hilfe an. Betätigen Sie dazu einfach die i-Schaltfläche links oben auf dem Startformular (vgl. Abb. 2).
.