37-LED-Roulette-Spiel mit Arduino Nano bauen – Europäisches Layout
Benötigte Komponenten
- Arduino Nano R3
- 5 × 74HC595 Schieberegister (für 40 Ausgänge, 37 LEDs + Reserve)
- 37 LEDs (beliebige Farbe, z. B. rot für Zahlen, grün für Null)
- Summer / Buzzer (für Soundeffekte)
- NPN-Transistor (z. B. 2N2222) zum Schalten des Summers
- 2 Widerstände (Basiswiderstand Transistor, Pull-Down für Taster)
- 1 Taster (Start/Neues Spiel)
- Lochrasterplatine, Draht, Lötzubehör
Werkzeuge
- Lötkolben
Software
- Arduino IDE
Projektbeschreibung
Nachbau eines europäischen Roulette-Kessels mit 37 Feldern (0–36) mittels 37 LEDs. Durch Drücken des Tasters wird die „Kugel“ gestartet: Die LEDs leuchten nacheinander auf, die Geschwindigkeit nimmt langsam ab, bis zufällig eine LED stehen bleibt – genau wie beim echten Roulette. Ein Summer begleitet die Drehung mit einem realistischen Sound. Drehgeschwindigkeit und Dauer sind im Code einstellbar.
Funktionsprinzip
- 5× 74HC595 kaskadiert → 40 Schieferausgänge (37 genutzt)
- Arduino schiebt per SPI-ähnlichem Protokoll (SER, SRCLK, RCLK) Bits in die Register
- Zufallszahl (190–210) bestimmt Abbrems-Punkt
- Summer an Pin (via Transistor) erzeugt Ton während der Drehung
Aufbau
- 74HC595 ICs auf Lochrasterplatine verlöten (kaskadiert: SER → Pin 8, RCLK → Pin 9, SRCLK → Pin 10 des Arduino).
- 37 LEDs mit Vorwiderständen an die Register-Ausgänge Q0–Q36 anschließen.
- Summer + Transistor an einen freien Arduino-Pin (z. B. Pin 11).
- Taster an Pin 2 (mit Pull-Down).
- Gesamt in PVC-Gehäuse einbauen, Frontseite mit Zahlen 0–36 beschriften.
Code-Highlights
#define number_of_74hc595s 5
#define numOfRegisterPins number_of_74hc595s * 8
boolean registers[numOfRegisterPins];
int SER_Pin = 8, RCLK_Pin = 9, SRCLK_Pin = 10;
int Randomwaarde; int del = 5;
void setup() {
pinMode(SER_Pin, OUTPUT); pinMode(RCLK_Pin, OUTPUT); pinMode(SRCLK_Pin, OUTPUT);
clearRegisters(); writeRegisters();
randomSeed(analogRead(3));
Randomwaarde = random(190, 210); // Zufälliger Stopp-Punkt
}
void loop() {
for (int x = 0; x <= 36; x++) {
if (del <= Randomwaarde) {
setRegisterPin(x, HIGH); writeRegisters(); delay(del);
setRegisterPin(x, LOW); writeRegisters(); del++;
} else {
setRegisterPin(x, HIGH); writeRegisters(); delay(10000); // Gewinner-LED lange an
setRegisterPin(x, LOW); writeRegisters(); del = 5; // Reset für nächstes Spiel
}
}
}
Funktionen: clearRegisters(), writeRegisters(), setRegisterPin().
Schaltplan
Der Schaltplan zeigt die Kaskadierung der 5× 74HC595, LED-Anschlüsse, Summer-Treiber und Taster.
Gehäuse
PVC-Box mit farbig beklebter Frontplatte – optisch ansprechend und robust.
Herstellungsprozess
- Eigenen LUMAZOID bauen: DIY Arduino Musik-Visualisierer
- Echtzeit-Gyroskop-Spiel mit Arduino Nano & MPU-6050
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Interaktives Joystick-Spiel mit Arduino & LED-Feedback
- Tragbarer Entfernungsmesser – Arduino Nano DIY-Kit mit HC-SR04, 18650-Akku und 3D-gedrucktem Gehäuse
- MobBob: Eigenen Arduino-Roboter bauen, per Android-Smartphone steuern
- Pixel Chaser: Interaktives One-Tap-LED-Spiel mit Arduino Nano
- Kupfer-Galvanik-Projekt: Intelligentes System mit Arduino UNO bauen
- NeoPixel-Matrix Pong auf Arduino Nano: Neon-Pong selbst bauen