Automatiser le Jeu Chrome Dino avec Arduino et LDR
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| LDR (photorésistance) 5 MΩ | 1 |
| Résistance (pour montage LDR) | 1 |
À propos de ce projet
Ennuyé pendant le confinement ? Jouons au jeu Chrome Dino... mais pourquoi ne pas l'automatiser ?


Il nous faut un Arduino et une LDR. Des bases en Python sont aussi nécessaires.
Montage Arduino

Connectez l'Arduino UNO à la LDR (n'oubliez pas la résistance de tirage).

Code Arduino
Téléversez ce code pour lire la valeur analogique de la LDR :
// Arduino Dino Game :)
int sensorPin = A0; // LDR sur A0
int sensorValue = 0; // Valeur lue
int thresholdValue = 45; // Seuil à déterminer par essais
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
// Serial.println(sensorValue); // Décommenter pour calibrer
if(sensorValue <= thresholdValue) {
Serial.println(1); // Obstacle détecté
}
delay(40);
}
Fixez la LDR sur l'écran, lisez les valeurs analogiques quand un obstacle apparaît, définissez ce seuil dans thresholdValue et ajustez la condition if. La partie Arduino est terminée !
Vous pourriez ajouter un servomoteur pour appuyer sur la barre espace, mais ici nous utilisons Python pour simuler la touche.
Code Python

Ce script utilise pyserial pour lire le port série et PyAutoGUI pour presser la touche ↑.
import subprocess
import time
import pyautogui
import serial
# Lancer le navigateur sur le jeu (ici Firefox + chromedino.com)
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') # Adapter à votre port 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')
Exécutez le script Python et positionnez la LDR par essais-erreurs. Le Dino automatisé est prêt ! 💃🕺
Amélioration possible : ajouter une seconde LDR pour détecter les oiseaux.
Dépôt GitHub : https://github.com/rafitc/arduDino
Codes complets
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')
Schéma

Processus de fabrication
- Créer un système Ambilight spectaculaire pour moniteur avec Arduino
- TeleBall : Console de jeu rétro portable DIY (Arduino Nano) – Breakout & Tennis à deux
- Créer un jeu Pong classique sur Arduino UNO avec écran OLED – Tutoriel étape par étape
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Construire un tireur LEGO Star Wars automatisé avec Arduino Uno
- Jeu Breakout tactile Arduino : recréez l'arcade classique sur écran TFT 2,4″
- Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
- Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
- Serveur Web Arduino Uno WiFi : Commander une LED via Navigateur