www.kappmeier.net
Elektronik-Basteleien
ARDUINO - Hallo Welt
Ein erstes kleines "Programm" ist das "Hallo Welt", hier mal
als Beispiel in der Arduino IDE zusammen mit der Ausgabe im
seriellen Monitor :
Der serielle Monitor wird über "Werkzeuge" - "Serieller
Monitor" eingeblendet. Sowohl im Programm als auch im
Monitor muss natürlich die gleiche Baudrate eingestellt sein.
Gleichzeitig ist der typische Aufbau eines Arduino C-Programms
zu erkennen.
Die erste Funktion ist " setup() ", diese wird
einmalig, als erstes nach dem Start des µC
ausgeführt.
Die zweite Funktion ist " loop() ", die
wie der Name vermuten lässt, permanent als Dauerschleife
ausgeführt wird.
Somit wird als erstes nach dem Start die serielle
Schnittstelle mit " Serial.begin(9600) "
initialisiert.
Danach wird in Dauerschlaufe der Text "Hallo Welt" über die
serielle Schnittstelle ausgegeben. Durch die Funktion " Serial.println()
" wird der Text mit einem anschließenden Zeilenvorschub
ausgegeben, also untereinander. Verwendet man hingegen
ein " Serial.print() ", wird der Text stumpf
aneinandergereiht ausgegeben und nicht untereinander.
Eine "Eigenart" der Syntax der Sprache C ist das Abschließen
eines jeden Befehls mit dem Semikolon " ; ". Dies sollte einem
in Fleisch und Blut übergehen. Entfällt einem mal das " ; " in
einem Programmtext, läuft der Compiler in einen Fehler und
springt dann u.U. irgendwo im Text an eine Stelle, die nichts
mit dem fehlenden Semikolon zu tun hat. Bei größeren
Programmtexten ist es dann durchaus mühsam den Fehler zu
finden....
In diesem Zusammenhang ist es empfehlenswert, vor allem als
Anfänger, ausgiebig von dem Kompilieren-Button Gebrauch zu
machen (oben links, der mit dem Haken).
So werden einem die Fehler sofort präsentiert. Schreibt man
erst einmal seine Litanei herunter ist man anschließend
durchaus eine Weile damit beschäftigt die Fehler des Compilers
abzuarbeiten...
Möchten wir dieses tolle Programm nun speichern um es der
Nachwelt zu erhalten gehen wir im Menü auf "Datei" und dann
auf "Speichern unter...". Nun sind wir im Standard
Speicher-Ordner für Programme der Arduino IDE. Ohne
weiter Schritte geben wir nun dem Programm einen Namen und
klicken auf "speichern"
Die IDE legt nun in diesem Ordner einen neuen Ordner an der
den gleichen Namen wie das Programm hat. Dies ist eine
Besonderheit der Arduino IDE, Programme müssen den gleichen
Namen haben wie der Ordner in dem sie liegen, ansonsten hagelt
es Fehlermeldungen...
Variablen
Als nächsten Schritten können wir Variablen verwenden.
Variablen müssen nach C Nomenklatur einmalig deklariert
werden. Dies erfolgt VOR den beiden Funktionen, gleich direkt
am Anfang des Programms :

In diesem Beispiel wurde der feste Text beim Ausgabebefehl
durch eine Variable ersetzt. Somit lässt sich der auszugebende
Text beliebig und ohne großen Aufwand ersetzen und dann im
folgenden Programm mehrfach verwenden. Wichtig ist zu wissen
das Groß- Kleinschreibung unterschieden wird. Eine Variable 'G'
ist eine andere als die Variable 'g'
!
Als Variablen gibt es in C verschiedenste Formen. Häufig
verwendet werden byte und int.
byte enthält ganzzahlige Werte von 0 bis
255. int enthält ganze Zahlen von -32.768
bis +32.767. int ist eigentlich die
Kurzform für int16_t. Wer ohne negative
Werte auskommt kann uint16_t verwenden, dann
reicht die Variable von 0 bis 65.535. Warum dies wichtig ist
sehen wir später beim hantieren mit den Werten der
Infrarot-Fernbedienungsroutine.
Einen Überblick erhält man hier : https://docs.arduino.cc/language-reference/#variables
Etwas verwirrend ist die Tatsache das der Typ bzw. der Aufbau
einer Variablen nicht am Namen zu erkennen sind. So kann die
Variable 'a' vom Typ byte oder vom Typ float
oder auch Text sein.
Als nächstes verwenden wir eine Variable zum zählen, eine
Verzögerung und die For-Schleife:
Am Anfang wird mit " byte count=0 " die
Variable count als byte deklariert und gleichzeitig
auf den Wert 0 gesetzt. " byte " bedeutet , das
die Variable einen Wert von 0 bis 255 haben kann bzw. darf.
Nächste Neuerung ist die For-Schleife. Diese zählt von einem
Wert ausgehend mit festgelegten Schritten bis zu einem
festzulegenden Endwert. In diesen Beispiel als von 0 bis 4.
Somit wird der Text " Hallo Welt. " insgesamt 5x
ausgegeben. Das von Null ab aufwärts zählen wird einem noch
öfters vor die Füße fallen.
Anschließend wird der Text " Neuer Block "
ausgegeben und durch die Funktion " Delay(500)
" eine halbe Sekunde gewartet, da die 500 in Klammern einen
Wert von 500 ms bedeutet.
Ein Delay sollte mit bedacht gewählt werden weil das Programm
damit regelrecht einschläft, eben für die angegebene Zeit.
Dies kann u.U. bei Interrupt Routinen o.ä. stören.
Hilfreich bei der ganzen Programmiererei sind die Online
Seiten der Arduino-Foundation, den Machern des "Arduino" : https://www.arduino.cc/
Insbesondere die Hilfe zur Programmierung : https://docs.arduino.cc/programming/
Im nächsten Teil gibt es das Steuern von Ausgängen
zurück -
Startseite -
Impressum