Proyecto «Ruleta led aleatoria con Arduino»

 

NUEVO PROYECTO CON ARDUINO! Se trata de una ruleta led hecha totalmente desde 0 con materiales muy simples y fáciles de encontrar. 

En mi caso yo lo he soldado todo sobre una placa de prototipado, pero si no os queréis complicar tanto la vida podéis colocar los componentes electrónicos directamente sobre una placa de prototipado y de ahí sacar las conexiones a Arduino.

Me parece un proyecto genial para llevarlo a la escuela o para aprender como programar en Arduino, ya que las funcionalidades que se le pueden dar son infinitas.

En esta pagina encontraras el código de programación, el esquema de conexiones y un vídeo explicando el proyecto completo en YouTube

Materiales para hacer este proyecto con Arduino

En este caso, los materiales que se necesitan para construir este proyecto son muy muy sencillos de conseguir, es mas, me atrevería a decir que todos los tenéis por casa, pero por si no es tu caso, aquí te dejo una lista detallada con todos los componentes exactos 

Además, en este caso también he utilizado una impreso 3D. Si no tienes una y estas pensando en comprarte una, te dejo aquí un enlace de la que yo estoy utilizando, funciona muy bien y estoy muy contento con los resultados.

Por otro lado, puedes encontrar más herramientas genéricas (como soldador, alicates, etc..)  que puedas necesitar para tus proyectos AQUÍ.

 

Video tutorial del proyecto ruleta led con Arduino

Para que te sea más fácil el montaje y seguir todos los pasos, aquí tienes un video explicando paso a paso como montar el robot, así como consejos y errores que yo he cometido. 

Ya que estamos, si te ha gustado dale un like y suscríbete 😉

 

Esquema de conexiones del proyecto

En todos los proyectos que subo a esta pagina web y al canal de YouTube, uno de los fallos mas comunes es hacer mal las conexiones. Por esta razón, aquí tienes un esquema de conexiones totalmente detallado para que no tengas ningún problema a la hora de hacer las conexiones y el proyecto te funcione bien a la primera.

 

Archivos para la Impresión 3D 

Por si te gusta el diseño de las piezas 3D y quieres hacer el proyecto exactamente igual que yo, aquí te dejo los archivos .stl que necesitas para imprimir las piezas de este proyecto con Arduino. 

LINK A MEGA PARA DESCARGAR LOS ARCHIVOS 3D

 

Código de Arduino  

Otra parte muy importante de este proyecto es el código de programación. Aquí te lo dejo para que simplemente tengas que copiar y pegar.

//Canal de YouTube -> RobotUNO
//Proyecto -> Ruleta led

const int led1 = 2; //Declararion de los leds y los pines de Arduino
const int led2 = 3;
const int led3 = 4;
const int led4 = 7;
const int led5 = 6;
const int led6 = 5;

const int button = 8;

int leds[] = {led1, led2, led3, led4, led5, led6};

void setup() {
  pinMode(led1, OUTPUT); //Se declaran los pines de los leds como salidas
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);  
  pinMode(led6, OUTPUT);
  pinMode(button, INPUT); //Se declara el pin del boton como entrada

  digitalWrite(led1,LOW); //Se apagan todos los leds
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);
  digitalWrite(led4,LOW);
  digitalWrite(led5,LOW);
  digitalWrite(led6,LOW);

  Serial.begin(9600);
  Serial.println("Empieza el juego! Pulsa el boton para jugar!");
}


void loop(){
  if (digitalRead(button)==HIGH){ //Se detecta cuando se ha pultado el boton
    int ledWin = random(5); //Se genera un numero aleatorio entre 0 y 5
    girarRuleta(ledWin);
    digitalWrite(leds[ledWin],HIGH); //Se enciende el led ganador
    delay(5000);
    digitalWrite(leds[ledWin],LOW); //Se apaga el led ganador
  }

  delay(10);  
}


void girarRuleta(int led){
  Serial.println("Y el ganador es...");

  for(int j=0;j<10;j++){ //Bucle encargado de simular que la ruleta esta girando cuando se pulsa el boton
    for(int i=0;i<=6;i++){
      digitalWrite(led1,LOW);
      digitalWrite(led2,LOW);
      digitalWrite(led3,LOW);
      digitalWrite(led4,LOW);
      digitalWrite(led5,LOW);
      digitalWrite(led6,LOW);
      digitalWrite(leds[i],HIGH);

      delay(120-j*10); //Velocidad de giro de la ruleta
    }
  }
  
  Serial.print("El jugador numero ");
  Serial.println(led+1);
}

 

Espero que os haya gustado este proyecto, yo la vedad es que he disfrutado muchísimo haciéndolo y me ha encantado poder incorporar piezas diseñadas desde 0 en él. Comenta que te ha parecido, me gustaría saber tu opinión.

Publicado en Robots.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *