Creación de un dado electrónico con Arduino

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.

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:

  1. 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.
  2. Conecta un extremo del pulsador al pin 2 del Arduino y el otro extremo a GND (tierra).
  3. 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!

Carrito de compra