Kazalo:

Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)
Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)

Video: Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)

Video: Igra za hiter odziv: Različica na daljavo: 5 korakov (s slikami)
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, November
Anonim
Igra za hiter odziv: Različica na daljavo
Igra za hiter odziv: Različica na daljavo

Ž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

Korak: Senzor razdalje
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

Korak: Servo motor
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

Korak: LED RGB
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

4. korak: LCD
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: