DIY 37 LED-Roulette-Spiel
Komponenten und Verbrauchsmaterialien
![]() |
| × | 1 | |||
| × | 5 | ||||
![]() |
| × | 37 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Notwendige Werkzeuge und Maschinen
![]() |
|
Apps und Onlinedienste
![]() |
|
Ü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
- DIY LUMAZOID Arduino Music Visualiser
- Arduino-Gyroskop-Spiel mit MPU-6050
- Arduino Digital Dice
- Arduino-Gamecontroller
- Joystick-Spiel
- Tragbarer Reichweitendetektor
- MobBob:DIY-Arduino-Roboter, der von einem Android-Smartphone gesteuert wird
- Pixel-Chaser-Spiel
- Galvanisieren mit Kupfer
- NeoMatrix Arduino Pong