Mittwoch, 5. August 2015

Processing Programm steuert Arduino über Bluetooth

 In diesem Artikel geht es darum, wie man über die Programmiersprache Processing ein PC Programm erstellt, welches mit dem Arduino über Bluetooth kommunizieren, und damit Befehle übermitteln kann.

Der Aufbau

Um überhaupt mittels Bluetooth zu kommunizieren benötigt dein Arduino ein Bluetoothmodul. Ein einfach zu verwendendes, ist das HC 05 Bluetoothmodul. Den VCC Pin des Moduls verbindest du mit den 5V des Arduino, den GND Pin mit dem Ground. Der RXD Pin wird mit dem TX Pin des Arduino und der TXD Pin mit dem RX Pin des Arduino verbunden. Für die Stromversorgung verwende ich 4 AA Batterien, da ich ja sonst mit der USB Leitung "cheaten" könnte.

Der Processing Sketch

Zur Installation der Processing IDE und der Programmiersprache Processing habe ich bereits ein paar Artikel geschrieben(Installation der IDE, Daten über serielle Verbindung senden(wichtig!), ...). Um hier die Bluetoothkommunikation an einem Beispiel zu zeigen, soll unser Programm die LED des Arduino steuern können. Glücklicherweise ist die Verwendung von Bluetooth in Processing sehr, sehr(!) ähnlich mit dem Senden von Daten über die USB Verbindung. Wenn ihr den Arduino über USB an euren PC anschließt, erstellt er einen COM Port für ihn. Über diesen COM Port sendet/empfängt Processing dann Daten. Wenn ihr den Arduino über Bluetooth mit eurem PC verbindet, erstellt dieser ebenfalls einen COM Port. Der einzige Unterschied ist, dass er einen andere Nummer trägt. Bei mir ist die USB Verbindung COM3 und die Bluetooth Verbindung COM8. Wenn man dieses Detail im Processing Sketch zum Senden über USB verändert, funktioniert das Senden über Bluetooth einwandfrei. Um herauszufinden an welchem COM Port euer Arduino angeschlossen ist klickt ihr auf das blaue Bluetoothsymbol in eurer Taskleiste. Nun klickt ihr auf Einstellungen öffen. In diesem Fenster klickt ihr nun auf die Kategorie COM-Anschlüsse.
Nun seht ihr auf welchem COM Port euer Arduino angeschlossen ist. Diesen müsst ihr euch merken und in den Processing Sketch eintragen.

Der Arduino Sketch

Der Arduino Sketch muss nur eine serielle Verbindung mit der Datenrate 9600 erstellen. Dabei ist es praktisch, wieder SoftwareSerial zu verwenden, da man dadurch auch seinen Sketch aktualisieren kann, ohne das Bluetoothmodul abzustecken, da die "normale" serielle Verbindung frei bleibt. Sobald der Arduino nun etwas über die serielle Verbindung empfängt muss er nur noch überprüfen, ob es 1 ist, und die LED anmachen, oder aber überprüfen, ob der Processing Sketch 0 gesendet hat, er also die LED ausschalten soll. 

Wie man sieht ist es vergleichsweise einfach mit Processing ein PC Programm zu erstellen und mit dem Arduino über Bluetooth zu kommunizieren, da man ihn, wie bei der USB Verbindung, über einen COM Port ansprechen kann.

Keine Kommentare:

Kommentar veröffentlichen