Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY 37 LED-Roulette-Spiel

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
74HC595 Schieberegister-IC
× 5
LED (generisch)
× 37
Summer
× 1
Allzwecktransistor NPN
× 1
Druckschalter, kurzzeitig
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Roulette ist ein Casinospiel, das nach dem französischen Wort für kleines Rad benannt ist. Im Spiel können die Spieler wählen, ob sie auf eine einzelne Zahl, verschiedene Zahlengruppierungen, die Farben Rot oder Schwarz, ob die Zahl ungerade oder gerade ist, oder ob die Zahlen hoch (19–36) oder niedrig (1 –18).

Am häufigsten findet man ein Projekt eines Roulette-Spiels mit 10 LEDs, daher habe ich mich für 37 LEDs wie beim Originalrad entschieden. Nach dem Prinzip des ursprünglichen Roulette-Spiels simuliert die Bewegung der LED eine Kugel, deren Geschwindigkeit allmählich abnimmt, bis sie bei einer zufällig generierten Zahl stoppt. Der Aufbau wird durch die Verwendung eines Arduino-Mikrocontrollers stark vereinfacht. Das Gerät ist relativ einfach zu bauen und besteht aus wenigen Komponenten:

- Arduino Nano-Mikrocontroller

- 74HC595 Schieberegister 5 Fische

- 37 LEDs

- NPN-Transistor

- 2 Widerstände

- und Summer

Dies ist das Layout im europäischen Stil und besteht aus einer einzelnen Null und 36 anderen Zahlen. Durch Drücken der Taste werfen wir tatsächlich den virtuellen Ball, wobei die Rotation durch das anschließende Aufleuchten der LEDs simuliert wird. Die Drehung der LEDs wird von einem entsprechenden Soundeffekt begleitet, der dem Spiel ein realistisches Gefühl verleiht. Rotationsgeschwindigkeit sowie Zeit können einfach im Code angepasst werden.

Zum Schluss wird das Gerät in eine passende Box aus PVC-Kunststoff gelegt und mit farbiger Tapete überzogen.

Code

  • Code
CodeC/C++
int SER_Pin =8; // Pin 14 am 75HC595int RCLK_Pin =9; // Pin 12 am 75HC595int SRCLK_Pin =10; // Pin 11 auf dem 75HC595//Wie viele der Schieberegister - ändern Sie dies#define number_of_74hc595s 5//nicht berühren#define numOfRegisterPins number_of_74hc595s * 8boolean registers[numOfRegisterPins];int Randomwaarde;int del =5;void setup() { PinMode (SER_Pin, AUSGANG); pinMode (RCLK_Pin, AUSGANG); pinMode (SRCLK_Pin, AUSGANG); // alle Registerpins zurücksetzen clearRegisters (); writeRegisters(); randomSeed (analogRead (3)); Randomwaarde =zufällig (190, 210); Serial.println (Randomwaarde);} // setze alle Registerpins auf LOWvoid clearRegisters () {for (int i =numOfRegisterPins - 1; i>=0; i--) {registers[i] =LOW; }} // Register setzen und anzeigen // Nur aufrufen, NACHDEM alle Werte wie gewünscht gesetzt sind (sonst langsam)void writeRegisters () { digitalWrite (RCLK_Pin, LOW); for (int i =numOfRegisterPins - 1; i>=0; i--) { digitalWrite (SRCLK_Pin, LOW); int val =registers[i]; digitalWrite (SER_Pin, Wert); digitalWrite (SRCLK_Pin, HIGH); } digitalWrite(RCLK_Pin, HIGH);} // Setze einen einzelnen Pin HIGH oder LOWvoid setRegisterPin(int index, int value){ registers[index] =value;}void loop(){ for (int x=0; x<=36; x++) { if (del <=Randomwaarde) { setRegisterPin(x, HIGH); writeRegisters(); Verzögerung(del); setRegisterPin(x, LOW); writeRegisters(); del =del +1; aufrechtzuerhalten. Sonst { setRegisterPin (x, HIGH); writeRegisters(); Verzögerung (10000); setRegisterPin(x, LOW); writeRegisters(); del =5; } }}

Schaltpläne


Herstellungsprozess

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Arduino-Gyroskop-Spiel mit MPU-6050
  3. Arduino Digital Dice
  4. Arduino-Gamecontroller
  5. Joystick-Spiel
  6. Tragbarer Reichweitendetektor
  7. MobBob:DIY-Arduino-Roboter, der von einem Android-Smartphone gesteuert wird
  8. Pixel-Chaser-Spiel
  9. Galvanisieren mit Kupfer
  10. NeoMatrix Arduino Pong