Kostenloser Versand ab €74,95 NL

Vor 16:00 bestelt = Heute versendet

Schnelle Lieferung mit DHL

XNUMX Tage Rückgaberecht *


Land

In dit Arduino Projekt Ich zeige dir, wie man das Spiel macht, das Simon mit einem Arduino sagt.
Simon Says ist ein Spiel, in dem Sie 4 Lichter haben, die jeweils mit einem Druckknopf verbunden sind. Am Anfang geht ein Licht an.
Dann drücken Sie die entsprechende Taste. Wenn Sie die rechte Taste gedrückt haben, leuchtet dieselbe und ein nächstes Licht auf. Jedes Mal, wenn Sie es richtig machen, geht ein Licht an, jedes Mal, wenn ein Licht aufleuchtet, steigen Sie eine Runde nach oben. In diesem Projekt können Sie einstellen, wie viele Runden Sie spielen möchten.
Wenn Sie mit einer Sequenz falsch liegen, haben Sie das Spiel verloren und beginnen von vorne. Jedes Mal, wenn das Spiel erneut gespielt wird, beginnt eine zufällige Reihenfolge.

  • Level - Anfänger 30% 30%
  • Dauer - 20/30 min 35% 35%
  • Kosten - 36,87 € abgeschlossen 30% 30%

Schritt 1: Anforderungen

1X Arduino UNO

1x Brotboard

18X Überbrückungskabel

4X Druckknopf

1X grünes, blaues, gelbes und rotes LED-Licht

4X 220 Ohm Widerstand

Schritt 2: Bauen und Verkabeln

Jetzt werden wir Simon Says zusammenstellen.

Sie beginnen mit dem Plus und Minus des Arduino auf dem Plus und Minus des Brotesboard verbinden.

Dann setzen Sie die LED-Leuchten in die Platine. Wenn Sie dies getan haben, platzieren Sie mit jeder LED-Leuchte einen 220-Ohm-Widerstand auf der Plus-Seite. Dies ist der längste Pin.
Dann gehen Sie vom Min-Pin der LED-Leuchten zu ihrem eigenen Druckknopf.

Wenn Sie das getan haben, gehen Sie von jedem Knopf des Stifts, der vertikal vom Minus an jeder LED (siehe Fritzing-Diagramm) zum Minus des Brotes istboard† Dann gehen Sie von jedem Knopf an dem Stift, der diagonal vom Minus der LED zum Plus des Brotes istboard.

Fügen Sie dann ein Kabel vom diagonalen Stift zum Minus der LEDs hinzu. A2 = rot, A3 = grün, A1 = gelb und blau = A0.

Schließlich führt ein Kabel von der anderen Seite des Widerstands zu den E / A-Pins. Von Rot zu Pin 3, von Grün zu Pin 2 von Gelb zu Pin 4 und von Blau zu Pin 5.

Schritt 3: Programmierung

 

Jetzt, da Sie mit der Verkabelung des Arduino fertig sind, können Sie es tun board Programmieren beginnen.

Sie können den folgenden Code in Ihr Arduino-Programm kopieren. Wir empfehlen, den gesamten Code einzugeben, wenn Sie mehr daraus lernen.
Im Code selbst können Sie einstellen, wie schnell die Lichter ein- und ausgeschaltet werden und um wie viel diese Zeit pro guter Kombination abnimmt. Auf diese Weise können Sie das Spiel immer schwieriger machen.

 

Const Int Max_lvl = 10;

int order [MAX_LVL];

int eigen_volg [MAX_LVL];

int lvl = 1;

int Geschwindigkeit = 1000;

 

void setup () {

  pinMode (A0, INPUT);

  pinMode (A1, INPUT);

  pinMode (A2, INPUT);

  pinMode (A3, INPUT);

  PinMode (2, OUTPUT);

  PinMode (3, OUTPUT);

  PinMode (4, OUTPUT);

  PinMode (5, OUTPUT);

  digitalWrite (2, LOW);

  digitalWrite (3, LOW);

  digitalWrite (4, LOW);

  digitalWrite (5, LOW);

}

 

void loop () {

  if (LVL == 1)

  generate_follow ();

  if (digitalRead (A0) == HIGH && digitalRead (A3) == HIGH || LVL! = 1) {

    show_volg ();

    get_volg ();

  }

}

 

void show_volg () {

  digitalWrite (2, LOW);

  digitalWrite (3, LOW);

  digitalWrite (4, LOW);

  digitalWrite (5, LOW);

  für (int i = 0; i <LVL; i ++) {

    digitalWrite (order [i], HIGH);

    Verzögerung (Geschwindigkeit);

    digitalWrite (order [i], LOW);

    Verzögerung (200);

  }

}

 

void get_volg () {

  int flag = 0;

  für (int i = 0; i <LVL; i ++) {

    flag = 0;

    while (flag == 0) {

      if (digitalRead (A0) == LOW) {

        digitalWrite (5, HIGH);

        eigen_volg [i] = 5;

        flag = 1;

        Verzögerung (200);

        if (eigen_volg [i]! = order [i]) {

          false_follow ();

          zurück;

        }

        digitalWrite (5, LOW);

      }

      if (digitalRead (A1) == LOW) {

        digitalWrite (4, HIGH);

        eigen_volg [i] = 4;

        flag = 1;

        Verzögerung (200);

        if (eigen_volg [i]! = order [i]) {

          false_follow ();

          zurück;

        }

        digitalWrite (4, LOW);

      }

      if (digitalRead (A2) == LOW) {

        digitalWrite (3, HIGH);

        eigen_volg [i] = 3;

        flag = 1;

        Verzögerung (200);

        if (eigen_volg [i]! = order [i]) {

          false_follow ();

          zurück;

        }

        digitalWrite (3, LOW);

      }

      if (digitalRead (A3) == LOW) {

        digitalWrite (2, HIGH);

        eigen_volg [i] = 2;

        flag = 1;

        Verzögerung (200);

        if (eigen_volg [i]! = order [i]) {

          false_follow ();

          zurück;

        }

        digitalWrite (2, LOW);

      }

    }

  }

  good_follow ();

}

 

void generate_follow () {

  randomSeed (millis ());

  für (int i = 0; i <MAX_LVL; i ++) {

    Ordnung [i] = zufällig (2, 6);

  }

}

 

void false_follow () {

  für (int i = 0; i <3; i ++) {

    digitalWrite (2, HIGH);

    digitalWrite (3, HIGH);

    digitalWrite (4, HIGH);

    digitalWrite (5, HIGH);

    Verzögerung (250);

    digitalWrite (2, LOW);

    digitalWrite (3, LOW);

    digitalWrite (4, LOW);

    digitalWrite (5, LOW);

    Verzögerung (250);

  }

  Stufe = 1;

  Geschwindigkeit = 1000;

}

 

void good_follow () {

  digitalWrite (2, LOW);

  digitalWrite (3, LOW);

  digitalWrite (4, LOW);

  digitalWrite (5, LOW);

  Verzögerung (250);

  digitalWrite (2, HIGH);

  digitalWrite (3, HIGH);

  digitalWrite (4, HIGH);

  digitalWrite (5, HIGH);

  Verzögerung (500);

  digitalWrite (2, LOW);

  digitalWrite (3, LOW);

  digitalWrite (4, LOW);

  digitalWrite (5, LOW);

  Verzögerung (250);

  if (LVL <MAX_LVL);

  LVL ++;

  Geschwindigkeit - = 100;

}

Ihr Simon Says-Spiel sollte jetzt ungefähr so ​​aussehen wie das folgende Video.
Jedes Spiel ist anders, es kann also stundenlang Spaß machen!

 

Die Bewertung von www.elektronicavoorjou.nl bei WebwinkelKeur-Bewertungen ist 9.3 / 10 basierend auf 4989 Bewertungen.