Arduino Demo-Kurs

Eine Vorschau zu den Kursinhalten

Irgendwann beginnt alles zu leuchten und zu blinken – genau darum geht es in den Arduino-Kursen und es ist jedes Mal ein Erfolgserlebnis! Wir programmieren Hardware – schließen Bauelemente an – setzen uns mit der Elektronik auseinander – gehen Codezeilen durch – verbinden alles und dann … läufts!

Die Arduino-Kursreihe besteht aus mehreren Kursen – Jeder Kurs umfasst mehrere Lektionen. 

Alles, was du hier (im Demo-Kurs) findest, ist „nur“ ein kleiner Ausschnitt aus dem ersten Kurs der Reihe:

Dem Grundkurs!

Bitte bedenke:

Vieles ist nicht vollständig und nur als Demo gedacht. Melde dich für die Kurse an und starte mit dem Arduino!

Die Lernumgebung

Wir starten mir der Lernumgebung – Programmiere ab der ersten Stunde!

Die Lernumgebung unterstützt dich bei der Erlernung der imperativen Programmierung.

DEIN Code wird Zeile für Zeile hervorgehoben und visuell Umgesetzt, so verstehst du immer, was passiert!

Die imperative Programmierung (vom Lateinischen: imperare = befehlen) führt eine klar strukturierte Handlungsabfolge aus. Es werden also mehrere Befehle nacheinander ausgeführt. Zudem werden Kontrollstrukturen, wie beispielsweise if-else-Abfragen oder while-Schleifen, zur Steuerung verwendet.

Natürlich gibt es neben einer Sprachreferenz für die Programme (Lernumgebung und Arduino-IDE auch stehts Lösungen und Tipps zum bearbeiten der Aufgaben.

Wenn du die selben Funktionen nacheinander wiederholst, kannst du in der Lernumgebung den repeat()-Befehl nutzen.

 

      repeat(Anzahl){

          …

      }

 

In dem Video (mit der Lösung) siehst du, wie die repeat()-Anweisung funktioniert.

void obtainArtifact(){
    turnRight();
    moveForward();
    turnLeft();

 

    repeat(3){                         // 3x wiederholen    moveForward();
    }

 

    turnLeft();
    moveForward();
    pickBeeper();
    moveForward();
    turnLeft();

 

    repeat(3){                         // 3x wiederholen
    moveForward();
    }

 

    turnLeft();
    moveForward();
    turnLeft();
}

Oft findest du interaktive Elemente, Tipps und Code zum Ausklappen oder Videos, die dir Funktionen erklären, Hilfestellungen geben oder dir eine mögliche Lösung zeigen.

Die zeitgesteuerte Ampel

Die meiste Zeit programmieren wir natürlich den Mikrocontroller (Arduino)

Kannst du eine Ampel mit den Ampelphasen programmieren?

Noch haben wir keine Taster oder Sensoren eingebaut, die Ampel ist also rein zeitgesteuert.

Übung

Programmiere die Ampelschaltung (wie oben abgebildet) als Endlosschleife.

Erstelle Funktionen!

Achte dabei darauf, wiederkehrende Befehle direkt mit in den Funktionen aufzunehmen!

Denk‘ an die richtigen Vorwiderstände.

Die Endlossschleife ist nicht schwer -> Benutze die loop()

// Zeitgesteuerte Ampel

 

// Selbst erstellte Funktionen
// Das delay kann auch in die Funktionen, da es sowieso nach jeder (Ampel)Phase kommt!

 

void gruen(){
   digitalWrite(13, LOW);
   digitalWrite(12, LOW);
   digitalWrite(11, HIGH);

   delay(1000);
}

 

void gelb(){
   digitalWrite(13, LOW);
   digitalWrite(12, HIGH);
   digitalWrite(11, LOW);

   delay(1000);
}

 

void rot(){
   digitalWrite(13, HIGH);
   digitalWrite(12, LOW);
   digitalWrite(11, LOW);

   delay(1000);
}

 

void rot_gelb(){
   digitalWrite(13, HIGH);
   digitalWrite(12, HIGH);
   digitalWrite(11, LOW);

   delay(1000);
}

 

 

void setup() {
   pinMode(13, OUTPUT);
   pinMode(12, OUTPUT);
   pinMode(11, OUTPUT);
}

 

 

// In der loop() müssen jetzt nur noch die Funktionen der Reihe nach aufgerufen werden

void loop() {
   gruen();
   gelb();
   rot();
   rot_gelb();
   gelb();
                   // gruen() muss nichtmehr aufgerufen werden, da die loop anschließend wieder bei gruen() beginnt
}

Erweitere die Ampel mit Tastern, lerne neue Funktionen, Datentypen und vieles mehr kennen (oft an Beispiel, die du bereits eigenständig programmiert hast)!

Die Ampel ist das wahrscheinlich am öftesten programmierte Beispiel, wenn es um Mikrocontroller geht und darf natürlich auch in diesem Kurs nicht fehlen.

Natürlich bleibt es nicht bei einem Beispiel, in dem Kurs erwarten euch unzählige Programme, Ideen und Knobelleien, die umgesetzt werden wollen!

Eine Besonderheit ist, dass neue Inhalte oft an Programmen erklärt werden, die ihr bereits kennt! Den Ampel-Sketch könnt ihr bereits im Grundkurs programmieren, er eignet sich aber auch bestens, um später neue Datentypen und Funktionen einzuführen!

Hardware verstehen

Jeder Kurs basiert auf einem speziell zusammengestellten Hardware-Set. Lerne die Hardware (hier aus dem Basic-Hardware-Set) kennen.

Schaue dir deinen Mikrocontroller genauer an.

Und verstehe die Bauteile, die du verwendest!

Morse-Code

In den Kursen lernst du nicht nur die Thematik (also wie du programmierst, verkabelst und lötest), es gibt auch viele individuell gestalltete Übungen, um das Gelernte direkt umzusetzen!

Die Punkte werden als Dit, Die Striche als Dah bezeichnet

Dit und Dah

Es gibt insgesamt vier Regeln, die du beachten musst, wenn du morsen willst:

  • Ein Dah ist 3x so lang wie ein Dit.
  • Die Pause zwischen 2 gesendeten Symbolen ist einen Dit lang.
  • Die Pause zwischen 2 gesendeten Buchstaben ist einen Dah lang.
  • Die Pause zwischen 2 gesendeten Wörtern ist 7 Dits lang.

-> Wie lange du ein Dit machst, ist dir überlassen.

Übung 1

Definiere die Variablen die du brauchst, um mit dem Mikrocontroller zu morsen. 

Achtet dabei auf die richtigen Pausenzeiten. Es ist nicht ganz so leicht, wie ihr vielleicht denkt!

Gegeben habt ihr die beiden Funktionen, die euch ein Dit bzw. Dah ausgeben sowie eine Funktion für den Buchstaben A.

4 unterschiedliche Zeiten -> 4 Variablen (+ die LED).

Die Dauer eines Dits kannst du dabei frei wählen (z.B. 500 ms).

Notizen helfen! Mal dir wirklich mal den Buchstaben A ( .  –  ) auf.

Jetzt schau dir an:

  • Wie die Funktionen dit() und dah() aufgebaut sind.
  • Wie lange ein Dit dauert und wie lange ein Dah dauert.
  • Wie lange die Pause zwischen den Symbolen ist. 
  • Wie lange die Pause zwischen den Buchstaben ist.
  • Wie lange die Pause zwischen den Wörtern ist.

Nur so als Tipp: Euer Mikrocontroller kann natürlich + – * :

Übung 2 ...
Übung 3 ...
Übung 4

Morse deinen Vornamen (durch Funktionsaufrufe) auf einer LED

Die Buchstaben hast du schon als Funktionen definiert, du musst sie nur noch aufrufen!

void loop(){              

   morse_D();

   morse_O();

   morse_M();

   morse_I();

   morse_N();

   morse_I();

   morse_K();

   morse_S();

 

  delay(word_delay); Serial.println(“ „);

// Denkt an die Pause zwischen den Wörtern

 

// Ruft ihr die Funktionen in der loop() auf, werden sie immer wieder wiederholt

// Soll euer Name nur  einmal gemorst werden, ruft die Funktionen im setup() auf

Übung 5 ...

Wie es weitergeht erfahrt ihr in den Kursen

Nur mit LEDs und Tastern kann man schon unglaublich viel machen. Später (ab dem zweiten Kurs, programmieren wir uns sogar kleine Spiele auf dem Mikrocontroller. Noch spannender wird es, sobald wir LCDs, Sensoren und Aktoren ansteuern. Die Möglichkeiten sind fast unbegrenzt!

Tipps, Fragen und Fragestunden

In den Kursen erhaltet ihr viele nützliche Tipps, wie und mit welchen Hilfsmitteln ihr euren eigenen Code debuggen könnt, wie ihr eure Elektronik überprüft und vieles mehr.

Und wenns einfach nicht klappen will, werdet ihr nicht alleine gelassen! Es gibt regelmäßig Fragestunden, in denen nicht nur der Kursleiter, sondern alle Kursteilnehmer versuchen, euch zu helfen!