⭐⭐ 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!

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.

🧰 ¿Qué necesitas?

1× Arduino UNO
1× Pulsador
1× Anillo LED RGB (8 LEDs)
🔌
Cable USB + Cables jumper

🗺️ 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

  1. Pon el pulsador sobre la ranura del breadboard: una patita a pin 2, y una patita del otro lado a GND.
  2. 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.

Primero inicias sesión un momento. Después tu proyecto está listo enseguida.
⬇️ Descarga esta página como PDF 📚 Descarga el tutorial completo (PDF)

Codey Online es un producto de OTRONIC

Crea tu proyecto de Arduino o ESP32 con IA

Describe lo que quieres construir. Codey Online escribe el codigo, dibuja el esquema de conexiones, lo compila y graba tu placa directamente desde el navegador.

Empieza gratis