⭐⭐ Principiante avanzado
⏱️ 15 minutos
Dado electrónico
Vas a hacer un dado de luz. Pulsa el botón: las luces ruedan un momento, y luego ves cuánto has sacado. ¡De 1 a 6 luces!
🧰 ¿Qué necesitas?
🗺️ Esquema de conexión
Sigue los cables desde el Arduino hasta cada pieza. Puedes elegir tú los colores de los cables.
| Desde | Hasta |
|---|---|
Arduino UNO · D2 |
Pulsador · 1 |
Pulsador · 2 |
Arduino UNO · GND |
Arduino UNO · D6 |
Anillo LED RGB (8 LEDs) · DI |
Arduino UNO · 5V |
Anillo LED RGB (8 LEDs) · 5V |
Arduino UNO · GND |
Anillo LED RGB (8 LEDs) · GND |
🛠️ Así lo construyes
- Pon el pulsador sobre la ranura del breadboard: una patita a pin 2, y una patita del otro lado a GND.
- Conecta el anillo LED: DI a pin 6, 5V a 5V y GND a GND.
💻 El código
// Dado electrónico
// Pulsa el botón: el anillo LED rueda un momento y luego deja encendidas de 1 a 6 luces.
#include <Adafruit_NeoPixel.h>
const int BOTON_PIN = 2; // Pulsador en pin 2 (otro lado a GND)
const int ANILLO_PIN = 6; // DI del anillo LED en pin 6
const int NUM_LEDS = 8;
Adafruit_NeoPixel anillo(NUM_LEDS, ANILLO_PIN, NEO_GRB + NEO_KHZ800);
// Enciende varias luces en un color
void mostrarNumero(int numero, uint32_t color) {
anillo.clear();
for (int i = 0; i < numero; i++) {
anillo.setPixelColor(i, color);
}
anillo.show();
}
void setup() {
pinMode(BOTON_PIN, INPUT_PULLUP);
randomSeed(analogRead(A0)); // Hace que el dado sea de verdad al azar
anillo.begin();
anillo.setBrightness(50);
anillo.show();
}
void loop() {
if (digitalRead(BOTON_PIN) == LOW) {
// Un momento "rodando": números que cambian rápido, cada vez un poco más lento
for (int i = 0; i < 15; i++) {
mostrarNumero(random(1, 7), anillo.Color(0, 80, 255));
delay(40 + i * 10);
}
int tirada = random(1, 7); // Un número del 1 al 6
mostrarNumero(tirada, anillo.Color(0, 255, 60)); // El número real en verde
delay(500);
}
}
🧠 ¿Qué hace el código?
random(1, 7)elige un número al azar del 1 al 6.- Primero mostramos números que cambian rápido en azul. Así parece que el dado rueda.
- Después
mostrarNumero()muestra el número real en verde.
🎯 Prueba esto…
- Da a cada número su propio color
- Haz que un zumbador pite un momento cuando el dado se pare
- Haz un dado del 1 al 8
🚀 Construye este proyecto con Codey: abre codey.online/es/starter-kits/uno/projects/dice y haz clic en HAZ ESTO. Entonces el código y el esquema de conexión estarán listos enseguida.
Codey Online es un producto de OTRONIC