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

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.