entrada-POST

In der vorigen Lektion haben wir uns die Solange-Schleife und den Taster angesehen, mit der wir Handlungen programmieren konnten, solange keine andere Situation eintritt. Wenn du den Kreislauf aus der vorigen Lektion erstellt hast, bist du schon startbereit. Wenn du ihn noch nicht zusammengebaut hast, findest du hier das Verbindungsschema: zum-3led-4pulsDie Module des Tasters und der LED werden mit den digitalen Pins 5 und 3 verbunden. Du kannst aber auch die LED verwenden, die in der Platine integriert und mit dem Pin 13 verbunden ist.

Die Do-While-Schleife (ausführen-solange)

Die Do-While-Schleife ist der While-Schleife sehr ähnlich, da sie auf das Eintreten einer bestimmten Situation wartet. Sie unterscheidet sich allerdings in gewissen Punkten: Während die While-Schleife ausgeführt wird, solange die Bedingung gegeben ist, wird die Do-While-Schleife zunächst einmal ausgeführt und erst anschließend geprüft, ob die Bedingung zutrifft. Hier findest du die grafischen Darstellungen beider Schleifen, While auf der linken und Do-While auf der rechten Seite:

While-loop-diagram Flowchart- dowhile

Die Syntax der Do-WhileSchleife sieht folgendermaßen aus:

Zunächst sehen wir uns den in den geschweiften Klammern enthaltenen Teil an, in die wir den Code eintragen haben, der ausgeführt werden soll und im zweiten Teil die Bedingung. Sobald der Code in die Klammern Ausführen { } geschrieben wurde, wird überprüft, ob die Bedingung zutrifft oder nicht. Wird die Bedingung erfüllt, wiederholt sich dieser Prozess so lange, bis sie nicht mehr erfüllt ist. Bei der While-Schleife hingegen wird die Bedingung überprüft, bevor der Code ausgeführt wird. Dies ist der einzige Unterschied zwischen beiden Schleifen. Wenn wir mit dem Beispiel des vorigen Codes fortfahren, können wir sehen wie der Arduino-Code der Do-While-Schleife aussehen würde. Gehen wir davon aus, dass wir über eine Variable a verfügen, bei der es sich um eine ganze Zahl handelt und die an anderer Stelle des Programmes aktualisiert wird, würde die Do-While-Schleife folgendermaßen aussehen:

Die Referenzseite zu der Do-While-Schleife findet sich hier.

Der Taster

Wenn du mehr über den Taster und die digitalen Eingaben lernen möchtest gehe zur vorigen Lektion Die While-Schleife und der Taster.

Der Code

Wenn wir davon ausgehen, dass du die Elemente so wie zu Beginn beschrieben verbunden hast, das heißt, den Taster mit Pin 5 und das LED-Modul mit Pin 3, können wir mit dem Programmieren beginnen. Zunächst bestimmen wir die Variablen, die die Nummer der Pins enthalten, mit denen wir die Hardware verbunden haben. Diese Vorgehensweise ist sehr praktisch, denn sollten wir das Verbindungsschema modifizieren, müssen wir nur einmal die Nummer des verwendeten Pins ändern. Wir verwenden hierfür den folgenden Code:

Daher können wir statt der Nummer des Pins den Namen verwenden. So wird das Programmieren einfacher, insbesondere wenn wir als Namen ein Schlüsselwort verwenden. Nachdem wir die Variablen der Pins bestimmt haben, müssen wir angeben, wie jeder einzelne Pin funktionieren wird. Dies geschieht folgendermaßen:

Dieser Code entspricht:

Anschließend erstellen wir ein Programm, das eine LED nach zwei verschiedenen Mustern zum Blinken bringt. Einmal mit gedrücktem Taster und einmal mit losgelassenem Taster. Der Code sieht entsprechend so aus:

Wie du sehen kannst stehen vor den Linien 21 und 32 diese Zeichen ” // “. Dadurch weiß Arduino, dass es sich bei diesen Zeilen um Kommentare handelt und sie daher beim Entwickeln des Programmes keine Beachtung finden. Kommentare können auf verschiedene Arten erstellt werden, diese Art  ” // ” kommentiert nur eine Zeile, während diese Art ” /* */ ” verwendet wird, um Text oder Codeblöcke zu kommentieren. Du kannst die Referenz der Kommentare hier finden. In Zeile 23 des Codes siehst du den Anfang der Kontrollstruktur if-else:

Anhand dieses Codes können wir sehen, wie firstTime ohne jeglichen anderen Vorgang oder Vergleich als Bedingung verwendet wird. Die Kontrollstruktur if wartet auf eine Antwort der Art wahr oder falsch bzw. 1 oder 0. Somit genau das was wir haben, da firstTime eine boolsche Variable ist. Für einen Rückblick auf die Variablen kannst du zu diesem Kursbeitrag gehen oder zur Referenzseite von Arduino.  Darüber hinaus verwenden wir die gleiche Funktion, um ein komplett anderes Muster für die LED zu erstellen, wodurch der Code viel kürzer und leichter verständlich wird – sowohl für uns als auch für andere. Wenn du die Nachrichten ansehen möchtest, die das Programm sendet, um zu wissen, ob es sich innerhalb der Schleife Do While befindet oder nicht, entferne die Kommentare der Zeilen 21 und 31 des Codes. Als Übung kannst du eine Kopie des Projektes erstellen und die Felder suchen und manuell verändern, die die Variable LED enthalten, indem du die Nummer des Pins verwendest mit dem die LED verbunden ist (Pin 13 im Video). Dann verbinde im Originalprojekt die LED mit einem anderen Pin und ändere den Wert der Variable LED zu  Beginn des Codes. Siehst du welche Bedeutung es hat, den Variablen Pins zuzuweisen?