Les traigo a su consideración este curioso y entretenido proyecto realizado por Fernando Menduiña (AKA @Bit1363). El propósito del proyecto es, utilizando Arduino jugar el mini juego Running T-Rex Game e implantar el mayor record posible. Running T-Rex Game es un mini juego que podemos encontrar como extension para Google Chrome y también desde diferentes links.
Listado de materiales usados para el proyecto.
Arduino UNO……………………………………1
Potenciómetro de 5k………………………….1
Fotorresistencia (LDR)………………………1
Microservomotor MG90S…………………..1
El principio de funcionamiento consiste en usar un LDR para sensar los cambios de luz producidos en la pantalla al moverse una figura en la misma. Como el juego es monocromático es fácil reconocer cuando está en presencia de una figura de color negro (baja luminosidad) y la ausencia de la misma (alta luminosidad). Su usa una entrada analógica del Arduino para dar rangos entre 0-1023 del valor resistivo producido por el LDR ante cambios luminosos. Luego usando el potenciómetro se calibra la sensibilidad del LDR. Obteniendo un valor de 199 constante cuando el LDR ve fondo blanco (Luz), y cuando encuentre una mancha (figura color negro) sube a 210. Con estas condiciones (>198) entonces actúa sobre el servomotor que será el encargado de presionar la tecla (barra espaciadora) y hacer saltar a DINO REX.
Les dejo el codigo:
//Link del diagrama https://www.tinkercad.com/things/bDYcfcN3rlp #include <Servo.h> Servo fox; #define sensor1 A0 //Pin del sensor void setup() { Serial.begin(9600); pinMode(sensor1,INPUT); fox.attach(3); //declarar el pin de datos del servomotor fox.write(48); //write escribir los grados, cero grados; 0-180 ; 20-160 } void loop() { byte valor = analogRead(sensor1); //0-255 if (valor > 198){ //HIGH = 1 ; LOW = 0 fox.write(58); delay(110); Serial.println("Sensor state:" + String(valor)); } else{ fox.write(48); Serial.println("Sensor state:" + String(valor)); } }
Una muestra del proyecto en acción:
Como recomendación podemos decir que se puede mejorar más la rapidez con que detectan los cambios de luz si se usa un foto diodo que es más sensible al cambio (gracias Andy Abreu Reyes @AAR96 por el Tip). También incluir el uso de un segundo LDR para detectar la velocidad de desplazamiento de DINO REX. Teniendo como dato la distancia (fija) entre los dos LDRs entonces el tiempo que se demore en pasar de uno a otro sensor dividido por esa distancia dará la velocidad. Luego esa velocidad se puede pasar ajustar usando un modelo de IA para tener el tiempo justo en que tiene que saltar DINO REX (gracias Leonardo Navarro @LeoNavarro95 por el Tip)
NOTA: Luego de usar el juego por un tiempo más prolongado y obtener un récord alto el juego INVIERTE los colores por lo que la lógica empleada no funcionara. Como reto les dejo mejorar el código para suplir este cambio. Mi consejo es usar otro LDR en otra parte de la pantalla para q detecte cuando se produce la inversión de los colores y cambiar la lógica del mismo.
Espero disfruten del proyecto y les hagan sus propias modificaciones
¿De cuánta utilidad te ha parecido este contenido?
¡Haz clic en una estrella para puntuar!
Promedio de puntuación 5 / 5. Recuento de votos: 1
Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.
Dejar una contestacion