20. November 2016

Winterprojekt: Setup Arduino-Programmierung

Der Arduino Uno ist eingetroffen. Nun kann es mit dem Winterprojekt weitergehen. Zuvor ist aber etwas Installationsaufwand zu treiben.

Für den Uno gibt es eine Entwicklungsumgebung, die weiterhin auch für andere Controller verwendbar ist. Auf der Homepage finden sich neben vielen Informationen und Anleitungen die Download-Seite mit dem Installer der IDE. Das ist die Abkürzung für integrierte Entwicklungsumgebung. Sie kann hier jeder passend zum jeweiligen Betriebssystem herunterladen.

Der Arduino unterhält sich technisch über eine serielle Schnittstelle, wie sie bei den ersten Mäusen benutzt wurde. Die gibt es heute aber an keinem Rechner mehr. Aber es gibt USB, den universellen seriellen Bus. Dafür bringt der Installer gleich einen passenden Treiber für die Kommunikation des Arduino mit dem Computer mit. Die USB-Geräte unterhalten sich auch seriell und deshalb sorgt der Treiber für eine Übersetzung zwischen den beiden seriellen Varianten.

Hinweis:
Bei einer Internetsuche können zwei Seiten gefunden werden: arduino.cc und arduino.org. Auch in die Welt der offenen Soft- und neuerdings auch Hardware sind die Menschen sich ebenfalls nicht immer einig. Das ist hier genauso. Ich bevorzuge die erste Adresse. Sie ist die ursprüngliche und ich vermute deshalb wirken mehr Menschen mit. Das lässt mehr Stabilität erwarten.

Aufbau

Steckt man ein neues USB-Gerät an einen Computer, dauert es immer einen Moment bis es erkannt wird. Die IDE muss den Arduino ebenfalls erkennen, folglich stecke ich ihn an den Rechner bevor ich die Umgebung starte.

Die Installation ist abgeschlossen. Der Uno ist mit dem Computer verbunden und anschliessend die IDE gestartet. Zeit das Zusammenspiel der beiden zu testen. Bei Programmiersprachen ist es üblich, zunächst ein “Hallo World” auszugeben. Klingt albern, zeigt aber deutlich: die Umgebung ist eingerichtet und funktioniert. Der Arduino hat keinen Bildschirm für eine Ausgabe, aber eine kleine Leuchtdiode auf der Platine. Das mitgelieferte Beispielsprogramm Blink läßt diese Diode blinken.

Arduino-IDE

Und da ist auch schon die erste Hürde. Der Arduino ist mit dem Rechner verbunden, bloß das die  Diode auf dem Board bereits zu blinken beginnt. Das heisst, der Hersteller verwendet dieses Programm offensichtlich für den Test des Aufbaus. Das stört aber nur bedingt. Das Blinken ist gleichmäßig und das Programm kann einen abweichenden Rhythmus vorgeben, so dass ein Unterschied zu erkennen ist.
Nun also erst mal die IDE starten. Im erscheinen Fenster ist ein Programmrumpf zu sehen. Darüber befinden sich Icons. Das Häkchen-Icon ganz Links überprüft die KorreStartfenster der IDEktheit eines Programmes. Es folgt das Icon, dass ein Programm auf das Board überträgt. Die folgenden dienen dem Öffnen, Speichern und beginnen neuer Programmdateien. Die IDE verrät die Funktion in einem Hilfetext, sobald der Mauszeiger über den Icon verweilt. Unter dem Programmcode-Fenster befindet sich die Konsole. Sie enthält die Ausgaben der Umgebung. Fortschritt beim Verarbeiten und Übertragen oder entdeckte Fehler im Code.

Beim öffnen eines neuen Programms – die Arduino IDE nennt dies Sketch – sind die Rümpe einer setup() und der loop()-Funktion zu erkennen. Für setup() gilt: der Name ist Programm. Hier können Variablen oder Hardware initialisieren werden. Die loop()-Funktion wird in einer Endlosschleife ausgeführt und enthält das, was der Controller verrichten soll.

Konfiguration

Bevor das Blink-Programm gestartet wird, ist die Entwicklungsumgebung noch zu konfigurierten. Im Menü “Werkzeuge” stelle ich unter “Platine” den “Arduino/Genunio Uno” ein. Unter Port ist die serielle Schnittstelle auszuwählen, die der Treiber zur für die Kommunikation mit dem Board bereitstellt. Bei meinem Mac heisst sie “/dev/usbmodem411” auf Windows erscheint ein “COM” gefolgt von einer Nummer. Im Idealfall weisst die IDE darauf hin, dass mit Port ein Board verbunden ist.

Blinkprogramm aktivieren

Das Test-Programm, “Blink”, ist eins von mehren mitgelieferten Beispielen. Es ist wie im Bild gezeigtPfad zum Blinkprogramm im Datei-Menü zu finden. Die Beispiele liefern Vorlagen für die verschiedenen Themen, in denen sich angehende Bastler zu unterschiedlichen Themen orientieren können.

Alldieweil ist das Testprogramm Blink geöffnet. An Pin 13 ist die Leitdiode (LED) auf dem Board angeschlossen. Deshalb definiert die setup()-Funktion diesen Pin als Ausgang. In loop() wird nun

  1. die LED eingeschaltet,
  2. eine Sekunde gewartet,
  3. die LED ausgeschaltet,
  4. wieder eine Sekunde gewartet
  5. und das ganze beginnt von vorn.

Damit eine die Wirkung des Programmes zu sehen ist, verändere ich das An-/Aus-Verhältnis der LED zu

void loop() {
  digitalWrite(13, HIGH);
  delay(200); // warte nur kurz
  digitalWrite(13, LOW);
  delay(800); // pausiere deutlich länger
}

Noch einem Klick auf das Hochladen-Icon, anschliessend sind in der Konsole die IDE-Aktivitäten zu verfolgen: Übersetzen und Packen des Programmes und die folgende Übertragung. Sobald sie startet, ist ein “Flimmern” zweier Kontrolle-LEDs auf dem Board zu erkennen. Anschließend blinkt die Diode auf dem Board nicht mehr gleichmäßig, sondern blitzt entsprechend kurz auf.

Ein Programm wurde übertragen, anschliessend wird es ausgeführt und die LED blitzt.

2 Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.