Raspberry Pi und Arduino Uno verbinden

© iofoto, Fotolia

Dynamisches Duo

,

Eine Kombination aus Raspberry Pi und Arduino eignet sich bestens für anspruchsvolle Aufgaben bei der Sensorik und Heimautomation. Dabei ergänzen sich die Stärken der beiden Boards ideal.

Wie der Raspberry Pi ist auch der Arduino unter Open-Hardware-Nutzern populär, erfüllt aber einen etwas anderen Zweck: Die Embedded-Plattform dient meist als Basis für einfache Hardware-Projekte. Mit ihrer Hilfe lassen sich unkompliziert Lichter, Motoren und andere Geräte im heimischen Umfeld ansteuern. Anders als der RasPi verfügt der Arduino aber nicht über ein komplettes Linux-Betriebssystem und ist daher kein wirklich vollständiger Rechner. Er wurde eher als System für einfache, universelle Ein- und Ausgabe entwickelt und zielt damit klar auf elektronische Appliances ab.

In manchen Einsatzszenarien erscheint eine Interaktion zwischen Raspberry und Arduino durchaus vorstellbar. So könnte ein Programm auf dem RasPi Eingaben eines am Arduino angeschlossenen Sensors verarbeiten oder der Pi ein Signal an den Arduino schicken, damit dieser die Lichter dimmt oder die Vorhänge schließt. Im Folgenden wollen wir zeigen, wie Sie den Raspberry Pi dazu bringen, via USB-Kabel mit einem Arduino zu kommunizieren. Eine solche Konfiguration kann dann als Ausgangspunkt für eigene Projekte dienen.

Teileliste

Um einen Raspberry Pi Modell B unter Raspbian mit einem Arduino Uno R3 zu verschalten, benötigen Sie ein Breadboard, drei Kabel für die Verbindungen von und zu diesem, ein Netzwerkkabel für den RasPi, ein USB-Kabel für den Arduino, einen 220-Ohm-Resistor sowie eine 3,5-Millimeter-LED (als Statusanzeige).

Auf dem Raspberry richten Sie zunächst einmal die Arduino-Entwicklungsumgebung ein, die Sie im Paket arduino finden. Zusätzlich benötigen Sie die Python-Bibliothek python-serial aus dem gleichnamigen Raspbian-Paket. Haben sie beides installiert, können Sie die Arduino-IDE aus dem Hauptmenü heraus über Elektronik | Arduino IDE starten (Abbildung 1).

Abbildung 1: In der Arduino-IDE schreiben Sie Programme für den Arduino, übersetzen diese, und schicken Sie an das Board.

Serial Arduino

In der Arduino-Entwicklungsumgebung tippen Sie den Code aus Listing 1 ein. Ein solches Code-Stück nennt man im Arduino-Jargon einen Sketch. Dieser liest von einer seriellen Schnittstelle (in diesem Fall der USB-Anschluss) und lässt eine LED so oft aufleuchten, wie die Variable num aus den eingehenden Daten es vorgibt.

Listing 1

 

# helloArduino.ino
const int ledPin = 8;
void setup()
{
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}
void loop()
{
 if (Serial.available())
 {
  int num = Serial.read() - '0';
  {
   for (int i= 0; i<num; i++)
    {
     digitalWrite(ledPin, HIGH);
     delay(300);
     digitalWrite(ledPin, LOW);
     delay(300);
    }
   }
  }
 delay(1000);
}

Nach dem Abspeichern des Codes laden Sie den Sketch auf den Arduino hoch. Dazu verbinden Sie den Arduino mit einem USB-Port des RasPi und klicken den Upload-Schalter an (das zweite Icon von links in der Werkzeugleiste der Arduino-IDE). Dies sendet den kompilierten Sketch an den Arduino. Behalten Sie dabei das Statusfenster ganz unten in der Arduino-IDE im Auge. Geht bei der Übertragung etwas schief, müssen Sie eventuell den Port für den Arduino unter Tools | Serial Port einstellen. Der dem Arduino zugeordnete Port erscheint in aller Regel automatisch in der IDE und heißt fast immer ttyACM0.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 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

10/2018
Weltweiter Empfang

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Physiklabor

    Der Java-Dialekt Processing zielt auf interaktive Animationen ab und eignet sich auch für Programmiernovizen.

  • Abstand halten

    Der VL53L0X misst präzise Entfernungen bis zu zwei Metern. Das macht ihn zum passenden Kandidaten für RasPi-Projekte.

  • Tux-Funk

    Der SDR-Empfänger RSP2pro von SDRplay bringt Amateurfunk auf den Raspberry Pi.

  • Himbeersieb

    Die aus Österreich stammende Upribox auf Basis des Raspberry Pi schützt wirkungsvoll vor Gefahren aus dem Internet. Jetzt ist das System in der zweiten Version erschienen.

  • Unter Kontrolle

    Das programmierbare Steuermodul Controllino bietet mit seinen zahlreichen Ein- und Ausgängen vielfältige Möglichkeiten.

  • Dehnübungen

    Ein RasPi eignet sich bestens zum Steuern eines Fischertechnik-Roboters. Damit dabei kein Chaos entsteht, gilt es, die Steuerung genau zu programmieren.

  • Klangmaschine

    Der RasPi bringt genügend Performance mit, um als kleine DAW zu dienen. Mit Waveform 9 haben Sie die passende Software zur Hand.

  • Fremdgehen

    Nicht jedes Programm gibt es auch für die ARM-Architektur. Der kommerzielle Emulator Exagear Desktop fungiert als Übersetzer zwischen der ARM- und x86-Welt.

  • Ausfallsicher

    Eine selbst gebaute USV für den RasPi verschafft Ihnen die entscheidenden Sekunden, um bei unerwarteten Stromausfällen einem Datenverlust vorzubeugen.

  • Am laufenden Band

    Die Kombination aus einem Fischertechnik-Bausatz und dem Controllino-Modul bietet eine ideale Basis, um ein funktionierendes Industriemodell zu gestalten.