Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Automatiser le Jeu Chrome Dino avec Arduino et LDR

Composants et fournitures

ComposantQuantité
Arduino UNO1
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 ?

Automatiser le Jeu Chrome Dino avec Arduino et LDR
Automatiser le Jeu Chrome Dino avec Arduino et LDR

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

Montage Arduino

Automatiser le Jeu Chrome Dino avec Arduino et LDR

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

Automatiser le Jeu Chrome Dino avec Arduino et LDR

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

Automatiser le Jeu Chrome Dino avec Arduino et LDR

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

Automatiser le Jeu Chrome Dino avec Arduino et LDR

Processus de fabrication

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