Arduino Bluetooth Tutorial
By admin, Juni 5th, 2011,in Arduino, Arduino Workshops, Workshops | 9 Comments »
Neben den Ultraschallsensoren hab ich jetzt auch noch ein Bluetooth Modul gekauft. Dieses habe ich heute auch mit meinem Arduino gekoppelt und wollte euch das hier mal mit einem kleinen Tutorial kundtun.
Was benötigen wir hierfür:
- Arduino Uno
- Bluetooth Modul (bspw. Sparkfun BlueSMIRF)
- Rechner mit Bluetooth
Ich gehe mal davon aus, dass ihr das Bluetooth an eurem Rechner selbsständig zum Laufen bekommen werdet und fange deshalb gleich mit der Inbetriebnahme des Bluetooth Moduls für den Arduino an.
Mein Bluetooth Modul (Sparkfun BlueSMIRF RN-V1) hat 6 Anschlüsse. Auf diese habe ich als erstes eine Buchsenleiste gelötet, um nachher besser mit den Steckverbindungen klarzukommen.
Verbindungen bitte wie folgt:
- VCC mit 5V des Arduino
- GND mit GND des Arduino
- TX-0 mit RX<-0 des Arduino
- RX-1 mit TX-1 des Arduino
Wenn ihr jetzt Strom an den Arduino gebt, sollte eine kleine rote LED auf dem BlueSMIRF anfangen zu blinken. Damit habt ihr den ersten Schritt getan und euer Bluetooth Modul funktioniert.
Jetzt müsst ihr euer Bluetooth Modul mit eurem Rechner verbinden. Die Werkseinstellung für das Passwort des BlueSMIRF ist 1234. Damit solltet ihr jetzt euren Rechner schonmal mit eurem Arduino gekoppelt haben.
WICHTIG: Mit Hilfe des Bluetooth Moduls können keine Programme auf den Arduino geladen werden. Ich weiss, dass ist schade, aber es ist nunmal so.
Also schreiben wir ein kleines Programm, welches wir auf den Arduino laden. Wichtig ist hierbei, dass die PINs an RX und TX abgezogen sind, während wir mit USB verbunden sind. Mein Programm zum Test sieht so aus:
Ich hab also den USB Stecker jetzt dran und lade das Programm hoch. Nachdem alles geklappt hat ziehe ich den USB Stecker vom Arduino ab und verbinde wieder beide Stecker mit RX und TX. Danach öffen ich die Konsole (Terminal in meinem Macbook) und suche nach der Bluetooth Verbindung:
Jetzt wo wir wissen, wo sich unser Bluetooth Modul befindet, stellen wir eine Verbindung her:
>> screen /dev/tty.FireFly-BFAD-SPP 115200
Mit diesem Befehl öffne ich einen Screen und verbinde mich dann seriell mit dem Bleutooth Modul an unserem Arduino über die Baudrate von 115200. Die LED des Bluetooth Moduls sollte jetzt von rot blinked auf grün wechseln.
Jetzt wird es Zeit, dass wir unser Programm testen. Dazu drücken wir einfach die 1 und die 0 abwechselnd und schalten damit über Bluetooth die LED an unserem Arduino an und aus.
Die Beispielanwendung ist super simpel, sollte euch aber zeigen, was wir jetzt hier geschafft haben. Es ist möglich, dass wir an das Arduino Board direkt Signale senden und empfangen können. Damit wird es möglich sein, Sensoren auszulesen und drahtlos!!! an den Computer zu senden. Ausserdem wäre es möglich den Roboter über Bluetooth (bspw. das Handy) zu steuern. Wenn das mal nicht nach neuen Funktionen für mein Roboprojekt schreit.
Dann noch nen schönen Sonntag abend an alle meine Leser und bis bald.
[…] fehlt aktuell einfach die Zeit. Trotzdem habe ich heute mal wieder ein paar Stunden genutzt, um das Bluetooth Tutorial vom letzten Mal ein wenig zu erweitern und auf mein Android Telefon auszuweiten. Das ganze […]
Hallo!
Deine Seite hat mir beim Kampf gegen mein BT-Modul mächtig weitergeholfen! 🙂 DANKE!
Eines irritiert mich: gehört die Zuweisung der Variable „value“ nicht in die IF-Abfrage? Sonst steht ja in der IF nix drin und abgefragt wird immer (ist eine dauernde Abfrage, auch wenn nichts da ist eigentlich egal?).
Und nun hoff ich auf Deinen Rat: wie stell ich es an wenn ich 2 Adruinos mit BT verbinden will. Vor allem: wie debugge ich da? Kann ja nicht wirklich mit dem Serial-Monitor nachschaun.
DANKE!
Martin
Hey Martin,
danke für das Lob. Ich hab selber viel rumexperimentieren müssen, um das vernünftig zum Laufen zu bekommen und hab dann einfach mal alles aufgeschrieben :-D. Kann dir leider jetzt nicht genau sagen, warum das mit dem Serial.available() so gemacht wird. Kann sein, dass da im Serial Objekt ne Variable gesetzt wird, müsste ich aber selbst erst nachschauen. Hab dazu gerade aber keine Zeit…
Zu deiner Frage bzgl. zwei BT Modulen. Ich hab das selber noch nicht getestet, aber ich habe hier ein Arduino Mega mit mehreren Communication Ports. Hab da zum Beispiel eine Verbindung per Bluetooth (Serial1) hergestellt und den Output auf USB (Serial0) gepostet. Das hat ziemlich gut geklappt.
Hab dazu auch was geschrieben hier: Arduino Bluetooth und USB Datenübertragung parallel
Vielleicht hilft dir das ja weiter?
Gruß,
Roland
[…] gibt ein Bluetooth Modul, welches ich für die manuelle Übernahme des Roboters […]
[…] Das ist ja schonmal ein Anfang. Die genaue Beschreibung dieses Programmes findet ihr im Arduino Bluetooth Tutorial. Verbindung ist also erfolgreich […]
Hi,
wie ist dass denn wenn ich solch einen bluetooth empfänger über ein android smartphone ansteuern will?
gibt es dann dafür vorgefertigte apps oder so?
Hey Börni,
das ist kein Problem. Erste Versuche habe ich bereits damit gemacht. Hier kannst du was drüber lesen:
http://www.robosphere.de/arduino-und-android-erste-versuche/
Sehr guter Artikel! Der Preis für das Modul ist allerdings heftig. Ich teste gerade mit eine Modul von eBay. Das kommt für 6€ aus Hongkong. Ist zwar sehr fummlig zu löten, aber es macht denke ich genau das selbe…
am besten mal nen link posten und von deinen erfahrungen erzählen. ist sicherlich für alle interessant, wenn man 30€ sparen kann.