Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
Componentes y suministros
| Componente | Cantidad |
|---|---|
| Arduino Nano R3 | 1 |
| Registro de desplazamiento 74HC595 | 5 |
| LED (genérico) | 37 |
| Zumbador (buzzer) | 1 |
| Transistor NPN de propósito general | 1 |
| Pulsador momentáneo | 1 |
Herramientas necesarias
- Soldador (genérico)
Aplicaciones y servicios en línea
- Arduino IDE
Sobre el proyecto
La ruleta es un juego de casino que toma su nombre de la palabra francesa que significa "pequeña rueda". En el juego, los jugadores pueden apostar a un solo número, diversos grupos de números, los colores rojo o negro, si el número es par o impar, o si los números son altos (19–36) o bajos (1–18).
Lo habitual es encontrar proyectos de ruleta con 10 LEDs, así que decidí construir uno con 37 LEDs, igual que la rueda original. Siguiendo el principio de la ruleta real, el movimiento del LED simula una bola cuya velocidad disminuye gradualmente hasta detenerse en un número generado aleatoriamente. La construcción se simplifica enormemente gracias al microcontrolador Arduino. El dispositivo es relativamente sencillo de construir y consta de pocos componentes:
- Microcontrolador Arduino Nano
- 5 registros de desplazamiento 74HC595
- 37 LEDs
- Transistor NPN
- 2 resistencias
- Zumbador
Este diseño sigue el estilo europeo con un solo cero y 36 números más. Al presionar el botón, "lanzamos" la bola virtual: la rotación se simula mediante la iluminación secuencial de los LEDs. El giro de los LEDs va acompañado de un efecto de sonido adecuado, lo que aporta realismo al juego. La velocidad y el tiempo de rotación se pueden ajustar fácilmente en el código.
Finalmente, el dispositivo se aloja en una caja adecuada de plástico PVC forrada con papel pintado de color.
Código
int SER_Pin = 8; //pin 14 en el 74HC595
int RCLK_Pin = 9; //pin 12 en el 74HC595
int SRCLK_Pin = 10; //pin 11 en el 74HC595
//Cuántos registros de desplazamiento - cambiar esto
#define number_of_74hc595s 5
//no tocar
#define numOfRegisterPins number_of_74hc595s * 8
boolean registers[numOfRegisterPins];
int Randomwaarde;
int del = 5;
void setup() {
pinMode(SER_Pin, OUTPUT);
pinMode(RCLK_Pin, OUTPUT);
pinMode(SRCLK_Pin, OUTPUT);
//resetear todos los pines de registro
clearRegisters();
writeRegisters();
randomSeed(analogRead(3));
Randomwaarde = random(190, 210);
Serial.println(Randomwaarde);
}
//establecer todos los pines de registro a LOW
void clearRegisters() {
for(int i = numOfRegisterPins - 1; i >= 0; i--) {
registers[i] = LOW;
}
}
//Establecer y mostrar registros
//Llamar SOLO DESPUÉS de que todos los valores estén configurados (lento en caso contrario)
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, val);
digitalWrite(SRCLK_Pin, HIGH);
}
digitalWrite(RCLK_Pin, HIGH);
}
//establecer un pin individual HIGH o LOW
void setRegisterPin(int index, int value) {
registers[index] = value;
}
void loop() {
for (int x = 0; x <= 36; x++) {
if (del <= Randomwaarde) {
setRegisterPin(x, HIGH);
writeRegisters();
delay(del);
setRegisterPin(x, LOW);
writeRegisters();
del = del + 1;
} else {
setRegisterPin(x, HIGH);
writeRegisters();
delay(10000);
setRegisterPin(x, LOW);
writeRegisters();
del = 5;
}
}
}
Esquemáticos
Proceso de manufactura
- Construya su propio LUMAZOID: Visualizador de música DIY con Arduino
- Construye un Juego Giroscópico en Tiempo Real con Arduino Nano y Sensor MPU-6050
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- Juego interactivo con joystick analógico y LEDs en Arduino
- Detector de Rango Portátil – Kit DIY Arduino Nano con HC-SR04, Batería 18650 y Carcasa Impresa en 3D
- MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
- Pixel Chaser: Juego LED Interactivo de Un Toque con Arduino Nano
- Proyecto de electroplacado de cobre: Construye un sistema inteligente con Arduino UNO
- Pong Neón en Matriz NeoPixel con Arduino Nano
- Juego Pong 1D con Arduino Nano y tira LED WS2812: Tutorial paso a paso