Lektion
Downloads

So ein Zähler ist ja ganz nett. Jetzt wird es aber Zeit für eine wirklich praktische Anwendung. In dieser Lektion installierst du neben dem 7-Segment Display einen Tilt Switch. In diesem Bauteil befindet sich eine kleine Kugel, die einen Stromkreis unterbricht, wenn der Tilt Switch bewegt wird. Wenn sie wieder zum Stillstand kommt, fließt der Strom wieder weiter.

Diese Unterbrechung kannst du auslesen, um damit wiederum einen Zufallsgenerator eine Zahl zwischen 1 und 6 wählen zu lassen. Das Ergebnis zeigst du dann auf dem Display an.

Der aufbau

Hoffentlich hast du das 7-Segment Display noch auf deinem Breadboard installiert. Wenn ja, baue links oder rechts daneben den Tilt Switch hinzu. Du benötigst neben den Kabeln noch einen 10kΩ Widerstand, den du mit Plus verbindest und der verhindert, dass die Werte des Tilt Switchs willkürlich von Null auf 1 springen.

Orientiere dich beim Aufbau an folgender Skizze.

7-Segment mit Tilt Switch
Screenshot: Tinkercad

Hinweis: Wenn dein Tilt Switch drei Pins besitzt, kannst du dir den Widerstand sparen. Verbinde dann den Datenausgang des Switchs einfach mit dem Digitalpin 12 an deinem Arduino.

___STEADY_PAYWALL___

Der passende Sketch

Das meiste deines Sketchs aus der vorherigen Lektion kannst du weiterverwenden. Du musst nur noch ein paar Zeilen für den Tilt Switch und den Zufallsgenerator ergänzen bzw. ersetzen. Lege zunächst zu Beginn des Sketchs den Pin fest, mit dem der Switch verbunden ist.

int tiltPin = 12;

Die Loop-Funktion veränderst du jedoch. Statt des Zählers kommt hier eine Abfrage hinein, ob der Tilt Switch bewegt wurde. Ist das der Fall, nutzt du den Zufallsgenerator, der glücklicherweise Teil der Bibliothek SevSeg ist. Diese Funktion benötigt zwei Parameter: die Mindestzahl (also 1) und die Höchstzahl (also 6). Da diese Funktion diese Spanne jedoch als 1 < 7 versteht, ist der zweite Parameter exklusive, wird also nicht mitgezählt. Deshalb steht hier also eine 7.

Zuletzt folgt noch ein Befehl, der die gefundene Zahl auf dein Display überträgt.

void loop() { 
   if (digitalRead(tiltPin) == HIGH) {
    sevseg.setNumber(random(1,7));
    sevseg.refreshDisplay();
    }
}

Und das war es auch schon. Lade den Sketch aus den Downloads dieser Lektion auf deinen Arduino und schnipse für einen ersten Test gegen den Tilt Switch. Erhältst du Zufallszahlen zwischen 1 und 6 – wie bei einem analogen Würfel?

Hast du Fragen?

Schreibe uns an info@polluxlabs.net