Raspberry Pi und Arduino via UART koppeln

Arduino spricht C

Für die Programmierung des Arduino steht die leicht zu bedienende Programmierumgebung Arduino Software zur Verfügung (Abbildung 5). Viele Linux-Distributionen halten sie als Paket in ihren Repositories vor, die aktuelle Versionsnummer lautet 1.6.4 [3]. Gerade bei den neueren Arduino-Boards sollten Sie die jeweils aktuellste Version verwenden.

Abbildung 5: Die Arduino-Programmierumgebung bietet eine komfortable Möglichkeit, eigene Programme für den SBC zu schreiben.

Nach der Installation wählen Sie zunächst das Arduino-Modell aus, für das Sie ein Programm erstellen möchten, für den Uno etwa Werkzeuge | Platine | Arduino Uno. Anschließend erstellen Sie im Editor ein C-Programm. Ein Beispielprogramm für eine serielle Ausgabe zeigt Listing 1. Mit einem Klick auf den linken Button in der Menüleiste kompilieren Sie das Programm, mit dem Button rechts daneben laden Sie es in den Arduino.

Listing 1

 

int counter = 0;
void setup() {
  Serial.begin(9600);
}
void loop() {
  delay(1000);
  Serial.println(counter);
  counter = (counter + 1) % 10;
}

Eine gute Einführung in die Programmierung des Mini-Rechners finden Sie im Buch "Arduino für Einsteiger" [4]. Das Programm aus Listing 1 konfiguriert in der Funktion setup(), die es beim Anschalten des Arduino einmal ausführt, die serielle Schnittstelle. Danach läuft bis zum Ausschalten immer wieder die Funktion loop(). Das Programm legt zunächst eine Pause von einer Sekunde ein, gibt dann die Variable counter auf der seriellen Schnittstelle aus und zählt anschließend counter um eins hoch und speichert modulo 10. Dadurch zählt die Variable immer wieder von 0 bis 9 durch.

RasPi auf Empfang

Schließen Sie den Arduino an den seriellen USB-Adapter des RasPi an, so empfängt dieser die Ausgaben mit einem seriellen Terminal und stellt sie etwa mit GTKTerm dar (Abbildung 6). Die Einstellung des Programms erfolgt unter Configuration | Port. Entsprechend dem Beispielprogramm aus Listing 1 stellen Sie am Port /dev/ttyUSB0 eine Baudrate von 9600, Parity none, 8 Bits, 1 Stoppbit und Flow Control none ein. Das funktioniert aber auch mit anderen Terminalprogrammen wie Screen. Darin gibt der Aufruf von screen /dev/ttyUSB0 9600 die Nachrichten vom Arduino aus.

Abbildung 6: GTKTerm zeigt die vom Arduino generierten Ausgaben auf einem seriellen Terminal auf dem RasPi an.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

04/2019
TV & Multimedia

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Finger weg

    Ein Temperatursensor verrät, ob Sie einen Gegenstand gefahrlos berühren dürfen. Beim Messen brauchen Sie dabei noch nicht einmal Kontakt zum Objekt.

  • Aus einer Hand

    Um einen Mikrocontroller zu programmieren, genügt ein Raspberry Pi. Wir zeigen, was Sie dazu noch benötigen.

  • Im Gleichtakt

    Synchronisierte Live-Loops und selbst erstellte Funktionen helfen dabei, Sonic Pi wie ein Live-Instrument zu spielen.

  • Mach mal

    Das Ftduino-Modul schlägt die Brücke zu Fischertechnik und ermöglicht es unter anderem, einen Drei-Achsen-Roboter anzusteuern.

  • Eleganter Diener

    Jeden Morgen dieselben Handgriffe, um zu sehen, ob die S-Bahn fährt und wie das Wetter wird? Ein cleverer Infoscreen auf RasPi-Basis automatisiert den Vorgang.

  • Bienenflüsterer

    Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen sie Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.

  • Beerige Musik

    Für echten Hi-Fi-Sound braucht es mehr als einen kleinen Bluetooth-Brüllwürfel. Mit Volumio und einem Raspberry Pi rüsten Sie Ihre klassische Hi-Fi-Anlage mit smarten Funktionen auf.

  • Ton ab!

    Auf den ersten Blick erscheint der RasPi zu schwachbrüstig für den Betrieb leistungshungriger DAW-Software. Doch der Schein trügt.

  • Himbeer-TV

    Der DVB TV µHAT rüstet den Raspberry Pi mit einem DVB-T/T2-Tuner auf. Die deutsche TV-Landschaft schränkt dessen Möglichkeiten allerdings ein.

  • Git à la RasPi

    Mit wenigen Handgriffen zum Git-Hoster: Die dezentrale Arbeitsweise von Git erleichtert in Kombination mit der Netzwerkfähigkeit des RasPi das Verwalten von Quellcode.