Kazalo:

Igra Dot Jump (brez uporabe Arduina): 6 korakov
Igra Dot Jump (brez uporabe Arduina): 6 korakov

Video: Igra Dot Jump (brez uporabe Arduina): 6 korakov

Video: Igra Dot Jump (brez uporabe Arduina): 6 korakov
Video: Джонатан Блоу: Сознание, игровой дизайн и свобода воли 2024, December
Anonim
Igra Dot Jump (brez uporabe Arduina)
Igra Dot Jump (brez uporabe Arduina)

Pregled

Zdravo! Sem Shivansh, študentka IIIT-Hyderabad. Tukaj sem s svojim prvim poučevanjem, ki je igra, navdihnjena iz igre Dinosaur Jump Google Chroma. Igra je preprosta: skočite čez dohodne ovire, da osvojite točko. Če trčite, izgubite in rezultat se ponastavi.

Posebnost tega projekta je, da ne uporabljamo Arduina ali katerega koli drugega mikrokrmilnika. Izvira izključno iz osnovnih električnih komponent in vključuje izvajanje končnih državnih strojev (FSM) s pomočjo logičnih diagramov itd.

Vas zanima? Začnimo.

Predpogoji:

  • Osnovno znanje o električnih komponentah, kot so upori, kondenzatorji, integrirana vezja (IC).
  • Osnovno znanje o logičnih vratih (AND, OR, NOT itd.)
  • Poznavanje delovanja flip-flopa, števca, multiplekserja itd.

OPOMBA: Zgoraj navedeni pogoji so za razumevanje celotnega delovanja projekta. Kdor nima poglobljenega znanja o istem, lahko projekt sestavi tudi po korakih v navodilih.

1. korak: Razvoj delovnega modela

Razvoj delovnega modela
Razvoj delovnega modela
Razvoj delovnega modela
Razvoj delovnega modela

Prva naloga je ustvariti delujoč model za projekt. Šele potem se lahko odločimo o materialih, potrebnih za projekt. Celoten projekt lahko razdelimo na tri dele.

1. del: Generacija ovir

Najprej moramo ustvariti naključne ovire, da lahko Dot skoči. Ovire bodo tudi v obliki pikčastega impulza, ki se premika z enega konca LED matrike na drugega.

Za ustvarjanje ovir uporabljamo dva časovna vezja (priloženi diagrami vezij), eno z visoko frekvenco (časovnik VF) in drugo z nizko frekvenco (nizkofrekvenčni časovnik). Del 'naključnosti' obravnava VF Timer, katerega izhod je viden na vsakem naraščajočem robu LF timerja (ki je vzeti kot vhod CLK). Navodilo za ustvarjanje ovir je stanje časovnika VF na vsakem naraščajočem robu časovnika nizkih frekvenc (1 -> Ustvari oviro | 0 -> Ne ustvari ovire). HF Timer se RESETIRA na vsakem 'JUMP', da se zagotovi naključno ustvarjanje ovir. Izhod HF Timerja je dan kot D-vhod na D flip flop (za shranjevanje navodil za naslednji cikel) z vhodom CLK kot LF Timer Output.

Ko je binarno navodilo za ustvarjanje ovir izpuščeno, moramo ustvariti 'impulz ovire' na nizu LED. To naredimo s pomočjo 4-bitnega števca, katerega izhod ima demultiplekser 4x16 (DeMUX). Izhod DeMUX -a bi prižgal 16 ustreznih LED.

2. del: SKAK

Za dejanje JUMP bomo kot navodilo vzeli vnos s pritiskom na gumb. Ko je dano navodilo, LED vrstica za objekt neha svetiti in nad njo sveti še ena LED, kar pomeni skok.

3. del: Rezultat

Rezultat bo tak: Če se objekt zruši, RESETIRAJTE igro; drugače pa povečajte rezultat.

Trk se lahko izrazi kot ANDing tako signala ovire kot signala objekta za položaj ovire na tleh. Če do trka ne pride, se števec točk poveča, kar je prikazano na parih 7-segmentnih zaslonov.

2. korak: Zbiranje komponent

Potrebne komponente so naslednje:

  • Tiskana vezja x 1, plošča x 3
  • LED: zelena (31), rdeča (1), dvobarvna: rdeča+zelena (1)
  • Pritisnite gumb x 2
  • 7-segmentni zaslon x 2
  • IC 555 x 3 [za časovna vezja]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (števec desetletij) [za prikaz rezultatov]
  • IC 7447 x 2 (dekodirnik BCD do 7 segmentov) [za prikaz rezultatov]
  • IC 4029 x 1 (4-bitni števec) [za prikaz ovir]
  • IC 74154 x 1 (DeMUX) [za prikaz ovir]
  • IC 7400 x 3 (NE vrata)
  • IC 7404 x 1 (vrata NAND)
  • IC 7408 x 1 (IN vrata)
  • IC vtičnice
  • Napetostni vir (5V)

Potrebna orodja:

  • Spajkalnik
  • Rezalnik žice

3. korak: Ustvarjanje ovir: Del A

Generacija ovir: Del A
Generacija ovir: Del A
Generacija ovir: Del A
Generacija ovir: Del A

Najprej moramo nastaviti časovna vezja za generiranje signala za ustvarjanje ovir (HIGH/LOW).

Vezje bo postavljeno v skladu s teorijo, ki smo jo obravnavali prej. Shema vezja za isto je priložena zgoraj. Vezje je izvedeno na plošči (čeprav se lahko izvede tudi na tiskanem vezju), kot sledi:

  • Dva 555 IC-ja in natikač D (IC 7474) postavite čez razdelilnik plošče z vmesnim prostim prostorom (4-5 stolpcev).
  • Zgornjo vrstico plošče povežite s pozitivnim priključkom vira napetosti, spodnjo vrstico pa z negativnim priključkom.
  • Naredite dodatne povezave po shemi vezja. Po potrebnih povezavah bi bilo vezje podobno zgornji sliki.

OPOMBA: Vrednosti uporov R1 in R2 in kapacitivnosti C se izračunajo z uporabo naslednjih enačb:

T = 0,694 x (R1 + 2 * R2) * C

kjer je T zahtevano časovno obdobje.

D = 0,694 x [(R1 + R2)/T] *100

kjer je D delovni cikel, to je razmerje med časom vklopa in celotnim časom.

V tem projektu je za visokofrekvenčni časovnik T = 0,5 s in za nizkofrekvenčni časovnik T = 2 s.

4. korak: Ustvarjanje ovir: Del B

Generacija ovir: Del B
Generacija ovir: Del B
Generacija ovir: Del B
Generacija ovir: Del B
Generacija ovir: Del B
Generacija ovir: Del B

Zdaj, ko vemo, kdaj ustvariti oviro, jo moramo zdaj prikazati. Uporabili bomo 4-bitni števec, demultiplekser, časovnik in niz 16 LED. Zakaj 16? To je zato, ker bomo 4-bitni izhod števca preslikali v 16 LED z demultiplekserjem. To pomeni, da bo števec štel od 0 do 15 in demultiplekser bo vklopil LED s tem indeksom.

Časovnik ima vlogo uravnavanja hitrosti štetja, to je hitrosti premikanja ovir. Ovira se bo v enkratnem obdobju časovnika premaknila za en položaj. Z enačbami v prejšnjem koraku se lahko poigravate z različnimi vrednostmi R1, R2 in C, da dobite različne hitrosti.

Za matriko LED spajajte 16 LED diod linearno s skupno maso. Pozitivni priključek vsake LED bo priključen na DeMUX (po obračanju z uporabo vrat NOT, saj DeMUX daje NIZKI izhod).

Shema vezja za isto je priložena zgoraj.

5. korak: SKAK in REZULTAT

SKAK in REZULTAT
SKAK in REZULTAT
SKAK in REZULTAT
SKAK in REZULTAT
SKAK in REZULTAT
SKAK in REZULTAT

Naslednja stvar je dejanje skoka. Če želite prikazati skok, le matrico različnih barv postavite nad matriko, jo ozemljite in pritrdite njen terminal +ve na gumb. Drugi konec gumba pritrdite na vir napetosti.

Vzemite še en gumb, ki je nameščen poleg prejšnjega in enega od njegovih priključkov priključite na +5V. Drugi terminal gre do vrat NAND (IC 7404) z drugim vhodom vrat NAND kot vhodom za LED tik pod LED JUMP (to je LED objekta). Izhod vrat NAND gre na RESET (PIN 2 in 3 obeh števcev BCD) števca rezultatov. S tem naredimo, da ponastavimo rezultat, če sta hkrati oddana signal LED OBJECT (v osnovnem položaju) in signal OBSTACLE, to je, da sta predmet in ovira trčila.

Naredite nekaj, da zagotovite, da sta oba gumba pritisnjena skupaj. Uporabite lahko kovanec in nanj prilepite oba gumba.

Za nastavitev števca točk sledite shemi vez, ki je priložena zgoraj (vir slike: www.iamtechnical.com).

OPOMBA: Nožici 2 in 3 priključite na izhod vrat NAND, da ponastavi rezultat v primeru trka z oviro

6. korak: Veselo igranje

Veselo igranje!
Veselo igranje!
Veselo igranje!
Veselo igranje!
Veselo igranje!
Veselo igranje!

To je to. S svojim projektom ste končali. Dodate lahko nekaj zaključka, da bo videti dobro. Počitek je v redu.

UŽIVAJTE.. !!

Priporočena: