Innholdsfortegnelse:
- Trinn 1: Trinn 1: Avstandssensor
- Trinn 2: Trinn 2: Servomotor
- Trinn 3: Trinn 3: RGB LED
- Trinn 4: Trinn 4: LCD
- Trinn 5: Trinn 5: Koden
Video: Quick Reaction Game: Distance Version: 5 Steps (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Hei. Dette er en instruks om hvordan du lager et spill som tester både din reaksjonstid og følelse av avstand. Dette prosjektet er basert på et gammelt prosjekt jeg involverte to spillere som konkurrerte om hvem som hadde en raskere reaksjonstid ved å klikke på en knapp når lyset ble grønt. Denne har et lignende formål, bortsett fra at den er single-player, og i stedet for at et lys slukker, får spilleren en tidsramme for å distanse hånden en bestemt plass fra en distansesensor.
Som alle Arduino -prosjekter, vil dette spillet kreve mange elektriske komponenter i Arduino -kretsen. Hovedkomponentene, bortsett fra ledningene og selve Arduino, inkluderer brødbrettet, en servomotor, en LCD -skjerm, en RGB LED og en avstandssensor.
Ved å bruke https://abra-electronics.com er prisen eksklusive ledninger og Arduino $ 32,12 CAD.
Trinn 1: Trinn 1: Avstandssensor
Det første trinnet er å sette opp ultralydavstandssensoren på brødbrettet og koble den til Arduino. Sensorens nøyaktige posisjon spiller egentlig ingen rolle, men ideelt sett er den nær en kant, slik at det er plass til de andre komponentene, som vist på bildet ovenfor. Det er fire pinner på sensoren; GND, VCC, TRIG og ECHO. GND og VCC skal kobles til henholdsvis bakken og strømskinnene, og koble de to andre pinnene til to pinner på Arduino. De to pinnene jeg brukte var 12 for ECHO og 11 for TRIG. Bruk to andre ledninger til å drive kraftskinnen og jordet jordskinnen ved å koble kraftskinnen til 5V -pinnen og jordskinnen til en GND -pinne.
Trinn 2: Trinn 2: Servomotor
Det neste trinnet er å sette opp servomotoren. I dette prosjektet fungerer servomotoren som en timer. Den starter med 1 grad, og i løpet av tiden brukeren må distanse hendene, vil den rotere til 180 grader. Jeg brukte 2 sekunder på når brukeren finner ut hvor langt de må distanse hendene, så servoen roterer 179 grader over en periode på 2 sekunder, roterer i korte intervaller. Servomotoren har tre ledninger; vanligvis en gul, en rød og en brun. Den røde går inn i kraftskinnen som allerede er koblet til 5V, og den brune går inn i jordskinnen som allerede er koblet til GND. Den siste ledningen kobles til en Arduino -pinne. Jeg valgte pin #9 for denne. Deretter trenger du en kondensator som kobler den samme skinnen som servomotorens strøm- og jordledninger er koblet til, som vist på bildet ovenfor.
Trinn 3: Trinn 3: RGB LED
LED -funksjonen i denne er å fungere som en skala for poengsummen. Når spillerens poengsum er rundt 0, vil lysdioden være hvit, og den vil bli mer rød hvis spillerens poengsum går ned og grønt hvis spillerens poengsum går opp. Denne LED -en har fire ben; et rødt bein, et blått ben, et grønt lysben og en felles katode delt mellom de tre andre bena. Den vanlige katoden, det lengste benet, er koblet til kraftskinnen, slik at den mottar 5 volt. Fest 330 ohm motstander til de tre andre fargebenene, og fest de andre endene av disse motstandene til PWM digitale pinner på Arduino. De jeg brukte var digitale pinner 3, 5 og 6 for henholdsvis de røde, grønne og blå bena.
Trinn 4: Trinn 4: LCD
Den siste komponenten er LCD, som står for LCD -skjerm. Formålet med dette er å fortelle spilleren sin nåværende poengsum, så vel som avstanden de trenger for å legge hendene vekk fra sensoren. Det er fire pins her; GND, VCC, SDA og SCL. GND og VCC vil bli koblet til henholdsvis bakken og strømskinnene på brødbrettet. SDA -pinnen må kobles til den analoge pinnen A4, og SCL -pinnen må kobles til den analoge pinnen A5. I motsetning til de andre komponentene, må du koble SDA- og SCL -pinnene til A4 og A5.
Trinn 5: Trinn 5: Koden
Nå som vi har koblet til alle komponentene, kan vi skrive koden. Den første delen av koden er å importere de nødvendige bibliotekene og deklarere våre variabler og hvilke pinner komponentene er koblet til. Vi må importere Wire-, LiquidCrystal_I2C- og Servobibliotekene for denne koden.
#inkludere
#inkludere
#inkludere
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int score = 0;
int tim = 500;
int strøm = tilfeldig (8, 16); // tilfeldig verdi der brukeren må distanse hånden fra sensoren
LiquidCrystal_I2C lcd (0x27, 16, 2); // LCD -oppsett
Nå må vi bruke void -oppsettet () til å deklarere våre pin -typer og konfigurere andre nødvendige komponenter.
ugyldig oppsett () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // LCD -oppsett}
Nå må vi sette opp RGB LED -koden ved hjelp av en funksjon og PWM:
void setColor (int rød, int grønn, int blå) {
rød = 255 - rød;
grønn = 255 - grønn;
blå = 255 - blå;
analogWrite (redPin, rød);
analogWrite (greenPin, grønn);
analogWrite (bluePin, blå);
}
Nå må vi legge til hulrommet (). Her skal vi generere tilfeldige heltall og bruke en rekke if -setninger for å kontrollere spillet for spilleren. Den nåværende variabelen, oppsettet ovenfor, er for den nåværende avstanden spilleren må distansere seg fra sensoren.
Fordi koden i void loop () er veldig lang, skal jeg lime inn en lenke til et dokument som har den koden:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Til slutt må vi gjøre de faktiske beregningene for å konvertere ultralydavstandssensorens verdier til tommer. Ultralydavstandssensoren måler ikke direkte avstand; den slipper lyd og registrerer tiden det tar for sensoren å få lyden tilbake fra det objektet den hopper av.
long microsecondsToInches (long microseconds) {
returner mikrosekunder / 74 /2;
}
Nå kobler vi den kablede Arduino til datamaskinen med koden, setter opp portene og kjører den! Det er to moduser for dette spillet. Enten kan du bare bruke LCD -skjermen, servomotoren, sensoren og RGB -LED -en, og du vet bare avstanden du må være fra sensoren, som er den vanskeligere modusen. Den enklere modusen innebærer å bruke den serielle skjermen i Verktøy> Seriell skjerm, som oppdaterer deg hvert sekund om hvor langt du er fra sensoren, slik at du kan gjøre nødvendige justeringer.
Takk for at du leste!
Anbefalt:
555 Timer Reaction Game: 5 trinn
555 Timer Reaction Game: Målgruppe Denne instruksen er rettet mot folk som er interessert i kretser (med litt bakgrunn) som leter etter et enkelt spill som du kan bygge med bare noen få billige komponenter. Vanskelighetsgrad Dette ville være vanskelig hvis
Arduino Space Race Game Version _1: 5 Steps
Arduino Space Race Game Version _1: Hei venner. I dag viser jeg deg hvordan du kan lage et Space Race Game med LCD5110 -skjerm og joystic. La oss se trinnene
Reaction Game- Computer Engineering Project: 3 trinn
Reaction Game- Computer Engineering Project: Reaksjonsspillet er akkurat det navnet sier, det tester reaksjonshastigheten din. Du kan spørre om hvilke fordeler denne serveren kan ha, utenom underholdning. Reaksjonen deres
Arduino Reaction Game: 9 trinn
Arduino Reaction Game: Jeg laget dette spillet som en skoleoppgave. Vi måtte lage noe interaktivt med en arduino. Dette er mitt første Arduino -prosjekt jeg noen gang har laget, så det var ganske vanskelig, men ikke umulig
Fischertechnik LED Reaction Time Game: 7 trinn
Fischertechnik LED Reaction Time Game: Hvordan lage fischertechnik LED REACTION TIME SPILL Jeg spiller med forskjellige pedagogiske manipulativer for å leve. (Besøk www.weirdrichard.com). En enkel å bygge applikasjon er LED REACTION TIME GAME. Robotkontrolleren (i dette tilfellet