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 :


Hallo Welt in der
              Arduino IDE



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 :

Hallo Welt Beispiel
              2



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 intbyte 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:


Beispiel 3



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