Arduino & C++


Der Arduino

Der Arduino ist ein Mikrocontroller. Dabei handelt es sich um einen Chip in dem Prozessor, Arbeitsspeicher, Programmspeicher, Taktgeber sowie Ein- und Ausgabepins integriert sind. Die Eingabe erfolgt über ein Programm, welches über den Computer, in der sogenannten Entwicklungsumge-
bung, über die USB-Schnittstelle auf den Arduino übertragen wird. Ist das Programm einmal übertragen, verarbeitet es der Arduino. Als Ausgabe dient der sogennate serielle Monitor, eine Art Textfeld in der Programmierumgebung, und mögliche Schaltungen die mit Aktoren verbunden werden. Ebenso können auch Sensoren als Eingabe dienen. Aber dazu später.


Die Programmiersprache C++

C++ ist eine objektorientierte Programmiersprache. Der grundlegende Aufbau der Arduino Programmiersprache teilt sich in drei Bereiche:

  1. Festlegung der Variablen
  2. Vorbereitung
  3. Ausführung

//Festlegung der Variablien
int LEDblau = 3;
int LEDrot = 5;
int LEDgruen=6;

//Vorbereitung
void setup() {
anweisungen;
}

//Ausführung
void loop() {
anweisungen; }

Der setup() Teil

  • wird einmalig aufgerufen
  • in diesem Teil werden die Ein- und Ausgänge festgelegt sowie andere Grundeinstellungen
  • muss in jedem Programm vorkommen
  • er muss keine Anweisungen enthalten

Der loop() Teil

  • schließt sich an den setup() Teil an
  • wird unentlich oft durchlaufen (engl.: loop = Schleife)
  • das eigtliche Programm wird hier ausgeführt

Ein Beipspiel zeigt den Aufbau.

Ein Programmcode steuert das E-V-A Prinip. Bevor das geschriebene Programm über das Datenkabel auf den Arduino übertragen wird, übersetzt es ein „Dolmetscher“ in Maschinensprache. Dieser Vorgang heißt Kompilieren. Im Arduino kommt es dann zur Verarbeitung des Programmcodes.


Aufgabe 1

Schließe das Arduinoboard an den Rechner an (USB). Erstelle in deinem Arbeitsordner einen Unterordner und benenne ihn WB. Öffne dann das Programm arduino auf deinem Rechner (so heißt die Entwicklungsumgebung). Kopiere in die Programmierumgebung das Beispielprogramm und speicher es in dem zuvor angelegen Arbeitsordner unter dem Namen Blick_LED1 ab. Lade es dann auf den Arduino hoch. Jetzt sollte die eingebaute LED im Sekundentakt blinken. Diese LED dient als Ausgabe.

Was müsstest du ändern, wenn die Dauer des blinkens halbiert werden soll und als Variable festgelegt werden soll? Passe das Programm dementsprechend an und speichere es als Blick_LED2 ab.


Der serielle Monitor dient zum Empfangen von Kommandos und zum Senden von Befehlen. Er ist ein separates Popup-Fenster, das als separates Terminal fungiert, das durch Empfangen und Senden von seriellen Daten kommuniziert. Kurzum er dient auch als Ausgabe.

Das kleine Programm zeigt die Kommunikation mit dieser Schnittstelle:

int t=500;
int index=0;
int i = 1;

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

void loop() {

Serial.print(index+i);
i=i+1;
Serial.print(" ");
Serial.println( "Das ist der serielle Monitor");

delay(t);
}

Aufgabe 2

Erstelle ein neues Programm indem du den Code von oben auf eine leere Programmoberfläche auf dein Arduino lädst. Speichere es als serial1 in deinem Arbeitsordner ab.

Passe nun den Programmcode zum Taschenrechner an. Speichere dafür nun das Programm als taschenrechner ab. Dann musst du eine Variable meinErgebnis anlegen.

Nun berechne mit der Variable 45*167 und lass dir das Ergebnis im serielle Monitor ausgeben. Das Ergebnis soll aller 5 Sekunden neu erscheinen.

Solltest du alles richtig gemacht haben, dann erscheint im serielle Monitor folgendes:

Dein Taschenrechner soll ausschließlich über Variablen gesteuert werden. Er soll zwei Zahlen miteinander multiplizieren. Diese Zahlen sollen als Variable festgelegt werden.


Creative Commons Lizenzvertrag
Diese Webseite und die Inhalte sind lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.