Sadržaj:

Igra brze reakcije: Verzija na daljinu: 5 koraka (sa slikama)
Igra brze reakcije: Verzija na daljinu: 5 koraka (sa slikama)

Video: Igra brze reakcije: Verzija na daljinu: 5 koraka (sa slikama)

Video: Igra brze reakcije: Verzija na daljinu: 5 koraka (sa slikama)
Video: Žiri je prekinuo njen nastup jer su mislili da ne pjeva ona. 2024, Studeni
Anonim
Igra brze reakcije: Verzija na daljinu
Igra brze reakcije: Verzija na daljinu

Bok. Ovo je Instrukcija o tome kako stvoriti igru koja testira i vaše vrijeme reakcije i osjećaj udaljenosti. Ovaj se projekt temelji na starom projektu u kojem sam sudjelovala dva igrača koji su se natjecali da vide tko je brže reagirao pritiskom na gumb kad je svjetlo postalo zeleno. Ovaj ima sličnu namjenu, osim što je za jednog igrača i umjesto da se svjetlo ugasi, igraču se daje vremenski okvir da udalje svoju ruku na određeni prostor od senzora udaljenosti.

Kao i svi Arduino projekti, ova igra će zahtijevati brojne električne komponente u Arduino krugu. Glavne komponente, osim ožičenja i samog Arduina, uključuju matičnu ploču, servo motor, LCD zaslon, RGB LED i senzor udaljenosti.

Korištenjem https://abra-electronics.com, cijena bez žica i Arduina je 32,12 USD CAD.

Korak 1: Korak 1: Senzor udaljenosti

Korak 1: Senzor udaljenosti
Korak 1: Senzor udaljenosti

Prvi korak je postavljanje ultrazvučnog senzora udaljenosti na matičnu ploču i njegovo povezivanje s Arduinom. Točan položaj senzora zapravo nije bitan, ali idealno je da je blizu ruba tako da ima mjesta za ostale komponente, kao što je prikazano na gornjoj slici. Na senzoru se nalaze četiri pina; GND, VCC, TRIG i ECHO. GND i VCC moraju se spojiti u tlo, odnosno u tračnice za napajanje, a druga dva pina spojiti u dva pina na Arduinu. Dvije igle koje sam koristio bile su 12 za ECHO i 11 za TRIG. Za napajanje razvodnika upotrijebite dvije druge žice i uzemljite uzemljenu tračnicu spajanjem razvodnika za napajanje na 5V pin i uzemljenja na GND pin.

Korak 2: Korak 2: Servo motor

Korak 2: Servo motor
Korak 2: Servo motor

Sljedeći korak je postavljanje servo motora. U ovom projektu, servo motor funkcionira kao mjerač vremena. Počet će na 1 stupanj, a tijekom vremena u kojem korisnik mora distancirati ruke, rotirat će se na 180 stupnjeva. Koristio sam 2 sekunde kada korisnik sazna koliko moraju udaljeti ruke, pa se servo okreće za 179 stupnjeva u razdoblju od 2 sekunde, rotirajući u kratkim intervalima. Servo motor ima tri žice; obično žuta, crvena i smeđa. Crvena ulazi u razvodnik koji je već ožičen na 5V, a smeđi ide u uzemljenje već spojen u GND. Posljednja žica se priključuje na Arduino pin. Za ovaj sam odabrao pin #9. Zatim vam je potreban kondenzator koji spaja istu tračnicu na koju su priključene žice napajanja i uzemljenja servo motora, kao što se vidi na gornjoj slici.

Korak 3: Korak 3: RGB LED

Korak 3: RGB LED
Korak 3: RGB LED

Funkcija LED diode u ovom slučaju je da djeluje kao ljestvica za rezultat. Kada je rezultat igrača oko 0, LED dioda će biti bijela i postat će sve crvena ako se rezultat igrača smanji i zeleno ako se rezultat igrača poveća. Ova LED dioda ima četiri noge; noga crvenog svjetla, noga plavog svjetla, noga zelenog svjetla i zajednička katoda koje dijele ostale tri noge. Uobičajena katoda, najduža noga, ožičena je u energetski vod tako da prima 5 volti. Pričvrstite otpornike od 330 ohma na ostale tri noge u boji, a ostale krajeve tih otpornika pričvrstite na PWM digitalne pinove na Arduinu. Ja sam koristio digitalne iglice 3, 5 i 6 za crvene, zelene i plave noge.

Korak 4: Korak 4: LCD

Korak 4: LCD
Korak 4: LCD

Konačna komponenta je LCD, što znači zaslon s tekućim kristalima. Svrha ovoga je reći igraču njihov trenutni rezultat, kao i udaljenost koju trebaju odmaknuti ruke od senzora. Ovdje postoje četiri pribadače; GND, VCC, SDA i SCL. GND i VCC bit će spojeni u tlo, odnosno u ograde za električnu ploču. SDA pin mora biti spojen na analogni pin A4, a SCL pin na analogni pin A5. Za razliku od ostalih komponenti, morate priključiti igle SDA i SCL na A4 i A5.

Korak 5: Korak 5: Kôd

Sada kada smo spojili sve komponente, možemo napisati kôd. Prvi dio koda je uvoz potrebnih knjižnica i deklariranje naših varijabli te u koje pinove su komponente spojene. Za ovaj kôd moramo uvesti knjižnice Wire, LiquidCrystal_I2C i Servo.

#uključi

#uključi

#uključ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 struja = slučajno (8, 16); // slučajna vrijednost pri kojoj korisnik mora odmaknuti ruku od senzora

LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD postavljanje

Sada moramo upotrijebiti void setup () da deklariramo svoje vrste pin -ova i postavimo ostale potrebne komponente.

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 (); // postavljanje LCD -a}

Sada moramo postaviti RGB LED kôd pomoću funkcije i PWM -a:

void setColor (int crvena, int zelena, int plava) {

crvena = 255 - crvena;

zelena = 255 - zelena;

plava = 255 - plava;

analogWrite (redPin, crveno);

analogWrite (greenPin, zeleno);

analogWrite (bluePin, plavo);

}

Sada moramo dodati void petlju (). Ovdje ćemo generirati nasumične cijele brojeve i koristiti niz if naredbi za kontrolu igre za igrača. Trenutna varijabla, gore postavljena, služi za trenutnu udaljenost koju se igrač mora distancirati od senzora.

Budući da je kôd u void loop () jako dugačak, zalijepit ću vezu na dokument koji ima taj kôd:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Konačno, moramo napraviti stvarne izračune za pretvaranje vrijednosti ultrazvučnog senzora udaljenosti u inče. Ultrazvučni senzor udaljenosti ne mjeri izravno udaljenost; ispušta zvuk i bilježi vrijeme potrebno da senzor dobije zvuk iz bilo kojeg predmeta od kojeg se odbija.

long microsecondsToInches (duge mikrosekunde) {

povratne mikrosekunde / 74 /2;

}

Sada priključujemo ožičeni Arduino u računalo s kodom, postavljamo portove i pokrećemo ga! Postoje dva načina igre. Ili možete koristiti samo LCD zaslon, servo motor, senzor i RGB LED i samo znate udaljenost koju morate imati od senzora, što je teži način rada. Lakši način uključuje korištenje serijskog monitora u Alati> Serijski monitor, koji će vas svake sekunde ažurirati koliko ste udaljeni od senzora, tako da možete izvršiti potrebne prilagodbe.

Hvala na čitanju!

Preporučeni: