actionbrowser.com
Steuerung per Bluetooth Die HC-05- bzw. HC-06-Bluetooth-Module haben sich zum de-facto-Standard entwickelt, wenn es darum geht, den Arduino per Bluetooth zu steuern. Dazu werden von einer Android-App (Smartphone oder Tablet) einzelne Zeichen via Bluetooth gesendet und vom HC-05-Modul empfangen und an den RXD-Eingang des Arduino übertragen. Die ankommenden Zeichen werden mittels () direkt eingelesen und als Befehle interpretiert. Im folgenden Beispiel schaltet das Zeichen "1" eine LED ein und das Zeichen "0" schaltet die LED wieder aus. HC-05-Module sollten (nach meinen Versuchen mit dem kompatiblen JDY-30) am Arduino UNO R3 mit 5V Vcc betrieben werden. Bei RXD und TXD steht nun ganz deutich "Level 3, 3 V". Dies führt oft zu Verwirrungen. Streng genommen benötigt man also für beide Pins Spannungswandler? Robotik, Technik und andere Spielerein | Robosphere » Blog Archive » Arduino Bluetooth Tutorial. Nein - nur für RXD! Abbildung: Das Bluetooth-Modul HC-05 / FC-114 Sobald man Vcc des HC-05 mit 5V versorgt liegt am Ausgangs-Pin TXD automatisch HIGH-Pegel 5V an. Das ist für den Arduino UNO R3 perfekt, da dessen Pegel für die Pins 0 bis 13 ja mit 5V definiert sind.
So ist der Verbindungszustand sichtbar und das Bluetooth-Modul wird nicht mit dem Strom für die LED belastet. Hubert Baumgarten
so aussehen:
Aufbau der Schaltung für den Betrieb des Bluetooth Moduls
Quellcode
Folgenden Quellcode habe ich von GitHub geladen und meinen Bedürfnissen für dieses Tutorial angepasst. #include Entsprechend werden auch RX (Bluetooth) und TX (Arduino) verbunden. Hierbei ist jedoch zu beachten, dass der von uns verwendete Arduino UNO mit 5V Logik-Signalen arbeitet, das Bluetoothmodul jedoch eine 3, 3V Logik verwendet. Beim Senden von Bluetooth (TX) nach Arduino (RX) stellt das kein Problem dar, die Verbindung in die andere Richtung muss jedoch über einen Spannungsteiler mit zwei Widerständen (Verhältnis in etwa 2:1) erfolgen. Dadurch wird das 5V-Signal vom Arduino auf 5*2/(2+1)=3, 33V reduziert, um das Bluetoothmodul nicht zu schädigen. Arduino mit bluetooth headset. Nun wird alles, was der Arduino normalerweise auf dem seriellen Monitor ausgeben würde über das Bluetoothmodul an einen Empfänger (z. B. Smartphone) gesendet. Zu beachten bleibt noch, dass man die Verbindungen an RX und TX des Arduinos trennen muss, wenn man ein Skript wie üblich über USB auf den Arduino spielen möchte und sie dann nach der Übertragung wieder verbindet. Smartphone
Um die vom Arduino gesendeten Daten mit einem Smartphone empfangen und darstellen zu können, bedarf es einer App. Die TXD /RXD Anschlüsse funktionieren ebenfalls problemlos mit dem 5V TTL-Spannungslevel des Arduino. Man kann also einfach VCC (5V) und GND mit dem Arduino verbinden und die TXD und RXD Anschlüsse gekreuzt, also TXD an RX und RXD an TX, anschliessen. Achtung wenn man die Standard-Anschlüsse benutzt (Pin 0 und 1), dann darf diese Verbindung nur solange bestehen, wie der USB-Port nicht angeschlossen ist bzw. kein USB-Daten-Verkehr (Download/Serial-Port) stattfindet. Die bessere Lösung ist die Softserial-Libray zu nutzen und z. an Port 2/3 eine 2. Serial-Verbindung einzurichten. Mit der Arduino-Entwicklingssoftware wird eine Libary und ein Beispielprogramm mitgeliefert. Dieses Beispielprogramm sendet einfach alle auf der einen Schnittstelle empfangenen Daten an die andere Schnittstelle. Damit läßt sich der Datenverkehr testen und das Bluetoothmodul konfigurieren. Die Baudrate für das Bluetooth-Modul muß auf 9600 Baud gesetzt werden. Arduino mit bluetooth mode. Eine Anwendung könnte so entwickelt werden, dass die Kommunikation, die später über Bluetooth abgewickelt werden soll, zuächst über den Serial-Port getestet wird und anschliessend das Bluetooth-Modul angeschlossen wird.Arduino Mit Bluetooth Mode