Lektion 7 – Digital Out: Endlich geht es los!

Hast du die Schaltung aus Lektion 6 aufgebaut? Sehr gut! Wenn du das Arduino-Board schon mit deinem Computer verbunden hast, dann ziehe es noch einmal heraus. Öffne die Arduino-Software auf deinem Computer und lass uns zwei kleine Einstellungen machen.

1

Klicke im Menü auf Tools > Board und wähle »Arduino UNO« aus.

Arduino Board auswählen

2

Nun klicke auf Tools und dann auf Port. Merke dir die Informationen zu den Ports. Du kannst sie dir auch auf einen Zettel schreiben. Jetzt schließe das Arduino-Board an und klicke in der Software noch einmal auf Tools > Port. Mindestens ein Port ist jetzt neu dazu gekommen (Auf dem Mac ist es »/dev/tty.usbmodem….«, unter Windows meistens »COM…«). Wähle den neuen Eintrag aus. Fertig.

Arduino Port auswählen

Jetzt weiß die Arduino-Software, was für ein Arduino-Board wir haben und wo es angeschlossen ist.

Programmieren

Der weiße Bereich der Arduino-Software ist das Programmierfenster. Hier schreiben wir alles hinein. Schreiben? Ja, Programmieren ist nichts weiter, als Befehle hintereinander zu schreiben.

Arduino Software

Auch beim Programmieren gibt es Regeln für Rechtschreibung und Grammatik. Diese Regeln nennt man Syntax. Das lernst du aber ganz schnell.

Wenn man ein Arduino-Board programmieren möchte, muss man erst einmal Folgendes in das Programmfenster schreiben. Es ist die Grundkonstruktion eines jeden Arduino-Programms:

void setup(){

}

void loop(){

}

Sieht komisch aus? Also das hier sind zwei Methodenblöcke. In eine Methode kann man Befehle reinschreiben, die das Programm dann ausführt. Ein Befehl könnte sein: Schalte eine LED an!

Die geschweiften Klammern öffnen und schließen den Methodenblock. Alles, was zwischen den Klammern steht, gehört zur Methode. Das Wort void sagt dem Arduino-Board, dass nun eine Methode folgt. Nach dem Wort void kommt der Methodenname. In diesem Fasll ist es setup und loop. Hinter dem Methodenname schreibt man Klammer auf und Klammer zu.

Aber mach dir um die Schreibweise keine Sorgen. Das lernst du automatisch und außerdem zeige ich dir hier, wie es richtig geschrieben wird.

Auf der Tastatur findest du die geschweiften Klammern beim PC mit Alt-Gr + 7 und Alt-Gr + 0, am Mac mit Alt + 8 und Alt + 9.

Setup und Loop

Stell dir vor, du bekommst ein neues Fahrrad. Als erstes stellst du den Sattel und vielleicht den Lenker auf deine Größe ein. Du machst also die Einstellungen. Auf Englisch heißt das Setup. Das machst du nur einmal. Und dann? Na dann setzt du dich auf den Sattel und trittst in die Pedale. Und das wiederholst du immer und immer wieder. Wiederholung nennt man in der Programmierung Schleife und im Englischen heißt Schleife loop.

void setup(){

}

Dieser Teil wird nur einmal ausgeführt, so wie das Einstellen der Sattelhöhe auch nur einmal gemacht wird. Es ist die Setup-Methode.

void loop(){

}

Dieser Teil wird ständig wiederholt, so wie das Treten in die Pedale. Es handelt sich um eine Endlosschleife. Das ist die Loop-Methode.

Befehle

Na gut. Und wie hilft uns das jetzt weiter? Reden wir kurz darüber, was unser Programm tun soll. Es soll die LED einschalten.

Dazu müssen wir dem Arduino-Board sagen, dass wir einen digitalen Pin benutzen wollen, um etwas zu schalten, nämlich unsere LED. Das macht den digitalen Pin zu einem Ausgabe-Pin, englisch: Output. Das müssen wir nur einmal machen. Demnach können wir das in der Setup-Methode erledigen. Wir benutzen dafür einen Befehl, der dem Arduino-Board sagt, was es machen soll:

pinMode(9,OUTPUT);

Das ist ein schöner Befehl. Er besteht aus dem Schlüsselwort pinMode gefolgt von zwei runden Klammern, in denen wir sogenannte Parameter übergeben. Der erste Parameter ist die Nummer des Pins. Wir haben das Kabel in Pin 9 gesteckt, also muss hier auch eine 9 stehen. Der zweite Parameter ist die Funktion unseres Pins: OUTPUT – das bedeutet Ausgabe. Jede Befehlszeile muss mit einem Semikolon (;) beendet werden.

Also: Befehlsname, runde Klammer auf, Pinnummer, Funktion, runde Klammer zu, Semikolon -> fertig ist der Befehl.

Jetzt weiß das Arduino-Board also, dass wir einen Pin als Output verwenden wollen. Nun müssen wir ihm noch sagen, dass es den Pin auch einschalten soll.

digitalWrite(9, HIGH);

Na der sieht doch dem anderen Befehl sehr ähnlich, oder? Der Befehl heißt digitalWrite. Auch dieser Befehl bekommt Parameter übergeben. Es handelt sich wieder um die Pin-Nummer (9) und die Information, was damit passieren soll. HIGH bedeutet, schalte den Kanal an. LOW würde bedeuten, schalte ihn aus. Wir wollen das jetzt nur einmal machen und somit kannst du diesen Befehl auch ins Setup schreiben.

Das Programm sollte jetzt so aussehen:

void setup(){
  pinMode(9,OUTPUT);
  digitalWrite(9, HIGH);
}

void loop(){

}

Wenn du vor den Befehlen einmal auf die Tabulatortaste drückst, rücken die Zeilen etwas nach rechts. Dann ist das Programm einfacher zu lesen. Alternativ kannst Du im Menü einfach auf Tools > Automatisch Formatieren klicken. Dann erledigt die Arduino-Software das für dich.

Übertragen

Jetzt hast du schon ein schönes Programm, aber die LED leuchtet immer noch nicht, oder? Dazu müssen wir es nämlich noch auf das Arduino-Board übertragen. Klicke dazu im Menü auf Datei > Upload. Jetzt blinken ein paar LEDs auf dem Arduino-Board selbst und nach einigen Sekunden geht die LED an.

Leuchtet die LED nicht? Prüfe noch einmal, ob alle Kabel richtig angeschlossen sind. Manchmal hat man auch einen Schreibfehler im Programm und es zeigt in dem schwarzen Bereich unter dem Programmfenster rote Schrift.

Leuchtet die LED? Herzlichen Glückwunsch!!! Du hast dein erstes Programm geschrieben.