Indholdsfortegnelse:
- Trin 1: Trin 1: Afstandssensor
- Trin 2: Trin 2: Servomotor
- Trin 3: Trin 3: RGB LED
- Trin 4: Trin 4: LCD
- Trin 5: Trin 5: Koden
Video: Quick Reaction Game: Distance Version: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Hej. Dette er en instruktion om, hvordan du opretter et spil, der tester både din reaktionstid og følelse af afstand. Dette projekt er baseret på et gammelt projekt, hvor jeg deltog med to spillere, der konkurrerede om at se, hvem der havde en hurtigere reaktionstid ved at klikke på en knap, når en lampe blev grøn. Denne har et lignende formål, bortset fra at den er singleplayer, og i stedet for at et lys slukker, får spilleren en tidsramme til at distancere deres hånd et bestemt rum væk fra en distancesensor.
Som alle andre Arduino -projekter vil dette spil kræve mange elektriske komponenter i Arduino -kredsløbet. Hovedkomponenterne, bortset fra ledningerne og selve Arduino, omfatter brødbrættet, en servomotor, et LCD -display, en RGB LED og en afstandssensor.
Ved hjælp af https://abra-electronics.com er prisen eksklusive ledninger og Arduino $ 32,12 CAD.
Trin 1: Trin 1: Afstandssensor
Det første trin er at opsætte ultralydsafstandssensoren på brødbrættet og koble den til Arduino. Sensorens nøjagtige position er faktisk ligegyldig, men ideelt set er den tæt på en kant, så der er plads til de andre komponenter, som vist på billedet ovenfor. Der er fire ben på sensoren; GND, VCC, TRIG og ECHO. GND og VCC skal forbindes henholdsvis til jorden og strømskinner og tilslutte de to andre ben til to ben på Arduino. De to ben jeg brugte var 12 til ECHO og 11 til TRIG. Brug to andre ledninger til at drive strømskinnen og jordet jordskinnen ved at forbinde strømskinnen til 5V -stiften og jordskinnen til en GND -stift.
Trin 2: Trin 2: Servomotor
Det næste trin er at opsætte servomotoren. I dette projekt fungerer servomotoren som en timer. Den starter ved 1 grad, og i løbet af den periode, hvor brugeren skal distancere sine hænder, vil den rotere til 180 grader. Jeg brugte 2 sekunder til, når brugeren finder ud af, hvor langt de skal distancere deres hænder, så servoen roterer 179 grader over en periode på 2 sekunder og roterer med korte intervaller. Servomotoren har tre ledninger; normalt en gul, en rød og en brun. Den røde går ind i strømskinnen, der allerede er forbundet til 5V, og den brune går ind i jordskinnen, der allerede er forbundet til GND. Den sidste ledning sættes i en Arduino pin. Jeg valgte pin #9 til denne. Derefter har du brug for en kondensator, der forbinder den samme skinne, som servomotorens strøm- og jordledninger er forbundet til, som det ses på billedet ovenfor.
Trin 3: Trin 3: RGB LED
LED'ens funktion i dette er at fungere som en skala for scoren. Når spillerens score er omkring 0, vil LED'en være hvid og blive mere rød, hvis spillerens score falder og grønt, hvis spillerens score stiger. Denne LED har fire ben; et rødt lysben, et blålysben, et grønt lysben og en fælles katode delt mellem de tre andre ben. Den fælles katode, det længste ben, er forbundet til strømskinnen, så den modtager 5 volt. Fastgør 330 ohm modstande til de tre andre farveben, og fastgør de andre ender af disse modstande til PWM digitale stifter på Arduino. Dem, jeg brugte, var digitale stifter 3, 5 og 6 til henholdsvis de røde, grønne og blå ben.
Trin 4: Trin 4: LCD
Den sidste komponent er LCD, som står for liquid crystal display. Formålet med dette er at fortælle spilleren deres aktuelle score samt afstanden, de har brug for at lægge deres hænder væk fra sensoren. Der er fire pins her; GND, VCC, SDA og SCL. GND og VCC vil blive tilsluttet henholdsvis jorden og strømskinnerne på brødbrættet. SDA -stiften skal forbindes til den analoge pin A4, og SCL -stiften skal forbindes med den analoge pin A5. I modsætning til de andre komponenter skal du koble SDA- og SCL -benene til A4 og A5.
Trin 5: Trin 5: Koden
Nu hvor vi har tilsluttet alle komponenterne, kan vi skrive koden. Den første del af koden er at importere de nødvendige biblioteker og erklære vores variabler, og hvilke pins komponenterne er forbundet til. Vi er nødt til at importere Wire-, LiquidCrystal_I2C- og Servobibliotekerne til denne kode.
#omfatte
#omfatte
#omfatte
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 nuværende = tilfældig (8, 16); // tilfældig værdi, hvor brugeren skal fjerne hånden fra sensoren
LiquidCrystal_I2C lcd (0x27, 16, 2); // LCD opsætning
Nu skal vi bruge void setup () til at deklarere vores pin -typer og opsætte andre nødvendige komponenter.
ugyldig opsætning () {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 -opsætning}
Nu skal vi konfigurere RGB LED -koden ved hjælp af en funktion og PWM:
void setColor (int rød, int grøn, int blå) {
rød = 255 - rød;
grøn = 255 - grøn;
blå = 255 - blå;
analogWrite (redPin, rød);
analogWrite (greenPin, grøn);
analogWrite (bluePin, blå);
}
Nu skal vi tilføje tomrumsløkken (). Her vil vi generere tilfældige heltal og bruge en række if -sætninger til at styre spillet for spilleren. Den aktuelle variabel, opsat ovenfor, er for den aktuelle afstand, spilleren skal distancere sig fra sensoren.
Fordi koden i tomrumsløkken () er meget lang, vil jeg indsætte et link til et dokument, der har den kode:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Endelig er vi nødt til at foretage de faktiske beregninger for at konvertere ultralydsafstandssensorens værdier til tommer. Ultralydsafstandssensoren måler ikke direkte afstanden; det frigiver lyd og registrerer den tid, det tager for sensoren at få lyden tilbage fra det objekt, den hopper af.
lange mikrosekunderToInches (lange mikrosekunder) {
returner mikrosekunder / 74 /2;
}
Nu tilslutter vi den kablede Arduino til computeren med koden, opsætter portene og kører den! Der er to tilstande til dette spil. Enten kan du kun bruge LCD -displayet, servomotoren, sensoren og RGB -LED'en, og du ved kun den afstand, du skal være fra sensoren, hvilket er den sværere tilstand. Den lettere tilstand indebærer at bruge den serielle skærm i Værktøjer> Seriel skærm, som hvert sekund opdaterer dig om, hvor langt du er fra sensoren, så du kan foretage nødvendige justeringer.
Tak fordi du læste!
Anbefalede:
555 Timer Reaction Game: 5 trin
555 Timer Reaction Game: Target Audience Denne instruktive er målrettet folk, der er interesserede i kredsløb (med lidt baggrund), der leder efter et simpelt spil, som du kan bygge med få billige komponenter. Sværhedsgrad Dette ville være svært, hvis
Reaction Training Dummy: 9 trin (med billeder)
Reaction Training Dummy: Som en anmodning fra en atletven om at bygge en billig, men effektiv enhed til forbedring af reaktionstræning, kom jeg på dette! Ideen var at kasse et sæt LED -enheder, som brugerne skal deaktivere ved nærhedsregistrering. Ved deaktivering tilfældige enheder
Reaction Game- Computer Engineering Project: 3 trin
Reaction Game- Computer Engineering Project: Reaktionsspillet er præcis, hvad navnet siger, det tester din reaktionshastighed. Du spørger måske, hvilke fordele der kan være for denne server uden for underholdning, godt du kan bruge denne til personer i genoptræning efter operationer eller ulykker. Deres reaktion spe
Arduino Reaction Game: 9 trin
Arduino Reaction Game: Jeg lavede dette spil som en skoleopgave. Vi var nødt til at lave noget interaktivt med en arduino. Dette er mit første Arduino -projekt, jeg nogensinde har lavet, så det var ret svært, men ikke umuligt
Fischertechnik LED Reaction Time Game: 7 trin
Fischertechnik LED -reaktionstidsspil: Sådan opretter du fischertechnik LED -REAKTIONSTIDSPILET Jeg spiller med forskellige uddannelsesmanipulativer for at leve. (Besøg www.weirdrichard.com). En let at bygge applikation er LED REACTION TIME GAME. Robotkontrolleren (i dette tilfælde