Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
Hej. Detta är en instruktion om hur du skapar ett spel som testar både din reaktionstid och känsla av avstånd. Detta projekt är baserat på ett gammalt projekt som jag gjorde där två spelare tävlade om vem som hade en snabbare reaktionstid genom att klicka på en knapp när en lampa blev grön. Den här har ett liknande syfte, förutom att den är enspelare och snarare än att ett ljus släcks, får spelaren en tidsram för att distansera sin hand ett visst utrymme från en avståndssensor.
Liksom alla Arduino -projekt kommer detta spel att kräva många elektriska komponenter i Arduino -kretsen. Huvudkomponenterna, förutom ledningarna och själva Arduino, inkluderar brödbrädan, en servomotor, en LCD -display, en RGB -LED och en avståndssensor.
Med https://abra-electronics.com är priset exklusive ledningar och Arduino $ 32,12 CAD.
Steg 1: Steg 1: Avståndssensor
Det första steget är att installera ultraljudsavståndssensorn på brödbrädan och dra den till Arduino. Sensorns exakta position spelar egentligen ingen roll, men helst är den nära en kant så att det finns plats för de andra komponenterna, som visas på bilden ovan. Det finns fyra stift på sensorn; GND, VCC, TRIG och ECHO. GND och VCC ska kopplas in i marken respektive kraftskenorna och sätta in de andra två stiften i två stift på Arduino. De två stiften jag använde var 12 för ECHO och 11 för TRIG. Använd två andra ledningar för att driva kraftskenan och jorda jordskenan genom att ansluta kraftskenan till 5V -stiftet och jordskenan till en GND -stift.
Steg 2: Steg 2: Servomotor
Nästa steg är att ställa in servomotorn. I detta projekt fungerar servomotorn som en timer. Det börjar med 1 grad, och under den tid då användaren måste avstånda sina händer roterar det till 180 grader. Jag använde 2 sekunder för när användaren får reda på hur långt de måste avstånda sina händer, så servon roterar 179 grader under en period på 2 sekunder och roterar med korta intervall. Servomotorn har tre ledningar; vanligtvis en gul, en röd och en brun. Den röda går in i kraftskenan som redan är ansluten till 5V, och den bruna går in i markskenan som redan är ansluten till GND. Den sista ledningen ansluts till en Arduino -stift. Jag valde pin #9 för den här. Sedan behöver du en kondensator som ansluter samma skena som servomotorns ström- och jordledningar är anslutna till, som visas på bilden ovan.
Steg 3: Steg 3: RGB LED
Lysdiodens funktion i detta är att fungera som en skala för poängen. När spelarens poäng är runt 0 blir lysdioden vit och blir mer röd om spelarens poäng går ner och grönt om spelarens poäng stiger. Denna LED har fyra ben; ett ben med rött ljus, ett blått ben, ett grönt ljusben och en gemensam katod som delas mellan de tre andra benen. Den vanliga katoden, det längsta benet, är ansluten till kraftskenan så att den tar emot 5 volt. Fäst 330 ohm motstånd på de andra tre färgbenen och fäst de andra ändarna av dessa motstånd på PWM digitala stift på Arduino. De jag använde var digitala stift 3, 5 och 6 för de röda, gröna respektive blåa benen.
Steg 4: Steg 4: LCD
Den sista komponenten är LCD, som står för LCD -skärm. Syftet med detta är att berätta för spelaren deras nuvarande poäng samt avståndet de behöver för att hålla händerna borta från sensorn. Det finns fyra stift här; GND, VCC, SDA och SCL. GND och VCC kommer att kopplas in i jord- och strömskenorna på brödbrädan. SDA -stiftet måste anslutas till den analoga stiftet A4 och SCL -stiftet måste anslutas till det analoga stiftet A5. Till skillnad från de andra komponenterna måste du ansluta SDA- och SCL -stiften till A4 och A5.
Steg 5: Steg 5: Koden
Nu när vi har anslutit alla komponenter kan vi skriva koden. Den första delen av koden är att importera nödvändiga bibliotek och deklarera våra variabler och vilka stift som komponenterna är anslutna till. Vi måste importera Wire-, LiquidCrystal_I2C- och Servobiblioteken för den här koden.
#omfatta
#omfatta
#omfatta
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int poäng = 0;
int tim = 500;
int ström = slumpmässig (8, 16); // slumpmässigt värde där användaren måste avlägsna handen från sensorn
LiquidCrystal_I2C lcd (0x27, 16, 2); // LCD -inställning
Nu måste vi använda void setup () för att deklarera våra stifttyper och konfigurera andra nödvändiga komponenter.
void setup () {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 -inställning}
Nu måste vi ställa in RGB LED -koden med en funktion och 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, blue);
}
Nu måste vi lägga till void loop (). Här kommer vi att generera slumpmässiga heltal och använda en serie if -uttalanden för att styra spelet för spelaren. Den aktuella variabeln, inställningen ovan, är för det aktuella avstånd som spelaren måste distansera sig från sensorn.
Eftersom koden i void loop () är väldigt lång kommer jag att klistra in en länk till ett dokument som har den koden:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Slutligen måste vi göra de faktiska beräkningarna för att konvertera ultraljudsavståndssensorns värden till tum. Ultraljudsavståndssensorn mäter inte direkt avståndet; det släpper ut ljud och registrerar den tid det tar för sensorn att få tillbaka ljudet från vilket föremål det än studsar av.
långa mikrosekunderToInches (långa mikrosekunder) {
returmikrosekunder / 74 /2;
}
Nu ansluter vi den trådbundna Arduino till datorn med koden, konfigurerar portarna och kör den! Det finns två lägen för det här spelet. Antingen kan du bara använda LCD -skärmen, servomotorn, sensorn och RGB -lysdioden och du vet bara avståndet du måste vara från sensorn, vilket är det hårdare läget. Det enklare läget innebär att du använder den seriella bildskärmen i Verktyg> Seriell bildskärm, som uppdaterar dig varje sekund om hur långt du är från sensorn, så att du kan göra nödvändiga justeringar.
Tack för att du läser!
Rekommenderad:
Lazy 7 / Quick Build Edition: 8 steg (med bilder)
Lazy 7 / Quick Build Edition: Ja. En till. Jag kommer att kopiera/klistra in informationen som jag har lagt upp på Thingiverse här, den här dokumentationen behövs egentligen bara för ledremsningsdirigering. Nyligen publicerade jag 7 Segment Clock - Small Printers Edition, den första 7 -segmentskärmen jag byggde oss
555 Timer Reaction Game: 5 steg
555 Timer Reaction Game: Målgrupp Denna instruerbara är riktad till människor som är intresserade av kretsar (med lite bakgrund) som letar efter ett enkelt spel som du kan bygga med bara några billiga komponenter. Svårighetsgrad Detta skulle vara svårt om
Reaction Training Dummy: 9 steg (med bilder)
Reaction Training Dummy: Som en förfrågan från en idrottsman vän att bygga en billig men effektiv enhet för att förbättra reaktionsträningen kom jag på detta! Tanken var att ställa in en uppsättning LED -enheter som användarna måste inaktivera genom närhetsavkänning. Vid inaktivering slumpmässiga enheter
Reaction Game- Computer Engineering Project: 3 steg
Reaction Game- Computer Engineering Project: Reaktionsspelet är exakt vad namnet säger, det testar din reaktionshastighet. Du kanske frågar vilka fördelar som denna server kan ha utanför underhållning, du kan använda den för individer som rehab från operationer eller olyckor. Deras reaktion
Arduino Reaction Game: 9 steg
Arduino Reaction Game: Jag gjorde det här spelet som ett skoluppdrag. Vi var tvungna att göra något interaktivt med en arduino. Detta är mitt första Arduino -projekt jag någonsin gjort, så det var ganska svårt, men inte omöjligt