Über das AZDelivery HC-05 Bluetooth Modul kann mit Hilfe des Arduino Daten über Bluetooth verschicken und empfangen. Dabei eignet sich als Kommunikationspartner grundsätzlich jedes andere Bluetooth Gerät.
Verkabelung
Zur einfachen Verkabelung des AZDelivery Bluetooth Moduls mit dem Arduino kommuniziert das Gerät über eine serielle Verbindung mit dem Arduino, und leitet jedes empfangene Zeichen, ähnlich wie der PC über die serielle Konsole, an den Arduino weiter. Dadurch müssen lediglich vier Verbindungen hergestellt werden:
Pin am AZDelivery HC-05 Bluetooth Modul |
Pin des Arduino |
GND |
GND |
Vcc |
+5V |
TXD |
2 |
RXD |
3 |
Setup des Arduino
Als Einstieg wollen wir eine Bluetooth Verbindung mit dem Handy aufbauen, und auf dem Handy gesendete Zeichen in der seriellen Konsole ausgeben. Aus diesem Grund können wir Pin 0 und 1 des Arduino nicht verwenden, da diese für die Verbindung zum PC notwendig sind. Stattdessen können wir jedoch über die SoftwareSerial Bibliothek, welche eine zusätzliche serielle Verbindung herstellen kann, an Pin 2 und 3 das Bluetooth Modul anschließen. Sollte eine Verbindung zum PC während der Arduino in Betrieb ist nicht notwendig sein, kann dieser Umweg natürlich weggelassen werden und direkt TXD des Moduls mit RX und RXD mit TX verbunden werden.
Im Sketch muss lediglich die Software Serial Bibliothek nachgeladen und eine Software Serial Verbindung erstellt werden. Anschließend müssen im setup Teil beide Verbindungen gestartet werden, und sobald im loop Teil etwas über die serielle Verbindung zum AZDelivery Bluetooth Modul empfangen wurde, zwischengespeichert werden, und an den PC gesendet werden. Der gesamte Sketch sieht dann so aus:
#include <SoftwareSerial.h> SoftwareSerial serialbluetooth(2, 3); void setup() { serialbluetooth.begin(9600); Serial.begin(9600); } void loop() { if (serialbluetooth.available() > 0) { String text = serialbluetooth.readString(); Serial.println((String)text); } }
Senden von Informationen:
Um nun etwas über das Smartphone an den Arduino zu senden, benötigt man eine Bluetooth Terminal App für das jeweilige Betriebssystem. Eine kurze Suche im Appstore sollte jedoch ein breites Angebot an Optionen aufzeigen. Für Android ist beispielsweise die App BlueTerm empfehlenswert. Nach der Installtion der App, muss man lediglich eine Verbindung im Bluetooth Manager zum AZDelivery Bluetooth Modul herstellen, und kann dann direkt in der App Zeichenketten an das Gerät schicken. Wenn Sie nun also die serielle Konsole am PC öffnen, und eine Verbindung zwischen dem Handy und dem Arduino herstellen, können Sie etwas am Handy eintippen und nach kurzer Zeit am PC den Text sehen. Als Erweiterung des Projekts könnten Sie beispielsweise im loop Teil eine weitere Abfrage einfügen, ob vom PC über die USB Verbindung eine Zeichenkette an den Arduino gesendet wurde, und diese dann über das Bluetooth Modul ans Handy weiterleiten. Dazu müsste nur die if Abfrage kopiert werden, und die beiden seriellen Verbindungen ausgetauscht werden:
if(Serial.available() > 0)
{
String text2 = Serial.readString();
serialbluetooth.println((String)text2); }
Im folgenden Artikel wollen wir nun die vom Handy gesendeten Informationen nicht nur über die serielle Verbindung an den PC senden, sondern den Arduino die Informationen auch auswerten lassen, um entsprechend darauf zu reagieren.
Sie brauchen HC-05 Module? Klicken Sie hier
6 comments
Andreas Wolter
@ZA: After some research, I found out that it is apparently not possible to connect an iPhone to the HC-05 module:
https://stackoverflow.com/questions/50443456/connecting-hc-05-with-iphone-se-iosv11-0
An alternative could be the HM-10 or AT-9 Module
Best regards,
Andreas Wolter
AZ-Delivery Blog
ZA
I can’t find the HC05 module with my iPhone. Iève followed all tutorials but they always use Android phones. Is my HC05 broken , or HC05 is not compatible with iOs ?
Javier Rosendo
I can’t read the following article to also let Arduino evaluate the information to react accordingly.
Andreas Wolter
@Mariotti: no external libraries are needed. The communication is realized with:
#include
which is included in the Arduino core.
I have reformatted the code.
Regards,
Andreas Wolter
AZ-Delivery Blog
Mariotti
Wich library to download from arduino please for the HC05, i don’t find them.
Thks
Hans Kusch
Es gibt eine App Virtuino.
Einfach und genial.
Einfacher Sketch auf dem Arduino, den Rest erledigt die App.
Vergleichbar mit Blynk , nur eben Bluetooth.