Kazalo:
- 1. korak: 1. korak: Senzor razdalje
- 2. korak: 2. korak: Servo motor
- 3. korak: 3. korak: LED RGB
- 4. korak: 4. korak: LCD
- 5. korak: 5. korak: Koda
Video: Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Živjo. To je navodilo za ustvarjanje igre, ki preizkuša vaš reakcijski čas in občutek razdalje. Ta projekt temelji na starem projektu, v katerem sem sodeloval z dvema igralcema, ki sta s pritiskom na gumb, ko je lučka zasvetila, s kratkim pritiskom na gumb ugotovila, kdo ima hitrejši odzivni čas. Ta ima podoben namen, razen da igra za enega igralca in namesto da bi ugasnila lučka, ima igralec časovni okvir, da roko oddalji za določen prostor od senzorja razdalje.
Kot vsi projekti Arduino bo tudi ta igra zahtevala številne električne komponente v vezju Arduino. Glavne komponente, razen ožičenja in samega Arduina, vključujejo mizo, servo motor, LCD zaslon, LED RGB in senzor razdalje.
Z uporabo https://abra-electronics.com je cena brez žic in Arduina 32,12 USD CAD.
1. korak: 1. korak: Senzor razdalje
Prvi korak je namestitev ultrazvočnega senzorja razdalje na mizo in ga priključiti na Arduino. Natančen položaj senzorja pravzaprav ni pomemben, v idealnem primeru pa je blizu roba, tako da je prostora za druge komponente, kot je prikazano na zgornji sliki. Na senzorju so štirje zatiči; GND, VCC, TRIG in ECHO. GND in VCC je treba priključiti v ozemljitvene in napajalne tirnice, preostala dva zatiča pa povezati v dva zatiča na Arduinu. Dva zatiča, ki sem jih uporabil, sta bila 12 za ECHO in 11 za TRIG. Za napajanje napajalne tirnice uporabite dve drugi žici in ozemljite ozemljitveno tirnico tako, da napajalno tirnico priključite na 5V pin, ozemljitveno tirnico pa na GND.
2. korak: 2. korak: Servo motor
Naslednji korak je namestitev servo motorja. V tem projektu servo motor deluje kot časomer. Začelo se bo pri 1 stopinji in v času, v katerem mora uporabnik oddaljiti roke, se bo obrnilo na 180 stopinj. Uporabil sem 2 sekundi, ko uporabnik ugotovi, kako daleč morajo oddaljeti roke, zato se servo v obdobju 2 sekund vrti za 179 stopinj in se vrti v kratkih intervalih. Servo motor ima tri žice; običajno rumena, rdeča in rjava. Rdeča gre v napajalno tirnico, ki je že priključena na 5V, rjava pa v ozemljitev, ki je že priključena na GND. Zadnja žica se priključi na Arduino pin. Za to sem izbral pin #9. Nato potrebujete kondenzator, ki povezuje isto vodilo, na katerega so priključene napajalne in ozemljitvene žice servo motorja, kot je prikazano na zgornji sliki.
3. korak: 3. korak: LED RGB
Naloga LED pri tem je, da deluje kot lestvica za rezultat. Ko je rezultat igralca okoli 0, bo LED -lučka bela in bo postala bolj rdeča, če se bo rezultat igralca znižal, in zelena, če bo rezultat igralca narasel. Ta LED ima štiri noge; noga rdeče luči, noga modre svetlobe, noga zelene luči in skupna katoda, ki si jo delijo ostale tri noge. Skupna katoda, najdaljša noga, je priključena na električno vodilo, tako da prejme 5 voltov. Na ostale tri barvne noge pritrdite 330 ohmske upore, druge konce teh uporov pa pritrdite na digitalne zatiče PWM na Arduinu. Uporabil sem digitalne zatiče 3, 5 in 6 za rdeče, zelene in modre noge.
4. korak: 4. korak: LCD
Končna komponenta je LCD, ki pomeni zaslon s tekočimi kristali. Namen tega je povedati igralcu njihov trenutni rezultat, pa tudi razdaljo, ki jo potrebuje, da odmakne roke od senzorja. Tu so štirje zatiči; GND, VCC, SDA in SCL. GND in VCC bosta priključena na tla in v tirnice na matični plošči. Pin SDA je treba priključiti na analogni pin A4, pin SCL pa na analogni pin A5. Za razliko od drugih komponent morate priključke SDA in SCL priključiti na A4 in A5.
5. korak: 5. korak: Koda
Zdaj, ko smo povezali vse komponente, lahko kodo napišemo. Prvi del kode je uvoz potrebnih knjižnic in razglasitev naših spremenljivk ter v katere zatiče so komponente povezane. Za to kodo moramo uvoziti knjižnice Wire, LiquidCrystal_I2C in Servo.
#vključi
#vključi
#vključi
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int rezultat = 0;
int tim = 500;
int tok = naključno (8, 16); // naključna vrednost, pri kateri mora uporabnik oddaljiti roko od senzorja
LiquidCrystal_I2C LCD (0x27, 16, 2); // nastavitev LCD -ja
Zdaj moramo uporabiti void setup () za razglasitev vrst pin in nastavitev drugih potrebnih komponent.
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 (); // nastavitev LCD -ja}
Zdaj moramo nastaviti kodo LED RGB s funkcijo in PWM:
void setColor (int rdeča, int zelena, int modra) {
rdeča = 255 - rdeča;
zelena = 255 - zelena;
modra = 255 - modra;
analogWrite (redPin, rdeče);
analogWrite (greenPin, zelen);
analogWrite (bluePin, modro);
}
Zdaj moramo dodati void loop (). Tukaj bomo ustvarili naključna cela števila in uporabili vrsto stavkov if za nadzor igre za igralca. Trenutna spremenljivka, nastavljena zgoraj, je za trenutno razdaljo, na katero se mora igralec oddaljiti od senzorja.
Ker je koda v void loop () zelo dolga, bom prilepil povezavo do dokumenta, ki vsebuje to kodo:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Nazadnje moramo narediti dejanske izračune za pretvorbo vrednosti ultrazvočnega senzorja razdalje v palce. Ultrazvočni senzor razdalje ne meri neposredno razdalje; sprošča zvok in beleži čas, ki ga potrebuje senzor, da dobi zvok iz katerega koli predmeta, od katerega se odbije.
dolge mikrosekundeToInches (dolge mikrosekunde) {
povratne mikrosekunde / 74 /2;
}
Zdaj priključimo žični Arduino v računalnik s kodo, nastavimo vrata in ga zaženemo! Za to igro obstajata dva načina. Lahko uporabite samo LCD zaslon, servo motor, senzor in LED RGB in veste le, koliko razdalje morate biti od senzorja, kar je težji način. Lažji način vključuje uporabo serijskega monitorja v Orodja> Serijski monitor, ki vas bo vsako sekundo obvestil o tem, kako daleč ste od senzorja, tako da lahko naredite potrebne prilagoditve.
Hvala za branje!
Priporočena:
HC-12 Vremenska postaja na daljavo in senzorji na daljavo: 9 korakov
Vremenska postaja HC-12 na dolge razdalje in senzorji DHT: V tej vadnici se bomo naučili, kako narediti oddaljeno vremensko postajo na dolge razdalje z dvema senzorjema dht, moduli HC12 in LCD zaslonom I2C. Oglejte si video
Tap Tap Rainbow - igra za hiter odziv za 2 igralca: 4 koraki (s slikami)
Tap Tap Rainbow - igra za dva igralca s hitrim odzivom: pred dvema tednoma je imela moja hči genialno idejo, da naredi igro hitre reakcije z mavričnimi barvami (ona je mavrični strokovnjak: D). Ideja mi je bila takoj všeč in začeli smo razmišljati, kako bi jo lahko spremenili v pravo igro. Imate mavrico v
Galvanski odziv kože (GSR): 3 koraki
Galvanski odziv kože (GSR): Galvanski senzor odziva kože (GSR - potenje) vam omogoča merjenje električne prevodnosti kože. Močna čustva bodo spodbudila vaš simpatični živčni sistem, zaradi česar znojne žleze proizvajajo več znoja. GSR lahko zazna to močno
Igra Space Race različica 2: 5 korakov
Igra Space Race različica 2: Pozdravljeni vsi. Pred to različico igre sem objavil prvo različico igre. Danes vam bom pokazal različico igre Space Race Game 2. Poglejmo korake
Miški dodajte gumb za hiter požar s časovnikom 555: 5 korakov (s slikami)
Miški dodajte gumb za hiter požar s časovnikom 555: Ali se vaš prst med igranjem video iger zlahka utrudi? Ste si kdaj želeli, da bi pihali n00bs hitreje od svetlobne hitrosti, ne da bi se pri tem znojili? Ta navodila vam bodo pokazala, kako