
En este tutorial aprenderas cómo implementar una fotoresistencia, un servomotor y un Arduino para jugar el videojuego offline del Dinosaurio en Google Chrome, siendo un hack para que el famoso T-Rex logre atravesar una gran cantidad de cactus.
Materiales
Para ello necesitaremos un fotoresistor, una resistencia, un servo motor SG90 y un Arduino UNO, este último puede ser sustituido por otro modelo de tarjeta, lo realizamos con este modelo para fines prácticos y educativos.
Los materiales que necesitaremos para construir este dispositivo son:
- Un Arduino UNO
- Un servomotor
- Un fotocélula o fotoresistencia
- Una resistencia de 10K
- Un protoboard
- Algunos cables
Vamos a implementar los materiales anteriores para crear un dispositivo capaz de detectar diferentes obstaculos con base en su color, al ser objetos oscuros la fotoresistencia podrá detectar el objeto, gracias a la diferencia de luz que emite un objeto oscuro en contraste con el fondo blanco del videojuego.
Un poco de teoría
Por su parte, el motor servirá para presionar la tecla espacio, y que el dinosaurio brinque, cuando la fotoresistencia indique que ha detectado un objeto «obscuro». Ahora bien explicaremos a grandes rasgos e cada uno de los materiales.
Un fotoresistor, o LDR (light-dependent resistor) es un dispositivo cuya resistencia varia en función de la luz recibida. Podemos usar esta variación para medir, a través de las entradas analógicas, una estimación del nivel del luz. El tiempo promedio de lectura de un LDR es de 25ms.
Un servomotor o servo. Es un motor eléctrico pero con dos características especiales. La primera es que nos permite mantener una posicion que indiquemos, lo segundo es que nos permite controlar la velocidad del giro, podemos hacer que antes de que se mueva a la siguiente posición espere un tiempo.
Arduino es una tarjeta electrónica de fácil programación y conexión, que se distribuye bajo la filosófia de hardware y software libre lo que ha abierto el camino a un gran número de modificaciones, componentes y demás sensores.
Conexión de Arduino

Programación
Como lo hemos mencionado, el programa estará midiendo constantemente el nivel de luz a través de la fotoresistencia, misma que al detectar un valor de luz menor que 690, entrará en el condicional iniciando el «servoMotor» que girará 90 grados oprimiendo la tecla de espacio, al encontrar un valor de luz superior a 690 regresará a su posición original de 70 grados, función que se repetirá una y otra vez.
// Incluímos la librería para poder controlar el servo
#include <Servo.h>
Servo servoMotor;// Declaramos la variable para controlar el servo
int FotoLDR = analogRead(5);// Variable de Fotoresistencia en A5
void setup() {
Serial.begin(9600); // Iniciamos el monitor serie para mostrar el resultado
pinMode(FotoLDR , INPUT); // Declaramos el pin de la fotoresistencia como una entrada de datos
servoMotor.attach(8); // Iniciamos el servo para que empiece a trabajar con el pin 8 del arduino
}
void loop() {
int value = digitalRead(FotoLDR);
if (690>value)
{
servoMotor.write(90); // Iniciamos servo en posición 90º
}
else {
servoMotor.write(70); // Regresamos el servo a 70º
}
}
Resultado: hemos «hackeado» el vidoejuego del Dinasaurio de Chrome con Arduino
Al encontrarme en cuarentena no me ha sido posible preparar el vídeo, por lo que les comparto un ejemplo publicado en Youtube por @eltallerdetd.