Arduino – Bluetooth in das Projekt einbauen (Teil 1)

Neben den vielen Schnittstellen neben USB, Seriellen Anschluss und Infrarot gibt es noch viele weitere Möglichkeiten, Arduinoprojekte mit anderen Geräten kommunizieren zu lassen. Heute soll es um Bluetooth gehen. In Teil 1 wird die Konfiguration des Moduls HC-06 behandelt. In Teil 2 seht ihr dann, wie ihr das Modul dann letztendlich benutzt.

Ich möchte euch zeigen, wie ihr den Arduino mit Bluetooth ausstatten könnt. Zwar gibt es auch eine Version des Arduino, der ab Werk mit Bluetooth daher kommt, trotzdem möchte ich euch zeigen, wie es mit einem wesentlich günstigeren Bluetoothmodul geht. Ich benutze das Modul HC-06, das auf eBay und Amazon von verschiedenen (asiatischen) Händlern schon für unter 10 Euro zu haben ist.

Voraussetzungen

  • Das Bluetoothmodul (Alternative: HC-05, das neben dem Slavemodus auch den Master beherrscht, die Konfiguration ist aber leicht anders.)
  • Ein Arduinoboard (Ich benutze wieder meinen Mega 2560 R1)
  • Vier Jumperkabel

Das Verdrahten

fritzingsketch

Wieder stelle ich hier einen fritzing-sketch zur Verfügung. Diesmal wegen der Einfachheit des Aufbaus nur in der Schaltplanansicht. Da der Arduino Uno eher im Umlauf ist als mein Mega 2560 seht ihr im Sketch den Uno.

Als Text:

  • VCC an 5V
  • GND an GND
  • TX an RX (2)
  • RX an TX (3)

Wichtig: Solltet ihr einen Mega oder einen Leonardo, Micro oder 101 benutzen, können nicht alle Pins für die SoftwareSerial-Schnittstelle verwendet werden. Beachtet hierzu die Hinweise in der Dokumentation der Bibliothek.

Wenn ich meinen Arduino Mega benutze, nehme ich die Pins 10 und 11, statt 2 und 3. Der Sketch muss dann natürlich auch verändert werden.

Upload des Konfigurationssketches

Lade den folgenden Sketch auf den Arduino hoch:

Warum ich zum konfigurieren die Library SoftwareSerial benutze, seht ihr dann in Teil 2.

Nach dem Upload ist es dann möglich, sogenannte AT-Befehle zu benutzen, welche das Bluetoothmodul letztendlich für seinen Gebrauch konfigurieren.

Die Konfiguration

Starte die Arduino-IDE und gehe in den Seriellen Monitor. Schau nach ob die Zeilenenden auf Kein Zeilenende eingestellt sind. Sende zum Test den Code AT. Das Modul sollte dann mit OK antworten, was dann im Seriellen Monitor zu lesen sein sollte. Wenn du OK lesen kannst, kannst du folgende Befehle benutzen. Wichtig bei der Eingabe ist die Groß- und Kleinschreibung.

AT+BAUD?

Zum Einstellen der Baudrate. Ersetze ? mit folgenden Werten, um eine Änderung zu erreichen:

  • 1:   1200
  • 2:   2400
  • 3:   4800
  • 4:   9600 (Standard, empfohlen)
  • 5:   19200
  • 6:   38400
  • 7:   57600
  • 8:   115200
  • 9:   230400
  • A:   460800
  • B:   921600
  • C:   1382400

Beispiel: AT+BAUD5 setzt die Baudrate des Bluetoothmoduls auf 19200

Antwort: OK??? (Im Beispiel: OK19200)

AT+NAME???

Zum Ändern des Modulnamens, der dann in scannenden Bluetoothgeräten sichtbar wird.

Beispiel: AT+NAMEWlanowski, setzt den Namen auf Wlanowski

Antwort: OKname

AT+PIN????

Zum Ändern des Paarungscodes, der beim Paaring eingegeben werden muss.

Beispiel: AT+PIN1234 setzt den Code auf 1234.

Antwort: ATsetpin

Es gibt noch einige andere, für meine Zwecke aber nicht benötigte Befehle, auf die ich jetzt nicht eingegangen bin. Sie sind im Datenblatt des Moduls zu finden.

Fortsetzung Arduino – Bluetooth in das Projekt einbauen (Teil 2)

Konfigurationssketch zum Download

4 Kommentare:

  1. das Sketch File lässt sich nicht compelieren und damit hochladen !
    Folgende Fehlermeldung kommt :

    btconf:7: error: expected ‚,‘ or ‚;‘ before ‚void‘
    error: expected ‚,‘ or ‚;‘ before ‚void‘

    Verwendete Arduino-Softwareversion : 1.6.5

    1. Hallo iswestija,

      vielen Dank für deinen Kommentar. In der Tat hat mein Sketch einen Fehler, der mir gar nicht aufgefallen ist. Deshalb möchte ich mich herzlichst für deinen Hinweis bedanken.

      In Zeile 4 fehlte ein abschließendes „;“. Ich habe den Fehler korrigiert. Der Sketch sollte nun laufen. Liebe Grüße!

  2. Hallo Wlanowski,
    ich habe das BT-Modul an meinen Nano angehängt, Sketch läuft an, aber die AT-Befehle bewirken nichts. Weder auf Pin 2,3 noch auf Pin 10,11. (Sketch habe ich jeweils an die Pins angepasst). Wenn ich am Handy nach BT-Geräten suche, taucht es als BT05 auf, lässt sich aber nicht verbinden. Wo sollte ich suchen?
    mfg
    Gerd

    1. Hallo Gerd, danke für deine Nachricht und entschuldige die späte Antwort durch den Unistress den ich gerade habe.

      Bewirken nur die AT-Befehle nichts und bekommst du die Meldung „AT-Befehle eingeben?“ vom Arduino auf deinen Serial-Monitor gesendet?

      Wenn ja befürchte ich, dass dein Bluetooth-Adapter den selben Schaden hat, wie meiner gerade. Ich habe nämlich genau das selbe Phänomen, ich kann mich aus unerklärlichen Gründen auch nur mit dem Notebook über BT anmelden (liegt wohl daran, dass diese miteinander gepairt sind), bekomme da in TeraTerm aber falsche Werte vom Bluetooth-Adapter überliefert.

      Ich habe mir auf Amazon noch einen HC-06 aus China geordert, der wunderbar funktioniert.

      Im Zweifel würde ich aber vorher die Standardprozedur durchführen: Die Schaltung überprüfen, Teile und Leiter austauschen, und auch mal andere Sketches von anderen Leuten versuchen.

      Ich hoffe ich konnte dir helfen und wünsche dir eine besinnliche Vorweihnachtszeit lieber Gerd.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.