Arduino (Genuino) – Zwei Arten „Hallo“ zu sagen

Ein Hello World mit dem Arduino Uno hinzubekommen ist durchaus möglich.
Ich möchte hier zwei Arten ansprechen:
1. Die Blinkende LED
2. Die „Hello World“ Ausgabe über den Seriellen Port

Zunächst eine kleine Einleitung in die IDE von Arduino:

Alles fängt damit an, die Arduino IDE herunterzuladen.
Der Windowsbenutzer findet sein Programm hier
Als Linuxnutzer kannst du über apt-get install arduino die IDE direkt aus der Repositry beziehen.
Wichtig bei Linux ist, dass die Ide als root gestartet werden muss, sofern die Seriellen Ports nicht für alle Nutzer freigegeben sind.
Wir stecken den Arduino Uno per USB an unseren Rechner.
Nun starten wir die IDE als Rootbenutzer (sudo arduino)
Unter „Tools“ wählen wir unter „Serieller Port“ den Arduino aus. (Heißt bei mir: /dev/ttyACM0 )
Und schon kann es los gehen.
Die IDE nennt alle neuen Sketches, die noch keinen Namen haben „sketch_monattaga“.
„sketch“ steht hierbei für das Programm, welches die IDE sketch nennt
„monat“ steht für den Monat. Dieser wird mit 3 Buchstaben abgekürzt. „bsp: jun“
„tag“ steht für den Tag. Hier steht die die Zahl des Tages im Monat (bsp: 22).
„a“ ist eine fortlaufende Variable, je nach dem wie viele Tabs geöffnet sind.

Im Fenster selbst wird der Arduino mit einer C-ähnlichen Syntax programmiert.

 

Nun sind wir bereit, uns in unser erstes Programm zu stürzen.
Ich beginne mit der blinkenden LED:

Quellcode:

int led = 13;

void setup() 
   {
       pinMode(led, OUTPUT);
   }
   
void loop()
  {
      digitalWrite(led, HIGH);
      delay(1000);
      digitalWrite(led, LOW);
      delay(1000);
  }

Soweit der Quellcode. Ganz klar: Als Anfänger eventuell etwas unverständlich. Aber ich will ihn erklären:

int led = 13;

„int“ steht für „integer“. Dies ist eine Variablendeklaration ohne Nachkommastellen. „led“ ist der Name der Variable, und „13“ die Adresse auf dem Board.
Ich benutze hier den Port 13, weil der Arduino Uno auf Port 13 von Werk ab schon eine LED mitbringt.

 

void setup() 
   {
       pinMode(led, OUTPUT);
   }

„void setup()“ stellt den Arduino grundlegend ein.
„pinMode(led, OUTPUT);“
„pinMode“ sagt dem Arduino, was der Pin, welcher Nachfolgend in Klammer steht, zu tun hat. „led“ ist der Name des Pins, den wir zuvor schon als „int led = 13;“ fesgelegt haben.
„OUTPUT“ sagt dem Arduino, dass der Pin „led“ ein ausgehendes Signal ist.

 

void loop()
  {
      digitalWrite(led, HIGH);
      delay(1000);
      digitalWrite(led, LOW);
      delay(1000);
  }

Der „loop()“ ist der Teil des Programms, der als Schleife immer und immer wieder ausgeführt wird.
Hierein schreiben wir in diesem Programm, dass der Arduino den Ausgang „led“ auf „HIGH“ setzen soll ( digitalWrite(led, HIGH);), 1000ms warten soll (delay(1000);), und anschließend den Ausgang wieder auf „LOW“ setzen soll (digitalWrite(led, LOW);). Nachdem soll der Arduino erneut 1000ms warten.
Da alles was in loop() steht, immer und immer wieder ausgeführt wird, also als Schleife, führt der Arduino dieses Programm solange aus, bis entweder ein neues Programm hochgeladen, oder die Stromversorgung getrennt wird.

Jetzt soll der Arduino aber auch mal zeigen, was er kann, also laden wir das Programm hoch.
Das geht mit dem Pfeil rechts neben dem Haken im Kopfmenü, unter „Datei“ -> „Upload“, unter mit der Tastenkombination „STRG+U“.

Nach einer kurzen Wartezeit, in welcher die IDE unser Programm in Maschinencode umwandelt, blinken abwechselnd die LED „TX“&“RX“ und die LED „L“. Das signalisiert, dass das Programm hochgeladen wurde.

Nun sollte der Arduino automatisch in den Run-Betrieb gehen, und das Programm ausführen.
Der Pin 13 wird nun im 1-Sekunden-Takt an und abgeschaltet.
Deutlich wird dies entweder an einer angeschlossenen LED, oder anhand der auf der Platine verbauten LED an Pin 13 („L“).

 

Also gehen wir weiter zum „Hello World“ mit Ausgabe.
Dies funktioniert über den Seriellen Port des Arduino. Die IDE zeigt rechts oben im Kopfmenü eine Lupe.
Ein klick auf diese Lupe öffnet den Serial Monitor. Hier kann uns der Arduino Daten ausgeben, ohne dass wir ein LCD oder ähnliches angeschlossen haben.
Wir möchten auf in diesem Seriellen Monitor „Hello World“ ausgeben.
Also benötigen wir Quellcode.


void setup() 
   {
       Serial.begin(9600);
   }

void loop()  
  {
  Serial.println("Hello World");
  delay(10000);
  }

Hier benötigen wir keine definierten Variablen, schließlich möchten wir nur über den Seriellen Port einen kurzen Text ausgeben.
Also fangen wir direkt mit dem setup an.

Serial.begin(9600); startet eine Serielle Verbindung auf Port 9600. Der Arduino kann noch andere Ports, aber begnügen wir uns zunächst einmal mit diesem.

Im loop Schreiben wir mit Serial.println(„Hello World“); einen Text auf die Serielle Konsole (Serial.println). Der Text steht in Klammern und in Anführungszeichen.
Anschließend werden 10 Sekunden gewartet (10000ms).

Also wieder das Sketch hochladen, einige Sekunden warten bis der Arduino bereit ist, und den Serial Monitor öffnen.
Im Serial Monitor wird euch nun „Hello World“ angezeigt.
Wenn ihr ein wenig auf den Arduino schaut, wird euch auffallen, dass jedes mal wenn ein neues Hello World erscheint, die TX LED leuchtet.

Soweit mit dem Hello World Programm mit dem Arduino.

Solltet ihr Fragen, Verbesserungen oder Ideen zum Arduino Uno – Hello World haben, schreibt mir eine Mail oder direkt hier eine Nachricht!

Viel Spaß beim Programmieren

Der Artikel kommt copy&paste aus meinem alten Blog, verfasst habe ich ihn vor einigen Jahren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.