Përmbajtje:
- Hapi 1: Hapi 1: Sensori i distancës
- Hapi 2: Hapi 2: Servo Motor
- Hapi 3: Hapi 3: RGB LED
- Hapi 4: Hapi 4: LCD
- Hapi 5: Hapi 5: Kodi
Video: Lojë me reagim të shpejtë: Version në distancë: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Pershendetje Ky është një Udhëzues se si të krijoni një lojë që teston kohën tuaj të reagimit dhe ndjenjën e distancës. Ky projekt bazohet në një projekt të vjetër që bëra duke përfshirë dy lojtarë që konkurronin për të parë se cilët kishin një kohë reagimi më të shpejtë duke klikuar një buton kur një dritë u bë jeshile. Ky ka një qëllim të ngjashëm, përveçse është me një lojtar të vetëm dhe në vend që të ndizet një dritë, lojtarit i jepet një kornizë kohore për të distancuar dorën e tyre një hapësirë të caktuar larg nga një sensor distancë.
Ashtu si të gjitha projektet Arduino, kjo lojë do të kërkojë komponentë të shumtë elektrikë në qarkun Arduino. Komponentët kryesorë, përveç instalimeve elektrike dhe vetë Arduino, përfshijnë tabelën e bukës, një servo motor, një ekran LCD, një LED RGB dhe një sensor të distancës.
Duke përdorur https://abra-electronics.com, çmimi pa telat dhe Arduino është $ 32.12 CAD.
Hapi 1: Hapi 1: Sensori i distancës
Hapi i parë është të vendosni sensorin tejzanor të distancës në dërrasën e bukës dhe ta lidhni me Arduino. Pozicioni i saktë i sensorit në fakt nuk ka rëndësi, por në mënyrë ideale është afër një buze në mënyrë që të ketë vend për përbërësit e tjerë, siç tregohet në foton e mësipërme. Ka katër kunja në sensor; GND, VCC, TRIG dhe ECHO. GND dhe VCC duhet të lidhen në tokën dhe binarët e rrymës përkatësisht, dhe të lidhin në dy kunjat e tjerë në dy kunja në Arduino. Dy kunjat që kam përdorur ishin 12 për ECHO dhe 11 për TRIG. Përdorni dy tela të tjerë për të fuqizuar hekurudhën e energjisë dhe tokëzoni shinën tokësore duke lidhur hekurudhën e energjisë me kunjin 5V dhe shinën tokësore me një kunj GND.
Hapi 2: Hapi 2: Servo Motor
Hapi tjetër është konfigurimi i servo motorit. Në këtë projekt, servo motori funksionon si një kohëmatës. Do të fillojë në 1 shkallë, dhe gjatë periudhës në të cilën përdoruesi duhet të distancojë duart, do të rrotullohet në 180 gradë. Kam përdorur 2 sekonda kur përdoruesi zbulon se sa larg duhet të distancojnë duart, kështu që servo rrotullohet 179 gradë gjatë një periudhe prej 2 sekondash, duke u rrotulluar në intervale të shkurtra. Servo motori ka tre tela; zakonisht një ngjyrë të verdhë, të kuqe dhe kafe. E kuqja futet në hekurudhën e energjisë e cila tashmë është lidhur në 5V, dhe ajo kafe shkon në hekurudhën tokësore të lidhur tashmë në GND. Teli përfundimtar futet në një kunj Arduino. Zgjodha pinin #9 për këtë. Pastaj, keni nevojë për një kondensator që lidh të njëjtën shinë me të cilën lidhen fuqia e servo motorit dhe telat e tokëzimit, siç shihet në foton më sipër.
Hapi 3: Hapi 3: RGB LED
Funksioni i ZHEL në këtë është të veprojë si një shkallë për rezultatin. Kur rezultati i lojtarit është rreth 0, LED do të jetë e bardhë dhe do të kthehet më e kuqe nëse rezultati i lojtarit zbret dhe jeshil nëse rezultati i lojtarit rritet. Ky LED ka katër këmbë; një këmbë me dritë të kuqe, një këmbë me dritë blu, një këmbë me dritë jeshile dhe një katodë të zakonshme të ndarë midis tre këmbëve të tjera. Katoda e zakonshme, këmba më e gjatë, është e lidhur në hekurudhën e energjisë kështu që merr 5 volt. Bashkangjitni rezistencat 330 ohm në tre këmbët e tjera me ngjyra dhe ngjitni skajet e tjera të atyre rezistencave në kunjat dixhitale PWM në Arduino. Ato që kam përdorur ishin kunjat dixhitale 3, 5 dhe 6 për këmbët e kuqe, jeshile dhe blu, përkatësisht.
Hapi 4: Hapi 4: LCD
Komponenti përfundimtar është LCD, i cili përfaqëson ekranin e kristaleve të lëngëta. Qëllimi i kësaj është t'i tregojë lojtarit rezultatin e tyre aktual, si dhe distancën që ata kanë nevojë për të larguar duart nga sensori. Ka katër kunja këtu; GND, VCC, SDA dhe SCL. GND dhe VCC do të lidhen në tokën dhe binarët e energjisë përkatësisht. Kunja SDA duhet të lidhet me kunjin analog A4, dhe kunja SCL duhet të lidhet me kunjën analoge A5. Ndryshe nga përbërësit e tjerë, duhet të lidhni kunjat SDA dhe SCL në A4 dhe A5.
Hapi 5: Hapi 5: Kodi
Tani që jemi lidhur me të gjithë përbërësit, mund të shkruajmë kodin. Pjesa e parë e kodit është importimi i bibliotekave të nevojshme dhe deklarimi i variablave tanë dhe në cilat kunja bashkohen përbërësit. Ne duhet të importojmë bibliotekat Wire, LiquidCrystal_I2C dhe Servo për këtë kod.
#përfshi
#përfshi
#përfshi
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluPin = 6;
int rezultati = 0;
int tim = 500;
int aktuale = rastësore (8, 16); // vlerë e rastësishme ku përdoruesi duhet të largojë dorën nga sensori
LiquidCrystal_I2C LCD (0x27, 16, 2); // Konfigurimi i LCD
Tani ne duhet të përdorim void setup () për të deklaruar llojet tona të pin dhe të konfigurojmë përbërës të tjerë të nevojshëm.
void setup () {myServo.attach (9); Serial.filloj (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluPin, OUTPUT); lcd.init (); lcd. backlight (); lcd.filloni (16, 2); lcd.qartë (); // konfigurimi i LCD -së}
Tani duhet të konfigurojmë kodin LED RGB duke përdorur një funksion dhe PWM:
void setColor (int e kuqe, int jeshile, int blu) {
e kuqe = 255 - e kuqe;
jeshile = 255 - jeshile;
blu = 255 - blu;
analogWrite (redPin, e kuqe);
analogWrite (greenPin, jeshile);
analogWrite (bluPin, blu);
}
Tani duhet të shtojmë lakin void (). Këtu, ne do të krijojmë numra të plotë të rastit dhe do të përdorim një seri deklaratash if për të kontrolluar lojën për lojtarin. Variabla aktuale, e vendosur më lart, është për distancën aktuale që lojtari duhet të distancohet nga sensori.
Për shkak se kodi në lakin void () është shumë i gjatë, unë do të ngjis një lidhje në një dokument që ka atë kod:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Së fundi, ne duhet të bëjmë llogaritjet aktuale për të kthyer vlerat e sensorit të distancës tejzanor në inç. Sensori i distancës tejzanor nuk mat drejtpërdrejt distancën; lëshon zë dhe regjistron kohën që i duhet sensorit për të marrë tingullin nga çfarëdo objekti nga i cili kërcen.
mikrosekonda të gjataToInches (mikrosekonda të gjata) {
kthim mikrosekonda / 74 /2;
}
Tani e lidhim Arduino me tela në kompjuter me kodin, konfigurojmë portat dhe e ekzekutojmë! Ka dy mënyra për këtë lojë. Ose mund të përdorni vetëm ekranin LCD, servo motorin, sensorin dhe RGB LED dhe e dini vetëm distancën që duhet të jeni nga sensori, që është mënyra më e vështirë. Mënyra më e lehtë përfshin përdorimin e monitorit serik në Tools> Serial Monitor, i cili do t'ju përditësojë çdo sekondë se sa jeni larg nga sensori, kështu që ju mund të bëni rregullimet e nevojshme.
Faleminderit per leximin!
Recommended:
Zhvendosës i shpejtë nën 50 dollarë! Ndërrues i shpejtë i rregullueshëm Kazeshifter Arduino: 7 hapa
Zhvendosës i shpejtë nën 50 dollarë! Kazeshifter Arduino Adjustable Quick Shifter: Përshëndetje Superbike ose dashamirës të motoçikletave! Në këtë udhëzues, unë do të tregoj se si ta bëni Shiftin tuaj Quick Quick me çmim të lirë! Për njerëzit që përtojnë të lexojnë këtë udhëzues, thjesht shikoni videon time! Shënim: Për disa biçikleta që tashmë duke përdorur sistemin e injektimit të karburantit, diku
Prekni Tap Rainbow - një lojë me 2 lojtarë me reagim të shpejtë: 4 hapa (me fotografi)
Prekni Tap Rainbow - a 2 Player Reagimi i shpejtë Lojë: 2 javë më parë vajza ime kishte një ide gjeniale për të bërë një lojë reagimi të shpejtë me ngjyrat e ylberit (ajo është një ekspert ylberi: D). Menjëherë më pëlqeu ideja dhe filluam të mendojmë se si mund ta bëjmë atë një lojë të vërtetë. Ideja ishte. Ju keni një ylber në
Gjenerator pulsi i valës së shpejtë të skajit të shpejtë: 4 hapa
Gjeneratori i pulsit të valës së shpejtë të skajit të valës: Gjenerator pulsi me shpejtësi të lartë - Gjenerator pulsi ultra i shpejtë me valë katrore Ky qark i thjeshtë, duke përdorur një 74HC14N (gjashtë invertorë TTL me shpejtësi të ulët të goditjes) është i aftë të gjenerojë sinjale të valës katrore deri në 10MHZ. Ideale për disa teste elektronike. Me një kalb
Gjeneratori i valës së shpejtë të skajit të shpejtë: 4 hapa
Gjeneratori i valës së shpejtë të skajit të shpejtë: Nëse doni të matni induktancën, kapacitetin e çdo përbërësi, atëherë keni nevojë për një valë katrore të shpejtë në këtë artikull ne mësojmë për këtë
Ndriçim i shpejtë, i shpejtë, i lirë, me pamje të mirë i dhomës LED (për këdo): 5 hapa (me fotografi)
Ndriçim i shpejtë, i shpejtë, i lirë, i bukur i dhomës LED (për këdo): Mirësevini të gjithë :-) Ky është udhëzimi im i parë kështu që komentet janë të mirëseardhura :-) Ajo që shpresoj t'ju tregoj është se si të bëni ndriçim të shpejtë LED që është në Buxhet TINY. Çfarë ju nevojitet: CableLEDsResistors (510Ohms për 12V) Stapels Hekuri i saldimit Prerje dhe baza të tjera