Lerne die interaktiven Übungen kennen

Zusätzlich zu den Experimenten und Aufgaben, die mit dem Mikrocontroller gemeistert werden sollen, gibt es immer wieder Übungen und Fehlersuchaufgaben, die interaktiv auf der Webseite gelößt werden können. Die Übungen werden genutzt, um sich in neue Themen einzuarbeiten, häufig gemachte Fehler zu vermeiden oder einzelne Inhalte weiter zu vertiefen.

Ein kleiner Vorgeschmack auf den Aufbaukurs

Der Kurs besteht au vielen Lektionen, hier nur mal ein kleiner Auszug, um dir den Aufbau der interaktiven Übungen zu zeigen. Alle Erklärungen, zusätzliche Übungen sowie die Aufgaben rund um die Bauteile (Hardware) findest du im Aufbaukurs.

Vergleichsoperatoren

Ordne die Vergleichsoperatoren zu. Die Begriffe kannst du in die Felder ziehen und wieder loslösen.

Zum bessere Verständniss eine kleine Aufgabe. Der Aufbau ist simpel: 7 LEDs, die mittels Vergleichsoperatoren (beachte x) gesteuert werden.

if(x == 13)
            digitalWrite(13, HIGH);

if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10)
            digitalWrite(10, HIGH);

if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

int x = …

Welche der LEDs leuchten? Ziehe die Glühbirne in das Feld. Du kannst sie auch einfach wieder lösen. Der Code bleibt stehts gleich, lediglich x verändert sich:

a) x = 13
b) x = 5
c) x = 15

if(x == 13)
            digitalWrite(13, HIGH);

if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10)
            digitalWrite(10, HIGH);

if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

if(x == 13)
            digitalWrite(13, HIGH);

if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10)
            digitalWrite(10, HIGH);

if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

if(x == 13)
            digitalWrite(13, HIGH);

if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10)
            digitalWrite(10, HIGH);

if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

Hinweis: Strenggenommen ist != ein Logik-Operator (siehe Ausblick, die letzte Tafel im Aufbaukurs).

Der feine Unterschied

else if

int x = …

Der selbe Code wie zuvor, nur das wir jetzt else if schreiben! Welche der LEDs leuchten? Ziehe die Glühbirne in das Feld. Du kannst sie auch einfach wieder lösen.

if(x == 13)
            digitalWrite(13, HIGH);

else if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

else if(x != 10)
            digitalWrite(10, HIGH);

else if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

if(x == 13)
            digitalWrite(13, HIGH);

else if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

else if(x != 10)
            digitalWrite(10, HIGH);

else if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

if(x == 13)
            digitalWrite(13, HIGH);

else if(x > 11){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

else if(x != 10)
            digitalWrite(10, HIGH);

else if(x <= 9){
            digitalWrite(9, HIGH);
            digitalWrite(8, HIGH);
}
else
            digitalWrite(7, HIGH);

Logik-Operatoren

Bei der Verwendung von Sensoren können durch die Kombination aus Logik- und Vergleichsoperatoren (je nach Eingabewert) leicht unterchiedliche Anweisungsblöcke ausgeführt werden.

int x = …

Dieses mal änder wir den Code etwas ab. Welche der LEDs leuchten jetzt?

if(x > 13)
            digitalWrite(13, HIGH);

if(x > 11 && x <= 13){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10 && x == 10)
            digitalWrite(10, HIGH);

if(x != 9 || x == 9)
            digitalWrite(9, HIGH);

if(x < 13 || x >= 8)
            digitalWrite(8, HIGH);

else
            digitalWrite(7, HIGH);

if(x > 13)
            digitalWrite(13, HIGH);

if(x > 11 && x <= 13){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10 && x == 10)
            digitalWrite(10, HIGH);

if(x != 9 || x == 9)
            digitalWrite(9, HIGH);

if(x < 13 || x >= 8)
            digitalWrite(8, HIGH);

else
            digitalWrite(7, HIGH);

if(x > 13)
            digitalWrite(13, HIGH);

if(x > 11 && x <= 13){
            digitalWrite(12, HIGH);
            digitalWrite(11, HIGH);
}

if(x != 10 && x == 10)
            digitalWrite(10, HIGH);

if(x != 9 || x == 9)
            digitalWrite(9, HIGH);

if(x < 13 || x >= 8)
            digitalWrite(8, HIGH);

else
            digitalWrite(7, HIGH);

Die Bauteile im Aufbaukurs

Lerne die 7-Segment-Anzeige (ink. der unterschiedlichen Bauarten sowie einer Anzeige mit mehreren Ziffern) kennen und

kombiniere die Lektionen Variablen und Kontrollstrukturen in praktischen Übungen, die du mit dem Taster direkt auf deinem Arduino implementieren kannst. Unter anderem betrachten wir:

Die Vertiefungsübung

Die 7-Segment-Anzeige bildet dieses mal den Kern der Vertiefungsübung, die alle Inhalte aus den einzelnen Lektionen noch einmal vertieft. Hier kannst du dein Wissen an einem großen, aufeinander aufbauendem und etwas kniffligerem Hardware-Projekt testen!

Lust auf mehr?

Neu in der Welt der Mikrocontroller?