Sisukord:
- 1. samm: 1. samm: kaugusandur
- 2. samm: 2. samm: servomootor
- 3. samm: 3. samm: RGB LED
- 4. samm: 4. samm: LCD
- Samm: samm 5: kood
Video: Kiire reageerimise mäng: Kaugversioon: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Tere. See on juhend, kuidas luua mängu, mis testib nii teie reaktsiooniaega kui ka kaugustunnet. See projekt põhineb minu tehtud vanal projektil, milles osalesid kaks mängijat, kes võistlesid, et näha, kellel oli kiirem reaktsiooniaeg, klõpsates nupul, kui tuli roheliseks muutus. Sellel on sarnane eesmärk, välja arvatud juhul, kui tegemist on ühe mängijaga, ja kui tuli kustub, antakse mängijale ajavahemik, et oma käsi teatud kaugusel kaugusandurist eemal hoida.
Nagu kõik Arduino projektid, nõuab see mäng Arduino vooluringis arvukalt elektrilisi komponente. Peamised komponendid, välja arvatud juhtmestik ja Arduino ise, hõlmavad leivaplaati, servomootorit, LCD -ekraani, RGB LED -d ja kaugusandurit.
Kasutades https://abra-electronics.com, on hind ilma juhtmete ja Arduino 32,12 USD.
1. samm: 1. samm: kaugusandur
Esimene samm on seadistada leivalauale ultraheli kaugusandur ja ühendada see Arduinoga. Anduri täpne asukoht pole tegelikult oluline, kuid ideaaljuhul on see serva lähedal, nii et seal on ruumi teistele komponentidele, nagu on näidatud ülaltoodud pildil. Anduril on neli tihvti; GND, VCC, TRIG ja ECHO. GND ja VCC tuleb ühendada vastavalt maandus- ja toitepiiretega ning ülejäänud kaks tihvti ühendada Arduino kahte tihvti. Kaks tihvti, mida kasutasin, olid ECHO jaoks 12 ja TRIG jaoks 11 tihvti. Kasutage kahte muud juhtmest toiteploki toiteks ja maandusrööpa maandamiseks, ühendades toiteliini 5V kontaktiga ja maandusliini GND tihvtiga.
2. samm: 2. samm: servomootor
Järgmine samm on servomootori seadistamine. Selles projektis toimib servomootor taimerina. See algab 1 kraadist ja selle aja jooksul, mil kasutaja peab oma käed distantseerima, pöörleb see 180 kraadini. Kasutasin 2 sekundit, kui kasutaja saab teada, kui kaugele nad peavad oma kätega distantseerima, nii et servo pöörleb 2 sekundi jooksul 179 kraadi, pöörates lühikeste intervallidega. Servomootoril on kolm juhtmest; tavaliselt kollane, punane ja pruun. Punane läheb vooluvõrku, mis on juba ühendatud 5 V pingega, ja pruun läheb juba GND -ga ühendatud maandusliinile. Viimane traat ühendatakse Arduino tihvtiga. Valisin selle jaoks tihvti nr 9. Seejärel vajate kondensaatorit, mis ühendab sama rööpa, millel on servomootori toite- ja maandusjuhtmed ühendatud, nagu ülaltoodud pildil näha.
3. samm: 3. samm: RGB LED
LED -i funktsioon selles on toimida skoori skaalana. Kui mängija skoor on umbes 0, on LED valge ja muutub punasemaks, kui mängija tulemus langeb, ja roheline, kui mängija skoor tõuseb. Sellel LED -il on neli jalga; punase tule jalg, sinise tule jalg, rohelise tule jalg ja ühine katood, mis on jagatud kolme ülejäänud jala vahel. Tavaline katood, pikim jalg, on ühendatud toitekaabliga, nii et see saab 5 volti. Kinnitage 330 oomi takistid ülejäänud kolme värvilise jala külge ja kinnitage nende takistite teised otsad Arduino PWM digitaalsete tihvtide külge. Kasutasin punaste, roheliste ja siniste jalgade jaoks digitaalseid tihvte 3, 5 ja 6.
4. samm: 4. samm: LCD
Viimane komponent on LCD, mis tähistab vedelkristallekraani. Selle eesmärk on öelda mängijale nende praegune tulemus ja kaugus, mida nad peavad käed andurist eemale hoidma. Siin on neli tihvti; GND, VCC, SDA ja SCL. GND ja VCC ühendatakse vastavalt leivaplaadi maapinnale ja toitepiiretele. SDA tihvt tuleb ühendada analoogtihvtiga A4 ja SCL tihvt analoogpistikuga A5. Erinevalt teistest komponentidest peate juhtmed SDA ja SCL ühendama A4 ja A5 külge.
Samm: samm 5: kood
Nüüd, kui oleme kõik komponendid ühendanud, saame koodi kirjutada. Koodi esimene osa on vajalike teekide importimine ja meie muutujate deklareerimine ning see, milliste tihvtidega komponendid on ühendatud. Selle koodi jaoks peame importima Wire, LiquidCrystal_I2C ja Servo teegid.
#kaasake
#kaasake
#kaasake
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int rohelinePin = 5;
int bluePin = 6;
int skoor = 0;
int tim = 500;
int praegune = juhuslik (8, 16); // juhuslik väärtus, kus kasutaja peab oma käe andurist eemale hoidma
LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD seadistamine
Nüüd peame tühjade seadistuste () abil oma nööpnõelte tüüpe deklareerima ja muid vajalikke komponente seadistama.
void setup () {myServo.attach (9); Seriaalne algus (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (rohelinePin, VÄLJUND); pinMode (bluePin, OUTPUT); lcd.init (); lcd.taustavalgus (); lcd.algus (16, 2); lcd.clear (); // LCD seadistamine}
Nüüd peame funktsiooni ja PWM abil seadistama RGB LED -koodi:
void setColor (int punane, int roheline, int sinine) {
punane = 255 - punane;
roheline = 255 - roheline;
sinine = 255 - sinine;
analogWrite (redPin, punane);
analogWrite (rohelinePin, roheline);
analogWrite (sininePin, sinine);
}
Nüüd peame tühjusringi () lisama. Siin genereerime juhuslikke täisarvu ja kasutame mängija jaoks mängu juhtimiseks rida if -lauseid. Praegune muutuja, ülaltoodud seadistus, on praeguse vahemaa jaoks, mille mängija peab andurist distantseerima.
Kuna void loopi () kood on väga pikk, kleepin lingi dokumendile, millel on see kood:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Lõpuks peame tegema tegelikud arvutused, et teisendada ultraheli kaugusanduri väärtused tollidesse. Ultraheli kaugusandur ei mõõda otseselt kaugust; see vabastab heli ja salvestab aja, mis kulub anduril, et saada heli tagasi mis tahes objektilt, millelt see põrkab.
pikad mikrosekundidToInches (pikad mikrosekundid) {
tagasituleku mikrosekundid / 74 /2;
}
Nüüd ühendame juhtmega Arduino koodiga arvutisse, seadistame pordid ja käivitame selle! Selles mängus on kaks režiimi. Võite kasutada ainult vedelkristallekraani, servomootorit, sensorit ja RGB LED -d ning teate ainult kaugust, mis peate andurist olema, mis on raskem režiim. Lihtsam režiim hõlmab seeriamonitori kasutamist menüüs Tools> Serial Monitor, mis värskendab teid iga sekundiga, kui kaugel olete andurist, et saaksite teha vajalikke kohandusi.
Täname lugemise eest!
Soovitan:
Simoni mäng - lõbus mäng!: 5 sammu
Simoni mäng - lõbus mäng !: Viide: siinPärast pikka nädalavahetust peate kindlasti kõvasti proovima, et täita kõik ülesanded ja töö, mille eest vastutate. Meil on aeg oma aju treenida, kas pole? Peale nende igavate ja mõttetute mängude on olemas ka mäng nimega Simon Game
Aruduino LED -mäng Kahe mängijaga mängude kiire klõpsamine: 8 sammu
Aruduino LED -mäng Kahe mängijaga mängu kiire klõpsamine: see projekt on inspireeritud @HassonAlkeimist. Kui olete valmis seda põhjalikult uurima, on siin link, mida saate vaadata aadressil https://www.instructables.com/id/Arduino-Two-Player-Fast-Button-Clicking-Game/. See mäng on Alkeimi täiustatud versioon. See on
Kiire laadimine kõikjal: 5 sammu (piltidega)
Kiire laadimine kõikjal: Hei! kõik Minu nimi on Steve. Täna näitan teile, kuidas telefoni igal pool kiiresti laadida See on nagu isetegemisprojekt Video vaatamiseks klõpsake siin
Kasvuhooneprojekt (RAS): Jälgige meie istandusele reageerimise elemente: 18 sammu (piltidega)
Kasvuhooneprojekt (RAS): Jälgige meie istandikul reageerivaid elemente: Selle projekti eesmärk on jälgida õhutemperatuuri, heledust ja niiskust, samuti salu temperatuuri ja niiskust. Samuti teeb ta ettepaneku võrgustada need meetmed, mis on veebisaidil Actoborad.com nii loetavad. Selleks ühendame N
Kiire, kiire, odav, hea väljanägemisega LED -ruumi valgustus (kõigile): 5 sammu (piltidega)
Kiire, kiire, odav, hea väljanägemisega LED-ruumi valgustus (kõigile): Tere tulemast kõigile :-) See on minu esimene juhendatav, nii et kommentaarid on teretulnud :-) Loodan teile näidata, kuidas teha kiire LED-valgustus PISIKE kott. Mida vajate: kaabelLED -id Takistid (510Ohm 12V jaoks) StapelsLotis