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 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-Speicherordner 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
gemäß 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 als String definierte Variable ersetzt. Somit lässt sich der auszugebende Text beliebig und ohne großen Aufwand ersetzen wenn er im Programm mehrfach verwendet wird. Wichtig ist zu wissen, dass Groß- Kleinschreibung unterschieden wird. Eine Variable 'G' ist eine andere als die Variable 'g' !

Als Variablen gibt es in C verschiedenste Formen. Für Zahlen häufig verwendet werden byte und intbyte enthält ganzzahlige Werte von -127 bis +127.  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. Dies gilt auch für byte, bei Verwendung von Werte mit 0 bis 255 müssen eine Variable als uint8_t deklarieren. 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.

Nächste Neuerung ist die For-Schleife. Diese zählt von einem Wert ausgehend mit festgelegten Schritten bis zu einem festzulegenden Endwert, festgelegt durch die Bedingung count<4.

Die Schleife wird so oft durchlaufen, also von 0 hochzählend, bis count einen Wert von 4 erreicht hat. count ha demnach die folgenden Werte: 0, 1, 2 bzw. 3.

Somit wird der Text " Hallo Welt. " insgesamt 4x 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