Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

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? 🥴

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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! 💃 🕺

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

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

Arduino-gesteuertes automatisiertes Chrome Dino-Spiel bauen

Herstellungsprozess

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