Sisukord:

Punktihüppemäng (ilma Arduino kasutamiseta): 6 sammu
Punktihüppemäng (ilma Arduino kasutamiseta): 6 sammu

Video: Punktihüppemäng (ilma Arduino kasutamiseta): 6 sammu

Video: Punktihüppemäng (ilma Arduino kasutamiseta): 6 sammu
Video: Ta tantsib katusel. 💃💃 - Parkour Climb and Jump GamePlay 🎮📱 🇪🇪 2024, November
Anonim
Punktihüppemäng (ilma Arduino kasutamiseta)
Punktihüppemäng (ilma Arduino kasutamiseta)

Ü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

Töömudeli väljatöötamine
Töömudeli väljatöötamine
Töömudeli väljatöötamine
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

Takistuste tekitamine: A osa
Takistuste tekitamine: A osa
Takistuste tekitamine: A osa
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

Takistuste tekitamine: B osa
Takistuste tekitamine: B osa
Takistuste tekitamine: B osa
Takistuste tekitamine: B osa
Takistuste tekitamine: B osa
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

HÜPP ja TULEMUS
HÜPP ja TULEMUS
HÜPP ja TULEMUS
HÜPP ja TULEMUS
HÜPP ja TULEMUS
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

Head mängimist!
Head mängimist!
Head mängimist!
Head mängimist!
Head mängimist!
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: