Minijuego con Arduino: «¡NO TOQUES EL CABLE!»

Aquí tienes el tutorial de el mítico juego «No toques el cable»! Este proyecto ha sido realizado completamente con Arduino, sin utilizar librerías ni nada, el código de programación además es muy sencillo.

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

 

Explicación, Objetivo y Funcionamiento del minijuego

El funcionamiento de este famoso mini juego es muy sencillo. El objetivo es pasar un alambre del principio al final sin llegar a tocar nunca el alambre. Si lo tocas, en la versión convencional te da una pequeña descarga electica, pero en este caso lo que pasa es que se enciende una luz y un buzzer emite un sonido.

Además, se incluye en display led el cual se encarga de contar cuantas veces has tocado el cable.

 

 

Materiales

Los materiales para realizar este proyecto son muy sencillos y no debería de ser ningún problema conseguirlos, aun así, para que te sea mas fácil, aquí tienes una lista con todos los componentes.

A continuación tienes una lista con los enlaces de compra en diferentes sitios.

  • Placa de arduino UNO …………….. Amazon / AliExpress
  • Buzzer pasivo…………………..……… Amazon / AliExpress
  • Display 7 segmentos……………….. Amazon / AliExpress
  • Protoboard ……………………………. Amazon / AliExpress
  • Cables …………………………………… Amazon / AliExpress
  • Herramientas basicas …………….. ¡Ver!

 

Si tienes alguna duda sobre los materiales que se utilizan en este proyecto, no dudes en dejar un comentario, te responderemos lo antes posible.

Para conocer más a fondo sobre cada uno de los diferentes materiales, puedes visitar la página «materiales» donde se explica de una forma más extensa el funcionamiento y los posibles usos de cada uno de ellos.

Puedes encontrar más herramientas y materiales que puedas necesitar para tus proyectos AQUÍ.

 

Video explicación del proyecto

Si lo que buscas es ver de una forma mucho más detallada de como realizar este proyecto desde el inicio hasta el final y una explicación del código, a continuación se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉

 
 

Esquema de conexiones Arduino para montar el proyecto

Para que te sea más fácil montar este proyecto, aquí tienes el esquema de conexiones. Todas las conexiones de este esquema corresponden con el código de programación que hay justo abajo, así que asegúrate de que todas están tal y como se muestra en esta imagen. 

 

En la parte inferior de esta imagen, se muestran dos cables rojos. El más largo corresponde con el alambre que se debe de tratar de llevar de un punto al otro, mientras que el cable mas corto con una anilla en el final, corresponde con el cable que sujetamos con la mano.

 

Código de Arduino para la programación del proyecto

A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.

Si quieres una explicación más detallada de las diferentes partes del código empleado para programar esta grúa y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.

//Creador: RobotUNO
//Minijuego: No toques el cable 

#define a 2
#define b 3
#define c 4
#define d 5
#define e 6
#define f 7
#define g 8
int tocar;
int fallos;
int pause;

void setup() {
  pinMode(12,INPUT);
  pinMode(13,OUTPUT);
  fallos=0;
  pause=0;
}

void loop() {
  tocar = digitalRead(12);
  if(tocar == HIGH && pause==0){
    digitalWrite(13,HIGH);
    fallos++;
    pause=1;
  }
  else{
    digitalWrite(13,LOW);
  }
  //Contador de fallos
  switch(fallos){
    case 0:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, LOW);
    break;
    case 1:
    digitalWrite(a, LOW);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, LOW);
    break;
    case 2:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, LOW);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
    break;    
    case 3:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
    break;    
    case 4:
    digitalWrite(a, LOW);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 5:
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 6:
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 7:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, LOW);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, LOW);
    break;    
    case 8:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, HIGH);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;    
    case 9:
    digitalWrite(a, HIGH);
    digitalWrite(b, HIGH);
    digitalWrite(c, HIGH);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, HIGH);
    digitalWrite(g, HIGH);
    break;   
    default: 
    digitalWrite(a, HIGH);
    digitalWrite(b, LOW);
    digitalWrite(c, LOW);
    digitalWrite(d, HIGH);
    digitalWrite(e, LOW);
    digitalWrite(f, LOW);
    digitalWrite(g, HIGH);
  }
  if(pause==1){
    delay(100);
    pause=0;
    digitalWrite(13,LOW);
    delay(400);
  }
}

Lo que debes de hacer para utilizar este código es muy sencillo, simplemente tienes que copiarlo y pegarlo en tu compilador de Arduino (por ejemplo, Arduino IDE). Si no lo tienes instalado, haz click aquí para ver un tutorial sobre como instalártelo de forma totalmente gratuita.

 

Si tienes cualquier duda, deja un comentario en esta pagina y te responderemos lo antes posible.

 

 

Publicado en Minijuegos.

Deja una respuesta

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