Arduino Tutorial: Der elektronische Würfel.

Jetzt zur Abwechslung ein Projekt, welches man verwenden kann. In diesen Kapitel werden wir einen elektronischen Würfel konstruieren. Diesen könnt ihr für jedes Würfelspiel, wie Kniffel oder Mensch ärgere dich nicht, verwenden. Dazu drücken wir auf einen Taster. Danach sollen die LEDs durcheinander leuchten. Nach einiger Zeit wird dann die Würfelzahl angezeigt.

 

 

Was benötigst du?

  • 1 x Arduino Uno

 

  • 1 x USB Kabel

 

  • 1 x Steckbrett

  

  • 7 x LED

 

  • 7 x Ohmscher Widerstand (220 Ohm)

 

  • 1 x Taster

 

  •  Jump Wire (Männlich)

 

 

Wie sieht die Schaltung aus?

 

 

Die grünen Leitungen sind für die ersten drei LEDs, die orange Leitung für die vierte und die violetten Leitungen für die letzten 3 LEDs.

 

 

Der Code

int led[] = {13,12,11,10,9,8,7};                              // Variablen für die LEDs

 

int augen[6][7] = {{0,0,0,1,0,0,0},                           // Würfelzahl 1

                   {1,0,0,0,0,0,1},                           // Würfelzahl 2

                   {1,0,0,1,0,0,1},                           // Würfelzahl 3

                   {1,0,1,0,1,0,1},                           // Würfelzahl 4

                   {1,0,1,1,1,0,1},                           // Würfelzahl 5

                   {1,1,1,0,1,1,1}};                          // Würfelzahl 6

                   

int button = 4;                                               // Variable für den Taster

int buttonStatus;                                             // Statusabfrage des Tasters

 

void setup() {

  for(int index = 0; index <= 6; index++)                     //

  {                                                           // 

                                                              //

     pinMode(led[index],OUTPUT);                              // LEDs als Ausgang definieren

                                                              //

  }                                                           //

 

  pinMode(button, INPUT);                                     // Taster als Eingang

                                                              // definieren

  digitalWrite(button, HIGH);                                 // Pull- Up- Widerstand

                                                              // aktivieren

}

 

 

void loop() { 

 

  buttonStatus = digitalRead(button);                         // Status des Tasters abfragen

 

  if (buttonStatus == LOW)                                    // Wenn Taster gedrückt

  {

 

     for(int index1 = 0; index1 <= 50; index1++)              // Liefer 51 Zufallszahlen

     {

        int zufall = random(0,6);                             // Gib eine zufällige Zahl

                                                              // zwischen 1 und 6 an

      

        for(int index2 = 0; index2 <= 6; index2++)

        {

           digitalWrite(led[index2], augen[zufall][index2]);

        }

 

        delay(50);

     }

  }                                                           // die 51. Zahl ist die

                                                              // gewürfelte Zahl

}

 

 

Den Sketch kannst du auch hier herunterladen.

 

 

Code Review

int zufall = random(0,6);                             // Gib eine zufällige Zahl

                                                      // zwischen 1 und 6 an

 

die random- Methode gibt wie oben beschrieben eine Zufallszahl an. Dazu übergebt ihr der Methode die niedrigste und die höchste Zahl als Parameter an.

 

 

 

 

 

Wenn du hier irgendetwas vermisst, bessere Ansätze hast oder dir etwas nicht klar ist, zögere nicht einen Kommentar zu hinterlassen.

Kommentar schreiben

Kommentare: 0