Mit diesem Zufallszahlen Tutorial könnt Ihr euer Glück auf die Probe stellen. Wir zeigen euch, wie Ihr einen einfachen Würfel mit einer Hand voll LEDs, einem Taster und ein paar Zeilen Code erstellt. Dabei lernt Ihr Arrays, While und DoWhile Schleifen effektiv zu nutzen. Zufallszahlen erzeugen ist faszinierend und gar nicht schwer. Schaut euch gerne auch unsere anderen Arduino Anleitungen an.

UPDATE: Nach dem Kommentar von Hakan habe ich die Schaltung besser erklärt und ich hoffe diese kann man jetzt besser verstehen. Gefällt es euch?

 

Arduino Zufallszahlengenerator

Lernziele:

  • Array zum Speichern der Würfelbilder verwenden
  • Zufallszahlen generieren
  • While Schleife
  • DoWhile Schleife

 

Folgende Teile werden benötigt:

  • 1 x Arduino UNO
  • 1 x Breadboard
  • 7 x LEDs
  • 8 x 220 Ohm Widerstände
  • 1 x Mikrotaster
  • 1 x 10k Ohm Widerstand
  • 12 x Jumperkabel

 

Arduino Aufbau

Das Steckbild für den Würfel ist simpel, enthält keine Tücken und ist schnell aufgebaut.

Steckplan
Steckplan

 

  1. Für den Aufbau stecktst du die sieben LEDs in der typischen Würfelformation auf das Breadboard (Wie funktioniert das Breadboard?)
  2. Nun verbindest du die jede LED Anoden  – das lange Beinchen – mit einem 220 Ohm Widerstand
    1. LED 1 mit Pin 6
    2. LED 2 mit Pin 7
    3. LED 3 mit Pin 8
    4. LED 4 mit Pin 9
    5. LED 5 mit Pin 10
    6. LED 6 mit Pin 11
    7. LED 7 mit Pin 12
  3. den Widerstand verbindest du mit dem Null Bus des Breadboards und diesen wiederum mit GND des Arduino
  4. Zum Schluss baut Ihr noch den Taster ein. Dieser wird zum einen mit 5 Volt und über den 10k Ohm Widerstand auf den Null Bus des Breadboards verbunden.
  5. Zum Auslesen des Taster Zustands – Strom fließt oder nicht – Verbindet den Schalter über Pin 2 mit dem Arduino Uno.

Weitere Details könnt Ihr dem Schaltplan entnehmen.

Schaltplan
Schaltplan

 

 

Arduino Sketch mit Zufallszahlengenerator

Das folgende Sketch lässt den Arduino auf Knopfdruck durch einen Zufallsgenerator eine Zahl zwischen eins und sechs errechnet, welche anschließend als Würfelbild über die LEDs ausgegeben wird. Dafür bringen wir dem Arduino die Würfelbilder bei und generieren eine Zufallszahl. Über DoWhile sowie While Schleifen lassen wir den Arduino auf die Bedienung des Tasters reagieren.

Würfelbild speichern

Zunächst müssen wir die Variablen für die verschiedenen Würfelbilder speichern und über einen Index – die gewürfelte Zahl – aufrufbar machen. Wird durch den Zufallsgenerator eine zwei gewürfelt, so sollen zum Beispiel nur die LEDs zwei und sechs leuchten. Folgender Code definiert die Würfelbilder.

Zufallszahl generieren

Für die Zufallszahl nutzen wir die Funktion millis(). Diese gibt die Programm-Laufzeit in Millisekunden zurück. Millis() startet zu zählen, wenn das Programm auf dem Arduino zu laufen beginnt. Um die Zahl nun auf eine Zahl zwischen 1 und 6 zu berechnen, teilen wir die Laufzeit durch 200 und errechnen mit Modulo (%) den Restwert. Modulo dividiert die Laufzeit und gibt den Divisionsrest zurück. Bei Modulo sechs also eine Zahl zwischen 1 und 6.

While Schleife

Bei einer While-Schleife wird der Zustand ähnliche einer IF Abfrage vor dem Beginn der Schleife geprüft. Die Kondition befindet sich am Ende der Schleife. In diesem Fall ist While gleich eins (richtig / true), wenn der Taster gedrückt ist (digitalRead auf Pin 2 gleich High).

DoWhile Schleife

Eine DoWhile Schleife läuft so lange, wie der geprüfte Zustand am Ende der Schleife zutrifft. Im Gegensatz zur While Schleife wird die DoWhile Schleife immer wenigstens einmal durchlaufen bevor die Kondition geprüft wird.

 

Hier das vollständige Sketch:

Fazit:

Gewusst wie, lässt sich mit wenigen Zeilen Code ein kleiner digitaler Würfel bauen. In das notwendige Handwerkszeug – in diesem Fall die Schleifen – muss man sich erst rein Denken. Hat es bei euch klick gemacht, könnt Ihr dieses Wissen jedoch für viele eurer Projekte nuten. In welchen Arduino Projekten habt Ihr bereits Zufallszahlen verwendet ? Schreibt mir gerne über eure Erfahrungen. Gerne helfen wir auch wenn Ihr mit eurem Zufallszahlengenerator nicht weiterkommt. Schreibt uns einfach in die Kommentare.

Arduino LED Würfel mit Zufallszahlen Generator

4 Gedanken zu „Arduino LED Würfel mit Zufallszahlen Generator

  • Pingback: Du musst nicht Informatik Studieren, um interaktive Roboter zu bauen.

    • 8. Juni 2015 um 10:17
      Permalink

      Hallo Hakan,

      danke für dein Feedback. Was fehlt dir denn bzw. was verbessere werden?

      Herzliche Grüße,

      Robert

      UPDATE: Ich habe das Tutorial verbessert. Schwierig zu verstehen war wohl der Aufbau der Schaltung. Leider waren die Bilder zu unübersichtlich. Die Schaltung findet Ihr jetzt in einer Liste erklärt. Gefällt es euch?

      Antworten
  • 23. Juli 2015 um 13:35
    Permalink

    Also wenn ich “ i = 0 % 6 “ rechne, kriege ich jedenfalls 0 raus…
    Und wenn ich “ i = 5 % 6 “ rechne, ist das Ergebnis 5…

    Wie um alles in der Welt kommst du bei Modulo 6 dann auf Reste von 1 bis 6?
    Natürlich beinhalten beide Wertebereiche die gleiche Menge an Werten, aber dennoch ist es Nonsense, der vor allem die Anfänger sehr schnell irritiert und bei ner Fehleranzeige die Verzweiflung in deren Gesichter zeichnet.
    Den Fakt, dass das Würfelbild „1“ bei „%6=0“ hergenommen wird, hats schon verdient, wenigstens in 1-2 Sätzen erwähnt zu werden.

    Bin am Zufallszahlengenerator für meine Tetrominos für mein Tetris-Spiel. Und wenn ich in der Arbeit schon so ein Projekt habe, dann schreib ich doch selber, damit ich noch was lerne.

    Antworten

Schreibe einen Kommentar

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