ARDUINO Beispiele
grundlegende Programm-Funktionen an Hand von Beispielen

Die Bibliothek zur Steuerung von Servos: #include <Servo.h>

Libraries (zu Deutsch Bibliotheken) sind sehr hilfreich beim Erstellen eines Sketch (ARDUINO-Programm). Vieles übernimmt die Library und muss nicht mehr durch etliche Einzelbefehle programmiert werden.
Hinweis: beachten Sie auch => LINKs zum Thema ARDUINO.
Die linke Abbildung zeigt das Einbinden einer Bibliothek in ein Programm (Sketch), hier für Servosteuerungen.

Das Einfügen von Bibliotheken in ein Programm hat stets die Form: # (Lattenzaun), include (Einfügen), Kleinerzeichen <, Bibliotheksnamen (hier "Servo"), Punkt h .h, Größerzeichen >.

Bibliotheken werden an oberster Position im Programm eingefügt.

Mit dieser Bibliothek können Servos mit wenigen Programmzeilen auf Positionen gestellt werden, indem nur die Stellung in Grad anzugeben ist, wie nachfolgend ein Demo-Beispiel zeigt.
Demo-Beispiel Servo

Ein Servo führt langsame Drehbewegungen kontinuierlich von 0° nach 180° und wieder von 180° nach 0° zurück.

Wie schnell das ausgeführt wird, kann durch Werte von "delay" bestimmt werden.

Die Variable "pos" (Position) wird  in Zeile 13  um 1° erhöht (in Zeile 18 um 1° verringert). Wird hier statt 1 eine 2 gewählt, so ist die Drehgeschwindigkeit auch höher, aber weniger kontinuierlich, die Schrittweite also 2°, statt 1°.

Sehr komfortabel können natürlich auch andere Werte für Drehwinkel gewählt werden.

Die Befehle "switch", "case", "break", und eine Variable "state"

Die Anwendung dieser Befehle ist nicht ganz trivial. Deshalb habe ich hierzu ein einfaches Demo-Programm erstellt, welches zum besseren Verständnis beitragen möge.
Zunächst die Worterklärungen: "switch" (englisch) => "Schalter" (deutsch), "case" => "Fall", "break" => "Abbruch", "state" => "Status".
Wann sind diese Funktionen nützlich? Nun, wenn es vorkommt, dass im Programmablauf (also in der "loop" (Schleife, die stets kontinuierlich durchlaufen wird) verschiedene Fälle auszuführen sind, und diese in Abhängigkeit von Bedingungen (=Status).
Klingt schon kompliziert in der Theorie, aber das folgende Beispiel bring im wahrsten Sinne des Wortes Licht in die Sache, nämlich mittels LEDs, die zyklisch wechselnd aufleuchten. Den Testaufbau dazu zeigt die rechte Abbildung 1 und das zugehörige Programm die untere Abbildung 2.

Download Demo switchstateTEST_1

Abb.1

Abb.2
INIZIALISIERUNG:
LED1 an Pin D2, LED2 an Pin D3, eine Variable für Bedingungen wann welcher Fall auszuführen ist, hier mit dem Namen "state2" (es kann aber auch ein anderer Name gewählt werden).

DEKLARATION:
LED1, also Pin D2, und LED2, also Pin D3 als Ausgang definieren.

ENDLOSSCHLEIFE:
state2 (die Bedingung) wird auf Null gesetzt.
Die for-Schleife erhöht bei jedem Durchlauf state2 um 1, bis state2 4 erreicht.
Innerhalb der switch-Abfrage werden die Fälle (case) 1 bis 4 abgefragt. Je nach dem Wert welcher in der Variablen state2 steht werden nur die Anweisungen ausgeführt, die zwischen case x: und break stehen. Also z.B., wenn case2 den Wert 3 erhalten hat, werden die Anweisungen ausgeführt die zwischen case3 und dem zugehörigen break stehen.
delay(1000) 1 Sekunde Pause.
Dann wird state2 wieder auf Null gesetzt und der ganze Vorgang beginnt von vorne, da das Schleifenende erreicht wurde.
Exakt zu beachten sind die geschweiften Klammern "auf: {" und "zu:}", welche in Abb.2 deutlich am Anfang und am Ende der farblich eingefügten Rahmen zu sehen sind!
 

wird in lockeren Abständen um weitere Anwendungen ergänzt

 

zurück zu ARDUINO Grundlagen