Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino UNO | 1 |
| LDR (5 MOhm) | 1 |
Über dieses Projekt
Langeweile in der Quarantäne? 🥴

Lassen Sie uns das Google Chrome Dino-Spiel spielen... ;)

Aber was, wenn das Dino-Spiel auch langweilig wird? Automatisieren wir es! 😉
Dafür benötigen wir einen Arduino und einen LDR. Grundkenntnisse in Python sind ebenfalls erforderlich.
Arduino-Aufbau

Verbinden Sie den Arduino UNO mit dem LDR. (Widerstand nicht vergessen!)

Anschließend den Code zum analogen Auslesen des LDR-Werts hochladen:
// Arduino Dino Game ! :)
int sensorPin = A0; // LDR an A0 anschließen
int sensorValue = 0; // Variable für LDR-Wert
int thresholdValue = 45; // Schwellenwert (per Versuch & Irrtum ermitteln)
void setup() {
Serial.begin(9600); // Serielle Kommunikation mit 9600 Baud
}
void loop() {
sensorValue = analogRead(sensorPin); // Sensorwert einlesen
// Serial.println(sensorValue); // Zum Ermitteln des Schwellenwerts einkommentieren
if (sensorValue <= thresholdValue) { // Hindernis erkannt
Serial.println(1); // Signal an Python senden
}
delay(40); // 40ms Pause
}
Befestigen Sie den LDR am Monitor und lesen Sie die analogen Werte aus, wenn ein Hindernis vorhanden ist. Setzen Sie diesen Wert als thresholdValue ein und aktualisieren Sie die if-Bedingung. Fertig! ✌️ Der Arduino-Teil ist abgeschlossen.
Sie könnten einen Servomotor hinzufügen, um die Leertaste zu drücken. Da dies aber Quarantänezeit war und kein Servo verfügbar war, erledigt Python diese Aufgabe.
Python-Code

Kopieren Sie den Python-Code und nehmen Sie die notwendigen Anpassungen vor.
Verwendet wird das pyserial-Modul zum Lesen der seriellen Daten und PyAutoGUI zum Simulieren des Tastendrucks (Pfeil hoch).
import subprocess
import time
import pyautogui
import serial
# Firefox starten und Dino-Spiel öffnen
# Für Chrome: Pfad zu chrome.exe anpassen
subprocess.call([r'C:\Program Files\Mozilla Firefox\firefox.exe',
'-new-tab', 'https://chromedino.com/'])
time.sleep(6) # Warten bis Browser geladen ist
print("Alles bereit :)")
ser = serial.Serial('COM4') # Arduino-Port anpassen!
ser.baudrate = 9600
while True:
h1 = ser.readline() # Serielle Daten lesen
if h1:
ss = int(h1.decode('utf-8')) # Dekodieren zu Integer
if ss == 1: # Hindernis erkannt
print("Oh :< Sprung!!")
pyautogui.press('up') # Automatisch Pfeil-hoch drücken
Führen Sie den Python-Code aus und positionieren Sie den LDR per Versuch & Irrtum an der richtigen Stelle. Fertig – das automatisierte Dino-Spiel läuft! 💃 🕺

Erweiterung: Mit einem zweiten LDR ließen sich auch Vögel erkennen.
GitHub Repository: https://github.com/rafitc/arduDino
Code
Arduino-Code
// Arduino Dino Game ! :)
int sensorPin = A0;
int sensorValue = 0;
int thresholdValue = 43;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
// Serial.println(sensorValue);
if (sensorValue <= thresholdValue) {
Serial.println(1);
}
delay(50);
}
Python-Code
import subprocess
import time
import pyautogui
import 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')
Schaltplan

Herstellungsprozess
- Monitor-Ambilight selbst bauen mit Arduino Nano & WS2812B LEDs
- TeleBall: Retro-Handheld-Konsole selbst bauen (Arduino Nano, Breakout & Tennis für Zwei)
- Klassisches Pong-Spiel auf Arduino UNO mit OLED-Display bauen – Schritt-für-Schritt-Tutorial
- DIY Arduino USB Gaming Controller – Bauen Sie Ihren eigenen High-Performance Gamepad
- Automatischen LEGO Star Wars Shooter mit Arduino Uno bauen
- Arduino Touch Breakout-Spiel: Klassisches Arcade auf 2,4″ TFT LCD
- Intelligentes Voltmeter mit Arduino & Smartphone bauen – Einfaches DIY-Projekt
- Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
- Arduino UNO WiFi Webserver: LED per Browser steuern
- Pixel Chaser: Interaktives One-Tap-LED-Spiel mit Arduino Nano