Vamos a construir un dado LED aleatorio utilizando un Arduino y algunos componentes básicos. A través de este proyecto, aprenderemos cómo controlar LEDs, utilizar pulsadores y generar números aleatorios con Arduino.
En este proyecto vamos a generar un dado electrónico con Arduino el cual a través de un pulsador no va a generar un número aleatorio de entre el 1 y el 6.
Índice de contenidos
Materiales Necesarios
Antes de sumergirnos en los detalles del proyecto, asegurémonos de que tengamos todos los materiales necesarios a mano:
- Arduino board (puede ser cualquier modelo compatible)
- Pulsador
- Display de siete segmentos
- Resistencia de 220 ohmios
- Resistencia de 10 k ohmios
- Cables de conexión
Conexionado
El siguiente paso es conectar los componentes correctamente. Sigue estos pasos para el conexionado:
- Conecta cada uno de los LEDs a los pines digitales 3 a 10 del Arduino, asegurándote de usar una resistencia de 220 ohmios en serie con cada LED para limitar la corriente.
- Conecta un extremo del pulsador al pin 2 del Arduino y el otro extremo a GND (tierra).
- Asegúrate de conectar los pines negativos de todos los LEDs (el cátodo, el lado más corto) a GND.

Código del proyecto
Ahora que tenemos todo conectado, es hora de cargar el código en nuestro Arduino. Aquí está el código que vamos a utilizar:
#define PULSADOR 2 // Define el pin del pulsador como el pin 2
byte numero[10][8] = // Definición de un array bidimensional 10x8 llamado "numero"
{
{ 0,0,0,0,0,0,1,1 }, // Patrón para el número 0
{ 1,0,0,1,1,1,1,1 }, // Patrón para el número 1
{ 0,0,1,0,0,1,0,1 }, // Patrón para el número 2
{ 0,0,0,0,1,1,0,1 }, // Patrón para el número 3
{ 1,0,0,1,1,0,0,1 }, // Patrón para el número 4
{ 0,1,0,0,1,0,0,1 }, // Patrón para el número 5
{ 0,1,0,0,0,0,0,1 }, // Patrón para el número 6
{ 0,0,0,1,1,1,1,1 }, // Patrón para el número 7
{ 0,0,0,0,0,0,0,1 }, // Patrón para el número 8
{ 0,0,0,0,1,0,0,1 } // Patrón para el número 9
};
void setup() {
Serial.begin(9600); // Inicializa la comunicación serial a 9600 bps
for (int i = 3; i <= 10; i++) // Configura los pines 3 a 10 como salidas
{
pinMode(i, OUTPUT);
}
pinMode(PULSADOR, INPUT); // Configura el pin del pulsador como entrada
randomSeed(analogRead(A0)); // Inicializa la semilla para generar números aleatorios
}
void loop() {
int valor = digitalRead(PULSADOR); // Lee el estado del pulsador
if (valor == HIGH) // Si el pulsador está presionado
{
int randomNumber = random(1, 7); // Genera un número aleatorio entre 1 y 6
for (int e = 0; e < 8; e++) // Itera sobre los elementos del patrón del número
{
digitalWrite(e + 3, numero[randomNumber][e]); // Enciende o apaga los LEDs según el patrón
Serial.println(randomNumber); // Imprime el número aleatorio en el puerto serial
}
delay(500); // Espera 500 ms
}
}
Conclusiones
En resumen, este proyecto nos ha permitido explorar y comprender mejor cómo funciona Arduino y cómo podemos utilizarlo para crear dispositivos interactivos y divertidos. Hemos aprendido a controlar LEDs, utilizar pulsadores para activar eventos y generar números aleatorios para simular el lanzamiento de un dado.
Este proyecto es solo el punto de partida; puedes personalizarlo y expandirlo de muchas maneras. ¡Las posibilidades son infinitas!
Si eres nuevo en la programación y la electrónica, este proyecto es una excelente manera de adentrarte en el emocionante mundo de Arduino.
Te animo a que experimentes con diferentes patrones de LEDs, agregues más funcionalidades o incluso diseñes tu propia versión única de este proyecto.
Espero que hayas disfrutado de esta entrada y que te haya inspirado a explorar más con Arduino. ¡Hasta la próxima aventura electrónica! Si tienes alguna pregunta o comentario, no dudes en dejarlos abajo. ¡Estoy emocionado de escuchar tus pensamientos!