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

Automatisiertes Dino-Spiel mit Arduino

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
LDR, 5 MOhm
× 1

Über dieses Projekt

Gelangweilter AF, während dieser Quarantänezeit ?🥴

Lass uns Google Chrome Dino spielen…;)

Aber was tun, wenn das Dino-Spiel auch langweilig wird.

Lass uns das Dino-Spiel automatisieren😉.

Wir brauchen also ein Arduino und LDR . Wenig Wissen in Python ist ebenfalls erforderlich.

Lassen Sie uns zuerst unser Arduino einrichten .

Verbinden Sie Arduino UNO mit LDR. (Vergessen Sie nicht, Widerstand hinzuzufügen)

Laden Sie als Nächstes den Code in den analogen LDR-Wert hoch.

 // Arduino Dino-Spiel ! :)

int sensorPin =A0; // LDR auf A0 verbinden
int sensorValue =0; // Variable zum Speichern des von LDR kommenden Wertes
int thresholdValue =45; // Dies hängt von Ihrer Trial-and-Error-Methode ab.
void setup() {
Serial.begin(9600); // Serieller Beginn bei 9600
}

void loop () {
// den Wert vom Sensor lesen:
sensorValue =analogRead (sensorPin); // Sensordaten lesen
// Serial.println (sensorValue); // Entkommentieren Sie dies bei der ersten Verwendung und nehmen Sie Ihren Schwellenwert und setzen Sie ihn.

if(sensorValue <=thresholdValue){//wenn Bedingung zum Erkennen von Hindernissen.
Serial.println(1); // Seriendruck, wenn Bedingung wahr ist.
}
Verzögerung(40); // Verzögerung 50 ms
}

Repariere deinen LDR auf dem Monitor lesen Sie dann analogValues ​​ wenn ein Hindernis vorhanden ist. setze diesen Wert als thresholdValue und aktualisieren Sie Ihre Wenn-Bedingung . Jassss !!!!! ✌️                   Jetzt ist der Arduino-Teil vorbei.

Sie können einen Servomotor hinzufügen, um die Leertaste zu drücken, damit Dino springt. Aber jetzt ist Quarantänezeit. Also, ich habe keine Möglichkeit, einen Servomotor zu bekommen. Also, hier werde ich Python-Code verwendet, um diese Aufgabe zu erledigen.

Also, lass uns in Python programmieren;)

Kopieren Sie den Python-Code und fügen Sie ihn ein, nehmen Sie die entsprechenden Änderungen vor.

Im Code verwenden wir pyserial Modul zum Lesen serieller Daten. Dann zum Drücken der Aufwärtstaste mit PyAutoGUI Modul.

import subprocess 
import time
import pyautogui
import serial
subprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe' ,
'-new-tab', 'https://chromedino.com/'])
#Google Chrome-Pfad für Chrome-Benutzer hinzufügen.
#um den Browser zu öffnen und das Dino-Spiel zu öffnen.
#Ich bin ein Firefox-Benutzer, also habe ich kein Dino-Spiel,
#Hier benutze ich chromedino.com, um das Spiel zu spielen.
time.sleep(6) #geben Sie eine kurze Zeit, um alles zu öffnen und einzurichten.
print("All sett :)")

ser =serial.Serial('COM4 ') #Aktualisieren Sie mit Ihrem arduino [Port]
ser.baudrate ='9600' #set baudRate

während True:# Schleife.
h1=ser.readline() #lesen serielle Daten.
if h1:
ss =int(h1.decode('utf-8')) # dekodieren und einen int-Wert erstellen
if ss==1:# true while hindernis.
print("Oh : pyautogui.press('up') #Auto [UP] Taste drücken

Führen Sie Ihren Python-Code aus und passen Sie Ihren LDR mit der Trial-and-Error-Methode an die entsprechende Stelle an. Ja !!! Das automatisierte Dino-Spiel ist fertig.💃 🕺

Sie können dieses nächste Level erreichen, indem Sie einen anderen LDR verwenden, um Vögel zu erkennen auch.

GitHub-Repository:https://github.com/rafitc/arduDino

YouTube-Video

Code

  • Code-Snippet Nr. 1
  • Code-Snippet 2
Code-Snippet Nr. 1Arduino
// Arduino Dino-Spiel ! :)int sensorPin =A0; // LDR an A0 anschließen int sensorValue =0; // Variable zum Speichern des Werts von LDRintthresholdValue =43; // Dies hängt von Ihrer Trial-and-Error-Methode ab. void setup() {  Serial.begin(9600); // Serieller Beginn bei 9600}void loop () { // den Wert vom Sensor lesen: sensorValue =analogRead (sensorPin); // Sensordaten lesen // Serial.println (sensorValue); // Entkommentieren Sie dies bei der ersten Verwendung und nehmen Sie Ihren Schwellenwert und setzen Sie ihn. if(sensorValue <=thresholdValue){   //if Bedingung zum Erkennen eines Hindernisses. Serial.println(1); // Seriendruck, wenn Bedingung wahr ist. }  Verzögerung(50); //Verzögerung 50ms}
Code-Snippet #2Python
import subprocess   import timeimport pyautoguiimport serialsubprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe',  #Google Chrome-Pfad für Chrome-Benutzer hinzufügen.    '-new-tab', 'https:// chromedino.com/'])  #um den Browser zu öffnen und das Dino-Spiel zu öffnen. #Ich bin ein Firefox-Nutzer, also habe ich kein Dino-Spiel,                              #Hier verwende ich chromedino.com zum Spielen. time.sleep(6)                # Geben Sie eine kurze Zeit zum Öffnen und Einrichten von all.print("All sett :)")ser =serial.Serial('COM4')   #Update mit Ihrem arduino [port]ser.baudrate ='9600 '     #set baudRatewhile True:          # Schleife. h1=ser.readline()       #lesen serielle Daten. if h1:  ss =int(h1.decode('utf-8')) # decodieren und einen int-Wert erstellen   if ss==1:        # true while hindernis. print("Oh : 
Github
GitHUb-Repo-Link https://github.com/rafitc/arduDino

Schaltpläne


Herstellungsprozess

  1. Erstellen von Monitor-Ambilight mit Arduino
  2. TeleBall Retro-Handheld-Spielkonsole
  3. Arduino Pong-Spiel - OLED-Display
  4. Arduino-Gamecontroller
  5. Automatisierter Lego-Shooter
  6. Arduino Touch Breakout-Spiel
  7. DIY-Voltmeter mit Arduino und Smartphone
  8. Herzfrequenzmesser mit IoT
  9. WebServerBlink mit Arduino Uno WiFi
  10. Pixel-Chaser-Spiel