Inhaltsverzeichnis:

Arduino Smartphone Coms / Serial Monitor über Bluetooth HC-05, HC-06 - Gunook
Arduino Smartphone Coms / Serial Monitor über Bluetooth HC-05, HC-06 - Gunook

Video: Arduino Smartphone Coms / Serial Monitor über Bluetooth HC-05, HC-06 - Gunook

Video: Arduino Smartphone Coms / Serial Monitor über Bluetooth HC-05, HC-06 - Gunook
Video: блютуз bluetooth модуль hc-05, hc-06 Подключение к ардуино, 2024, November
Anonim
Arduino Smartphone Coms/Serieller Monitor über Bluetooth HC-05, HC-06
Arduino Smartphone Coms/Serieller Monitor über Bluetooth HC-05, HC-06

Dies ist unglaublich nützlich, wenn Sie Ihre Skizze in einer realen Umgebung außerhalb Ihres PCs testen möchten. Das Ergebnis ist, dass sich Ihr Smartphone genauso verhält wie der serielle Arduino-Monitor auf Ihrem PC. Die Bluetooth-Module HC-05 und HC-06 sind für rund 3 Euro bei ebay erhältlich und es stehen viele kostenlose Smartphone-Apps zur Auswahl. Es gibt einige Fallstricke, die Sie hoffentlich vermeiden werden, wenn Sie den Beispielen hier folgen. Die hier verwendete kostenlose Smartphone-App kann den empfangenen Text auch zur späteren Verwendung in einer Datei speichern. Es sind keine Änderungen an Ihren Skizzen erforderlich, da die gleichen seriellen Pins verwendet werden.

Ich habe dies zum ersten Mal verwendet, als ich ein Gerät testete, das die Entfernung misst, die Autos zurücklegen, wenn sie mich mit meinem Fahrrad überholen. Ich konnte 30 Mal pro Sekunde Entfernungsmessungen auf meinem Telefon aufzeichnen, wo sie in einer Datei gespeichert wurden. Ich habe dies später mit einem Video analysiert, das ich auch mit einer Sportkamera und meiner Tracking-App aufgenommen habe, die meine Geschwindigkeit und meinen Standort angibt.

Du wirst brauchen:

  • Ihr Lieblings-Arduino (Uno wird hier verwendet)
  • HC-05 oder HC-06 Bluetooth-Modul
  • Ein Smartphone (hier ein Android-Telefon) und eine kostenlose Bluetooth-App

Schritte:

  • Kostenlose Bluetooth-App installieren
  • Bluetooth-Modul konfigurieren
  • Verbinden Sie Bluetooth mit Arduino
  • Beispielskizze laden
  • Testsystem

Schritt 1: Bluetooth-App installieren

Es gibt viele Bluetooth-Apps und viele sind kostenlos. Ich verwende Android-Telefone, aber ich erwarte, dass dies auch für die anderen Systeme der Fall ist. Ich habe mich für BlueTerm 2 entschieden, da es auch die Möglichkeit bietet, die empfangenen Daten in einer Datei zu protokollieren. Ich fand es auch sehr einfach zu bedienen. Gehen Sie also zu Google Play und fordern Sie den Download von BlueTerm 2 an.

Wenn Sie die App installiert haben, können Sie eine Verbindung zu Bluetooth-Geräten herstellen. Beachten Sie, dass das Bluetooth-Gerät zuerst mit dem Telefon gekoppelt werden muss, bevor es in Apps verwendet werden kann:

BlueTooth einschalten: Ich gehe über Einstellungen>Bluetooth.

Das Telefon listet bereits gekoppelte Geräte auf und zeigt nach einigen Sekunden Verfügbare Geräte an. Der Name wird möglicherweise zunächst als eine Reihe von Zahlen anstelle des Gerätenamens angezeigt. Wenn Sie es auswählen, wird jedoch der Name angezeigt und Sie werden nach der PIN gefragt, die normalerweise 1234 lautet.

Starten Sie nun BlueTerm 2. Klicken Sie auf Einstellungen, dann auf Gerät verbinden und wählen Sie nach Bedarf. Sie können zu diesem Zeitpunkt einfach ein HC-05/HC-06-Modul einschalten und den Pairing-Prozess überprüfen, wenn Sie möchten (schließen Sie die negative Versorgung an Masse und 5 V an Vcc an).

Bild
Bild

Schritt 2: Bluetooth-Modul konfigurieren - Teil 1 - Verbindungen und HC-06

Wenn Sie den Standardnamen und die Baudrate nicht verwenden möchten, können Sie diesen Schritt überspringen. Die Voreinstellungen sind Name: HC-05 oder HC-06 und Baud: 9600. Der Vorteil der Neukonfiguration des Moduls besteht darin, dass schnellere Baudraten ausgewählt werden können und der Name auf einen leichter erkennbaren Namen gesetzt werden kann.

Für die Konfiguration müssen Befehle von einem PC über eine serielle Verbindung an das Modul gesendet werden. Ein serieller FDTI-USB-Link ist ideal, insbesondere wenn er über eine 3,3-V-Option verfügt. Arduino-Boards verfügen jedoch über einen USB-zu-Seriell-Konverter und können daher auch verwendet werden. Dies ist die hier gezeigte Methode. Um dies zu tun, ist es am besten, den seriellen Port des Arduino-Hauptprozessors zu deaktivieren, damit wir störungsfrei zwischen dem PC und dem Bluetooth-Modul kommunizieren können.

Die Skizze zum Deaktivieren der Arduino-Serie enthält einfach die Anweisungen:

pinMode(0, EINGANG):

pinMode (1, EINGANG);

im Abschnitt setup{}.

Ich habe die Skizze NoSerial.ino angehängt. Erstellen Sie in Ihrem Skizzenordner einen Ordner mit dem Namen "NoSerial" und fügen Sie NoSerial.ino hinzu. Starten Sie die Arduino IDE, navigieren Sie zu Datei> Skizzenbuch> Skizzen> NoSerial, um die Skizze zu öffnen. Wählen Sie im Menü Tools den Kartentyp und den Port aus und klicken Sie auf die Schaltfläche Download.

Anschluss für Konfiguration

Mit geladener Skizze können wir nun das Bluetooth-Modul mit dem Arduino-Board verbinden. Die Tx- und Rx-Verbindungen sind im Vergleich zu dem, was wir später tun werden, vertauscht, da wir mit dem PC-Port für den Serial Monitor und nicht mit dem Arduino-Hauptprozessor kommunizieren möchten. Der PC Tx wird mit dem Arduino Rx verbunden und umgekehrt.

Beachten Sie, dass die Bluetooth-Module 3,3-V-Pegel für Tx und Rx haben. Daher sollte beim Anschluss an 5-V-Systeme ein Spannungsteiler für den Bluetooth-Rx-Eingang verwendet werden. Der Bluetooth 3,3-V-Tx-Ausgang wird normalerweise von 5-V-Systemen erkannt und kann daher direkt verbunden werden.

Ich habe festgestellt, dass ein Spannungsteiler mit 3k3- und 6k8-Widerständen bis zu 115200 serielle Baudraten funktioniert.

Die Module HC05 und HC06 verfügen über integrierte Spannungsregler und werden daher mit Vcc an 5 V betrieben.

Also verbinden:

  • 3k3 Widerstand zu D0
  • 6k8 Widerstand gegen Masse
  • Verbinden Sie die anderen Enden der beiden Widerstände miteinander und mit dem Rx-Pin des Bluetooth-Moduls
  • Verbinden Sie den Tx-Pin des Bluetooth-Moduls mit D1
  • Verbinden Sie den Erdungsstift des Bluetooth-Moduls mit GND Verbinden Sie den Erdungsstift des Bluetooth-Moduls mit GND
  • Verbinden Sie den Vcc-Pin des Bluetooth-Moduls mit 5 V

Siehe Bild für Details.

Bild
Bild

Um das Modul zu konfigurieren, muss es in den AT-Modus versetzt werden. Die Vorgehensweise ist bei den Modulen HC-05 und HC-06 unterschiedlich.

HC-06

Dies sind die einfachsten. Sie versetzen sich selbst in den AT-Modus, wenn sie mit keinem Gerät gekoppelt sind. Die Baud-Einstellung ist jedoch unabhängig davon, auf welche Baud für den normalen Betrieb eingestellt wurde. Im Auslieferungszustand sind dies normalerweise 9600. Wenn dies nicht funktioniert, versuchen Sie es mit 38400 oder den anderen gängigen Tarifen.

Verbinden Sie das USB-Kabel vom PC mit Arduino und starten Sie die Arduino IDE. Im AT-Modus blinkt die Bluetooth-LED schnell (~4 Hz).

Öffnen Sie den Arduino Serial Monitor über Tools> Serial Monitor. Baud auf 9600 einstellen und „Kein Zeilenende“einstellen.

Geben Sie nun AT ein und klicken Sie auf Senden. Wenn alles funktioniert, wird auf dem Monitor „OK“angezeigt. Wenn nichts zurückkommt, überprüfen Sie die Verkabelung und versuchen Sie verschiedene Baud-Einstellungen.

Mit einem OK, das eine gute Kommunikation bestätigt, können wir den Namen ändern und eine eigene Baudrate festlegen.

Geben Sie AT+NAMEARDUINO ein und klicken Sie auf Senden. Dies setzt den Modulnamen auf ARDUINO. Jeder andere Text kann verwendet werden. Beachten Sie keine Leerzeichen im Befehl.

Die Antwort sollte OKsetname sein. Dies wird dem zuvor gesendeten OK hinzugefügt

Geben Sie nun AT+BAUD8 ein. Damit wird Baud auf 115200 eingestellt.

Die Antwort sollte OK115200 sein. Wenn weitere AT-Befehle gesendet werden sollen, muss die Baud-Einstellung des Serial Monitors auf 115200 geändert werden.

Andere Tarife können eingestellt werden. Baud4 ist 9600, Baud5 ist 19200, Baud6 38400, Baud7 57600. Es gibt höhere Einstellungen als 115200, aber überprüfen Sie zuerst, ob Ihr PC und Arduino diese akzeptieren können (meine darf 128000 nicht überschreiten). Hinweis - Wenn Sie eine zu hohe Rate einstellen, können Sie nicht mit ihr kommunizieren, um sie zurückzusetzen!!!

Bild
Bild

Schritt 3: Bluetooth-Modul konfigurieren - Teil 2 - HC-05 und Ersttest

HC-05

Diese haben die Komplikation, dass sie manuell in den AT-Modus versetzt werden müssen. Das Handbuch sagt, dass, wenn der AT-Modus nach dem Einschalten ausgelöst wird, die Baud-Einstellung mit der bereits für die normale Kommunikation eingestellten Rate fortgesetzt wird. Ich konnte das nicht zum Laufen bringen! Wenn jedoch der AT-Modus beim Einschalten eingestellt ist, wird die Baudrate auf 38400 eingestellt. Daher ist diese letztere Option die zuverlässigste, da wir sicher sein können, dass die Baudrate 38400 beträgt.

Öffnen Sie den Arduino Serial Monitor über Tools> Serial Monitor. Stellen Sie die Baudrate auf 38400 ein und stellen Sie „Carriage Return“ein.

Der nächste Schritt ist, das Board in den AT-Modus zu bringen. Hier entstehen die meisten Probleme aufgrund von Unterschieden in den Trägerplatinen.

Der grundlegende Vorgang besteht darin, den „Key“-Pin (Pin 34) beim Einschalten einige Sekunden lang niedrig zu halten.

Mein Board hat dafür eine Taste (die beiden zusätzlichen Anschlusspins sind EN und STATE). Trennen Sie das Vcc-Kabel vom Bluetooth-Modul. Halten Sie dann die Taste gedrückt und legen Sie erneut 5 V an Vcc an. Die LED sollte in Intervallen von etwa 2 Sekunden blinken. Ich halte die Taste bis zum zweiten Blinken.

Einige Boards haben einen Key-Pin als einen der 6 Pins zum Modul. Wenn ja, binden Sie dies beim Einschalten an 3,3 V.

Einige Boards haben keines von beiden und die Benutzer mussten einen Knopf zwischen dem Key-Pin (34) und 3,3 V (Pin 12) löten. Siehe beiliegendes Handbuch.

Wenn die LED langsam blinkt, können wir die Kommunikation überprüfen. Geben Sie AT ein und klicken Sie auf Senden. Die Antwort sollte in Ordnung sein. Ich stellte fest, dass diese Antwort ständig wiederholt wurde, bis ich eine leere Zeile abschickte – klicken Sie einfach auf Senden. Wenn Sie ERROR:(0) erhalten, senden Sie eine Leerzeile und senden Sie dann AT.

Legen Sie nun einen neuen Namen fest. Geben Sie AT+NAME=ARDUINO ein. Die Antwort sollte OK sein. In meinem Fall wurde das Modul jedoch aus dem AT-Modus zurückgesetzt (LED blinkt schnell). Ich konnte die Ursache nicht finden und dies geschah auch bei Verwendung einer seriellen FDTI-Verbindung anstelle des Arduino. Ich bin wie zuvor in den AT-Modus zurückgekehrt: Trennen Sie das Stromkabel von der Platine und schließen Sie es wieder an, während die Taste gedrückt wurde. Spätere Kontrollen ergaben, dass der Name geändert wurde.

Als nächstes stellen Sie den Baud ein. Geben Sie AT+UART=115200, 1, 0 ein. Die Antwort sollte OK sein. Es sprang jedoch manchmal wie oben aus dem AT-Modus heraus.

Die UART-Einstellung kann mit dem Befehl überprüft werden: AT+UART? Die Antwort sollte OK und +UART=115200, 1, 0. sein

Erstprüfung

Zu diesem Zeitpunkt haben wir den PC mit einer seriellen Verbindung zum Bluetooth-Modul. So kann ein erster, optionaler Test durch Starten der Smartphone BlueTerm 2 App durchgeführt werden (vorausgesetzt das Modul ist bereits mit dem Telefon gekoppelt). Verbinden Sie sich mit ARDUINO. Stellen Sie den Arduino Serial Monitor auf 115200 Baud ein. Geben Sie „Hallo Welt“ein und klicken Sie auf Senden. Dies sollte nun auf BlueTerm 2 erscheinen. Geben Sie nun 'Hallo an Sie' in BlueTerm 2 ein. Dies sollte nun im Serial Monitor erscheinen.

Bild
Bild
Bild
Bild

Schritt 4: Verbinden Sie das Bluetooth-Modul mit Arduino

Wir müssen zuerst unsere Arduino-Testskizze laden. Die angehängte BTtest.ino sendet alle 0,5s eine Zahl und erhöht sie dann, wobei sie von 255 auf 0 übergeht. Erstellen Sie einen Ordner namens BTtest in Ihrem Skizzenordner und fügen Sie BTtest.ino hinzu

Die serielle Verbindung von Arduino wird auch zum Herunterladen von Skizzen verwendet. Also müssen die beiden Drähte zum Bluetooth-Modul getrennt werden, damit es nicht stört.

Nachdem Sie die Skizze heruntergeladen haben, verbinden Sie das Bluetooth-Modul erneut. Beachten Sie jedoch, dass Tx und Rx auf dem Arduino im Vergleich zum früheren Konfigurationssetup vertauscht werden müssen.

Also verbinden:

  • 3k3 Widerstand zu D1
  • 6k8 Widerstand gegen Masse
  • Verbinden Sie die anderen Enden der beiden Widerstände miteinander und mit dem Rx-Pin des Bluetooth-Moduls
  • Verbinden Sie den Tx-Pin des Bluetooth-Moduls mit D0
  • Verbinden Sie den Erdungsstift des Bluetooth-Moduls mit GND Verbinden Sie den Erdungsstift des Bluetooth-Moduls mit GND
  • Verbinden Sie den Vcc-Pin des Bluetooth-Moduls mit 5 V

Siehe Bild für Details.

Bild
Bild

Schalten Sie nun den Arduino ein. Es muss nicht an einen PC angeschlossen werden.

Koppeln Sie das Board mit dem Smartphone, wenn es noch nicht verbunden ist (siehe oben Bluetooth-App installieren). Starten Sie dann BlueTerm 2, klicken Sie auf Einstellungen, dann auf Gerät verbinden und wählen Sie ARDUINO. Der Bildschirm sollte sich mit Zahlen von 0 bis 255 füllen.

Bild
Bild

Ich hoffe, Sie finden das genauso nützlich wie ich.

Mike

Bluetooth-Herausforderung
Bluetooth-Herausforderung
Bluetooth-Herausforderung
Bluetooth-Herausforderung

Zweitplatzierter bei der Bluetooth-Challenge

Empfohlen: