Automatize o Jogo do Dinossauro do Chrome com Arduino e LDR
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| LDR (5 MΩ) | 1 |
Sobre o Projeto
Entediado durante a quarentena? Vamos jogar o jogo do dinossauro do Chrome... mas e se o jogo também ficar chato? Vamos automatizá-lo! 😉


Você precisará de um Arduino e LDR. Conhecimentos básicos de Python também são necessários.
Configuração do Arduino

Conecte o Arduino UNO ao LDR (não esqueça o resistor).

Código do Arduino
// Arduino Dino Game! :)
int sensorPin = A0; // Conecte LDR no A0
int sensorValue = 0;
int thresholdValue = 45; // Ajuste por tentativa e erro
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
// Serial.println(sensorValue); // Descomente para calibrar
if (sensorValue <= thresholdValue) { // Detecta obstáculo
Serial.println(1);
}
delay(40);
}
Fixe o LDR no monitor e leia os valores analógicos quando um obstáculo aparecer. Defina esse valor como thresholdValue e atualize o if. Pronto! ✌️
Você pode adicionar um servo para pressionar a barra de espaço, mas usei Python para essa tarefa.
Código Python

Usamos o módulo pyserial para ler dados seriais e PyAutoGUI para pressionar a tecla Up.
import subprocess
import time
import pyautogui
import serial
subprocess.call([r'C:\Program Files\Mozilla Firefox\firefox.exe',
'-new-tab', 'https://chromedino.com/'])
# Usuários do Chrome: substitua pelo caminho do Chrome.
time.sleep(6)
print("All sett :)")
ser = serial.Serial('COM4') # Atualize com a porta do seu Arduino
ser.baudrate = 9600
while True:
h1 = ser.readline()
if h1:
ss = int(h1.decode('utf-8'))
if ss == 1:
print("Oh :< Jump!!")
pyautogui.press('up')
Execute o código Python e posicione o LDR corretamente por tentativa e erro. Jogo automatizado pronto! 💃🕺

Para ir além, adicione outro LDR para detectar pássaros.
Repositório GitHub: https://github.com/rafitc/arduDino
Código Completo
Arduino
// Arduino Dino Game! :)
int sensorPin = A0;
int sensorValue = 0;
int thresholdValue = 43;
void setup() { Serial.begin(9600); }
void loop() {
sensorValue = analogRead(sensorPin);
if (sensorValue <= thresholdValue) { Serial.println(1); }
delay(50);
}
Python
import subprocess, time, pyautogui, serial
subprocess.call([r'C:\Program Files\Mozilla Firefox\firefox.exe', '-new-tab', 'https://chromedino.com/'])
time.sleep(6)
print("All sett :)")
ser = serial.Serial('COM4')
ser.baudrate = 9600
while True:
h1 = ser.readline()
if h1:
ss = int(h1.decode('utf-8'))
if ss == 1:
print("Oh :< Jump!!")
pyautogui.press('up')
Processo de manufatura
- Crie um Sistema Ambilight Impressionante para Monitor com Arduino
- TeleBall: Console Retrô Portátil DIY – Breakout e Tênis para Dois com Arduino
- Construa o Clássico Jogo Pong no Arduino UNO com Display OLED – Tutorial Passo a Passo
- Controle USB para Jogos DIY com Arduino – Construa Seu Próprio Gamepad de Alto Desempenho
- Construa um Atirador Automatizado LEGO Star Wars com Arduino Uno
- Jogo Breakout Touch com Arduino: Arcade Clássico em LCD TFT 2,4″
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Monitor de Frequência Cardíaca IoT em Tempo Real com Arduino e MAX30100
- Servidor Web Arduino Uno WiFi: Controle LED via Navegador
- Pixel Chaser: Jogo LED Interativo de Um Toque com Arduino Nano