Sisukord:
- Samm: töömudeli väljatöötamine
- 2. samm: komponentide kogumine
- 3. samm: takistuste tekitamine: A osa
- 4. samm: takistuste tekitamine: B osa
- 5. samm: HÜPP ja TULEMUS
- 6. samm: head mängimist
Video: Punktihüppemäng (ilma Arduino kasutamiseta): 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Ülevaade
Tere! Olen Shivansh, IIIT-Hyderabadi üliõpilane. Olen siin oma esimese juhendatavaga, mis on mäng, mis on inspireeritud Google Chrome'i Dinosaurus Jump mängust. Mäng on lihtne: hüppa üle sissetulevate takistuste, et punkti saada. Kokkupõrke korral kaotate ja skoor nullitakse.
Selle projekti esiletõstmine on see, et ei kasutata Arduino ega muid mikrokontrollereid. See on puhtalt tuletatud põhilistest elektrilistest komponentidest ja hõlmab lõplike olekumasinate (FSM) rakendamist loogiliste diagrammide abil jne.
Kas olete huvitatud? Alustame.
Eeltingimused:
- Põhiteadmised selliste elektriliste komponentide kohta nagu takistid, kondensaatorid, integraallülitused (IC).
- Põhiteadmised loogikaväravate kohta (JA, VÕI, EI jne)
- Teadmised flip-flopi, loenduri, multiplekseri jne töötamisest.
MÄRKUS. Ülaltoodud eeltingimused on projekti kogu töö mõistmiseks. Inimene, kellel pole selle kohta põhjalikke teadmisi, saab ka projekti koostada, järgides juhendi juhiseid.
Samm: töömudeli väljatöötamine
Esimene ülesanne on projekti jaoks töömudeli loomine. Alles siis saame otsustada projekti jaoks vajalike materjalide üle. Kogu projekti saab jagada kolmeks osaks.
Osa 1: Takistuste tekitamine
Esiteks peame looma juhuslikud takistused, et punkt saaks üle hüpata. Takistused on ka punktimpulsi kujul, mis liigub LED -massiivi ühest otsast teise.
Takistuste tekitamiseks kasutame kahte taimeriahelat (lülitusskeemid lisatud), ühte kõrge sagedusega (HF Timer) ja teist madala sagedusega (LF Timer). Juhuslikkuse osaga tegeleb HF -taimer, mille väljundit näeb LF -taimeri igal tõusval serval (mida kasutatakse CLK -sisendina). Takistuste genereerimise juhis on kõrgsagedusetaimeri olek LF -taimeri igal tõusval serval (1 -> Loo takistus | 0 -> Ära tekita takistust). Kõrgsageduse taimer lähtestatakse igal hüppel, et tagada juhuslik takistuste teke. HF taimeri väljund antakse D Flip Flopi D-sisendina (järgmise tsükli juhiste salvestamiseks) ja CLK sisend LF taimeriväljundina.
Kui takistuste tekitamise binaarjuhend on lõppenud, peame LED -massiivil genereerima takistusimpulsi. Me teeme seda 4-bitise loenduri abil, mille väljund antakse 4x16 demultiplekserile (DeMUX). DeMUX -i väljund paneks 16 vastavat LED -i helendama.
Osa 2: HÜPP
JUMP -toimingu jaoks võtame juhisena nuppude sisendi. Kui juhis on antud, lõpetab reasiseste objektide LED-i hõõgumine ja teine LED selle kohal, mis tähendab hüpet.
Osa 3: Tulemus
Tulemus on järgmine: Kui objekt jookseb kokku, lähtestage mäng; muidu suurendage skoori.
Kokkupõrget saab väljendada nii takistuse signaali kui ka objekti signaali takistuseks maapinnal. Kui kokkupõrget ei toimu, suurendatakse punktiloendurit, mis kuvatakse paaril 7-segmendil.
2. samm: komponentide kogumine
Nõutavad komponendid on järgmised:
- PCB x 1, leivaplaat x 3
- LEDid: roheline (31), punane (1), BiColor: punane+roheline (1)
- Vajutusnupp x 2
- 7-segmendiline ekraan x 2
- IC 555 x 3 [taimeriringide jaoks]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (kümnendiloendur) [skoori kuvamiseks]
- IC 7447 x 2 (BCD kuni 7-segmendiline dekooder) [skoori kuvamiseks]
- IC 4029 x 1 (4-bitine loendur) [takistuste kuvamiseks]
- IC 74154 x 1 (DeMUX) [takistuste kuvamiseks]
- IC 7400 x 3 (EI värav)
- IC 7404 x 1 (NAND -värav)
- IC 7408 x 1 (JA värav)
- IC pesad
- Pingeallikas (5V)
Vajalikud tööriistad:
- Jootekolb
- Traadi lõikur
3. samm: takistuste tekitamine: A osa
Esiteks peame seadistama taimeriahelad takistuste tekitamise signaali (HIGH/LOW) genereerimiseks.
Vooluring luuakse vastavalt eelnevalt käsitletud teooriale. Selle skeem on lisatud ülalpool. Vooluahel on rakendatud leivaplaadil (kuigi seda saab rakendada ka PCB -l) järgmiselt:
- Asetage kaks 555 IC-d ja D Flip Flop (IC 7474) üle leivalaua vaheseina, jättes vaba ruumi (4-5 veergu) vahele.
- Ühendage leivaplaadi ülemine rida pingeallika positiivse klemmiga ja alumine rida negatiivse klemmiga.
- Tehke täiendavad ühendused vastavalt skeemile. Pärast vajalikke ühendusi näeks vooluring sarnane ülaltoodud pildiga.
MÄRKUS. Takistuste R1 & R2 ja mahtuvuse C väärtused arvutatakse järgmiste võrrandite abil:
T = 0,694 x (R1 + 2 * R2) * C
kus T on nõutav Ajavahemik.
D = 0,694 x [(R1 + R2)/T] *100
kus D on töötsükkel, st sisse lülitatud aja ja koguaja suhe.
Selles projektis on kõrgsagedustaimeril T = 0,5 sekundit ja madala sagedusega taimeril T = 2 sekundit.
4. samm: takistuste tekitamine: B osa
Nüüd, kui me teame, millal takistus tekitada, peame selle nüüd kuvama. Kasutame 4-bitist loendurit, demultiplekserit, taimerit ja 16 LED-i massiivi. Miks just 16? Seda seetõttu, et me kaardistame loenduri 4-bitise väljundi demultiplekseri abil 16 valgusdioodiga. See tähendab, et loendur loeb 0 kuni 15 ja demultiplekser lülitab selle indeksiga LED -i sisse.
Taimeri ülesanne on reguleerida loendamise kiirust, st takistuste liikumise kiirust. Takistus nihkub taimeriga ühe ajavahemiku jooksul ühe positsiooni. Erinevate kiiruste saamiseks saate mängida erinevate väärtustega R1, R2 ja C, kasutades eelmise sammu võrrandeid.
LED -maatriksi jaoks jootke lineaarselt 16 LED -i ühise alusega. Iga LED -i positiivne klemm ühendatakse DeMUX -iga (pärast inverteerimist NOT -värava abil, kuna DeMUX annab madala väljundi).
Selle skeem on lisatud ülalpool.
5. samm: HÜPP ja TULEMUS
Järgmine asi on hüppamine. Hüppe kuvamiseks asetage maatriksi kohale erinevat värvi LED, maandage see ja kinnitage selle +ve -klemm nupule. Kinnitage nupu teine ots pingeallika külge.
Võtke ka teine vajutusnupp, mis on asetatud eelmise kõrvale ja kinnitage üks selle klemmidest +5 V. Teine terminal läheb NAND -väravasse (IC 7404) ja teine NAND -värava sisend on LED -i sisendiks vahetult JUMP -LEDi (st objekti LED) all. NAND -värava väljund läheb tulemuste loenduri RESET -ile (PIN 2 ja 3 mõlemast BCD -loendurist). Sellega lähtudes lähtestame tulemuse, kui nii OBJECT LED (põhiasendis) kui ka OBSTACLE signaal antakse korraga, st objekt ja takistus põrkuvad kokku.
Tehke teatud korraldus, et mõlemad surunupud oleksid kokku surutud. Võite kasutada münti ja kleepida mõlemad nupud selle külge.
Skooriloenduri seadistamiseks järgige ülaltoodud skeemi (pildiallikas: www.iamtechnical.com).
MÄRKUS. Ühendage tihvtid 2 ja 3 NAND -värava väljundiga, et see nullida skoori takistusega kokkupõrke korral
6. samm: head mängimist
See on kõik. Olete oma projektiga valmis. Sellele saate lisada mõningast viimistlust, et see hea välja näeks. Puhkus on hea.
NAUTI.. !!
Soovitan:
CCTV kaamera koos sõlmega MCU + vana sülearvuti kaamera moodul (koos ja ilma Blynk'i kasutamiseta): 5 sammu
CCTV kaamera koos NodeMCU + vana sülearvuti kaamera mooduliga (koos ja ilma Blynk'i kasutamiseta): Tere poisid! Selles juhendis näitan teile, kuidas kasutasin vana sülearvuti kaamera moodulit ja sõlme MCU, et teha midagi sarnast CCTV -ga
Arduino programmeerimine teise Arduino abil keriva teksti kuvamiseks ilma raamatukoguta: 5 sammu
Arduino programmeerimine Teise Arduino abil keriva teksti kuvamiseks ilma raamatukoguta: Sony Spresense või Arduino Uno pole nii kallid ega vaja palju energiat. Kui aga teie projektil on võimsuse, ruumi või isegi eelarve piirangud, võiksite kaaluda Arduino Pro Mini kasutamist. Erinevalt Arduino Pro Micro'ist on Arduino Pro Mi
Rääkiv Arduino - MP3 esitamine Arduinoga ilma moodulita - Mp3 -faili esitamine Arduino'st PCM -i abil: 6 sammu
Rääkiv Arduino | MP3 esitamine Arduinoga ilma moodulita | Mp3 -faili esitamine Arduino'st PCM -i abil: Selles juhendis õpime, kuidas mängida MP3 -faili arduino abil ilma helimoodulit kasutamata, siin kasutame Arduino jaoks PCM -i teeki, mis mängib 16 -bitist PCM -i 8 kHz sagedusega, nii et saate seda teha
Navigeerige robot kingade anduritega, ilma GPS -iga, ilma kaardita: 13 sammu (koos piltidega)
Navigeerige robotil jalatsianduritega, ilma GPS-i, ilma kaardita: robot liigub eelnevalt programmeeritud teel ja edastab (üle Bluetoothi) oma tegeliku liikumisteabe telefoni reaalajas jälgimiseks. Arduino on eelnevalt programmeeritud teega ja oblu kasutatakse roboti liikumise tuvastamiseks. oblu edastab liikumisteavet
HC - 06 (alammoodul) "NAME" muutmine ilma kasutamiseta "Monitor Serial Arduino" mis "töötab lihtsalt": veatu viis!: 3 sammu
HC - 06 (alammoodul) "NAME" muutmine ilma kasutamiseta "Monitor Serial Arduino" … mis "töötab lihtsalt": veatult!: Pärast " Pikka aega " proovides nime muuta HC -06 (alammoodul), kasutades " Arduino seeriamonitor, ilma " Edu " Leidsin veel ühe lihtsa viisi ja nüüd jagan! Lõbutsege sõbrad