Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Geautomatiseerd Dino-spel met arduino

Componenten en benodigdheden

Arduino UNO
× 1
LDR, 5 Mohm
× 1

Over dit project

Verveelde AF, tijdens deze quarantainetijd ?🥴

Laten we Google Chrome Dino-game spelen ...;)

Maar wat te doen als het Dino-spel ook saai wordt.

Laten we het Dino-spel automatiseren.

We hebben dus een Arduino en LDR nodig . Weinig kennis in python is ook vereist.

Laten we eerst onze Arduino instellen .

Verbind Arduino UNO met LDR. (Vergeet niet weerstand toe te voegen)

Upload vervolgens de code naar de analoge Read LDR-waarde.

// Arduino Dino-spel! :)

int sensorPin =A0; // Sluit LDR aan op A0
int sensorValue =0; // variabele om de waarde op te slaan die afkomstig is van LDR
int thresholdValue =45; //deze is afhankelijk van uw methode van vallen en opstaan.
void setup() {
Serial.begin(9600); //Serial begin op 9600
}

void loop() {
// lees de waarde van de sensor:
sensorValue =analogRead(sensorPin); //lees sensorgegevens
//Serial.println(sensorValue); // verwijder dit bij het eerste gebruik en neem uw drempelwaarde en stel deze in.

if(sensorValue <=thresholdValue){ //if voorwaarde om obstakel te detecteren.
Serial.println(1); //Seriële afdrukken als de voorwaarde waar is.
}
vertraging(40); //vertraging 50ms
}

Herstel uw LDR op de monitor lees dan analogValues ​​ wanneer er een obstakel is. stel die waarde in als thresholdValue en update uw indien voorwaarde . Yessss!!!!! ✌️                   Nu is het Arduino-gedeelte voorbij.

Je kunt een servomotor toevoegen door op de spatiebalk te drukken om Dino te laten springen. Maar dit is quarantainetijd. Dus ik heb geen manier om een ​​servomotor te krijgen. Dus hier heb ik python-code gebruikt om deze taak uit te voeren.

Dus laten we coderen in python;)

Kopieer en plak python-code, breng de nodige wijzigingen aan.

In code gebruiken we pyserial module om seriële gegevens te lezen. Druk vervolgens op de knop omhoog met behulp van PyAutoGUI module.

import subproces 
import tijd
import pyautogui
import serieel
subprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe' ,
'-new-tab', 'https://chromedino.com/'])
#Voeg Google Chrome-pad toe voor Chrome-gebruikers.
#om browser te openen en Dino-game te openen.
#Ik ben een Firefox-gebruiker, dus ik heb geen Dino-spel,
#Hier gebruik ik chromedino.com om het spel te spelen.
time.sleep(6) #geef een korte tijd om alles te openen en in te stellen.
print("All sett :)")

ser =serial.Serial('COM4 ') #Update met je arduino [poort]
ser.baudrate ='9600' #set baudRate

terwijl True:# looping.
h1=ser.readline() #reading seriële data.
if h1:
ss =int(h1.decode('utf-8')) # decodeer en maak een int-waarde
if ss==1:# true while obstakel.
print("Oh : pyautogui.press('up') #Auto press [UP] toets

Voer uw python-code uit en plaats uw LDR op de juiste plaats door middel van een trial and error-methode. Ja !!! Geautomatiseerd Dino-spel is klaar.💃 🕺

Je kunt dit volgende niveau bereiken door een andere LDR te gebruiken om vogels te detecteren ook.

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

YouTube-video

Code

  • Codefragment #1
  • Codefragment #2
Codefragment #1Arduino
// Arduino Dino-spel! :)int sensorPin =A0; // Sluit LDR aan op A0 int sensorValue =0; // variabele om de waarde op te slaan die afkomstig is van LDRint thresholdValue =43; //deze is afhankelijk van uw methode van vallen en opstaan. void setup() {  Serial.begin(9600); //Serial begin on 9600}void loop() {  // lees de waarde van de sensor: sensorValue =analogRead(sensorPin); //lees sensorgegevens //Serial.println(sensorValue); // verwijder dit bij het eerste gebruik en neem uw drempelwaarde en stel deze in. if(sensorValue <=thresholdValue){   //if voorwaarde om obstakel te detecteren. Serieel.println(1); //Seriële afdrukken als de voorwaarde waar is. }  vertraging(50); //vertraging 50ms}
Codefragment #2Python
import subproces   import timeimport pyautoguiimport serialsubprocess.call([r'C:\Program Files\Mozilla Firefox\Firefox.exe',  #Add google chrome path for chrome users.    '-new-tab', 'https:// chromedino.com/'])  #om de browser te openen en het Dino-spel te openen. #Ik ben een Firefox-gebruiker, dus ik heb geen Dino-game,                               #Hier gebruik ik chromedino.com om een ​​game te spelen. time.sleep(6)                 #geef een korte tijd om all.print("All sett :)")ser =serial.Serial('COM4')   #Update met uw arduino [port]ser.baudrate ='9600 '     #set baudRatewhile True:          # looping. h1=ser.readline()       #reading seriële data. if h1:  ss =int(h1.decode('utf-8')) # decodeer en maak een int-waarde   if ss==1:        # true while obstakel. print("Oh : 
Github
GitHUb repo-link https://github.com/rafitc/arduDino

Schema's


Productieproces

  1. Maak Monitor Ambilight met Arduino
  2. TeleBall Retro handheld gameconsole
  3. Arduino Pong Game - OLED-scherm
  4. Arduino-gamecontroller
  5. Geautomatiseerde Lego Shooter
  6. Arduino Touch Breakout-spel
  7. DIY voltmeter met Arduino en smartphone
  8. Hartslagmeter met IoT
  9. WebServerBlink met Arduino Uno WiFi
  10. Pixel Chaser-game
  11. FM-radio met Arduino en RDA8057M