Obsah:

Bodová skoková hra (bez použitia Arduina): 6 krokov
Bodová skoková hra (bez použitia Arduina): 6 krokov

Video: Bodová skoková hra (bez použitia Arduina): 6 krokov

Video: Bodová skoková hra (bez použitia Arduina): 6 krokov
Video: Leap Motion SDK 2024, December
Anonim
Hra Dot Jump (bez použitia Arduina)
Hra Dot Jump (bez použitia Arduina)

Prehľad

Ahoj! Som Shivansh, študent IIIT-Hyderabad. Som tu so svojim prvým pokynom, ktorý je hrou inšpirovanou hrou Dinosaur Jump v prehliadači Google Chrome. Hra je jednoduchá: skákajte cez prichádzajúce prekážky a získajte bod. Ak sa zrazíte, prehráte a skóre sa vynuluje.

Hlavnou črtou tohto projektu je, že sa nepoužíva Arduino ani iný mikrokontrolér. Je čisto odvodený od základných elektrických komponentov a zahŕňa implementáciu konečných stavových strojov (FSM) pomocou logických diagramov atď.

Máte záujem? Začnime.

Predpoklady:

  • Základné know-how o elektrických komponentoch, ako sú odpory, kondenzátory, integrované obvody (IC).
  • Základné znalosti logických brán (AND, OR, NOT, atď.)
  • Znalosti o fungovaní Flip-Flop, Counter, Multiplexer atď.

POZNÁMKA: Vyššie uvedené predpoklady sú na pochopenie celého fungovania projektu. Ten, kto o tom nemá hlboké znalosti, môže tiež postaviť projekt podľa krokov v pokynoch.

Krok 1: Vývoj pracovného modelu

Rozvoj pracovného modelu
Rozvoj pracovného modelu
Rozvoj pracovného modelu
Rozvoj pracovného modelu

Prvou úlohou je vytvoriť pracovný model projektu. Až potom môžeme rozhodnúť o materiáloch potrebných pre projekt. Celý projekt je možné rozdeliť na tri časti.

Časť 1: Generovanie prekážok

Po prvé, musíme vygenerovať náhodné prekážky, cez ktoré by bodka mohla preskočiť. Prekážky budú tiež vo forme bodového impulzu, ktorý sa pohybuje z jedného konca poľa LED na druhý.

Na generovanie prekážok používame dva časové obvody (priložené schémy zapojenia), jeden s vysokofrekvenčným (VF časovač) a druhý s nízkofrekvenčným (LF časovač). Časť „náhodnosti“má na starosti VF časovač, ktorého výstup je viditeľný na každej stúpajúcej hrane LF časovača (ktorý je braný ako vstup CLK). Inštrukcia na generovanie prekážok je stav VF časovača na každej stúpajúcej hrane LF časovača (1 -> Generovať prekážku | 0 -> Nevytvárať prekážku). VF časovač je NULOVANÝ pri každom „SKOKU“, aby sa zabezpečilo náhodné generovanie prekážok. Výstup VF časovača je daný ako vstup D na D Flip Flop (na uloženie inštrukcií pre nasledujúci cyklus) so vstupom CLK ako výstupom LF časovača.

Akonáhle sú binárne inštrukcie na generovanie prekážok ukončené, musíme v LED poli vygenerovať „prekážkový impulz“. Robíme to pomocou 4-bitového čítača, ktorého výstup je daný demultiplexoru 4x16 (DeMUX). Výstup DeMUX by spôsobil, že 16 príslušných LED diód bude svietiť.

Časť 2: SKOK

Pri akcii JUMP budeme ako inštrukcie brať tlačidlový vstup. Akonáhle je príkaz daný, LED in-line objektu prestane svietiť a ďalšia LED nad ním svieti, čo znamená skok.

Časť 3: Výsledok

Výsledok bude nasledovný: Ak sa predmet zrúti, RESETUJTE hru; v opačnom prípade zvýšte skóre.

Zrážku je možné vyjadriť ako ANDing signálu prekážky aj signálu objektu pre pozemnú polohu prekážky. Ak ku kolízii nedôjde, počítadlo bodov sa zvýši, čo sa zobrazí na dvojici 7-segmentových displejov.

Krok 2: Zhromažďovanie komponentov

Požadované komponenty sú nasledujúce:

  • DPS x 1, Breadboard x 3
  • LED diódy: zelená (31), červená (1), biColor: červená+zelená (1)
  • Tlačidlo x 2
  • 7-segmentový displej x 2
  • IC 555 x 3 [pre časové obvody]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (počítadlo dekád) [na zobrazenie skóre]
  • IC 7447 x 2 (BCD na 7-segmentový dekodér) [na zobrazenie skóre]
  • IC 4029 x 1 (4-bitový čítač) [pre zobrazenie prekážok]
  • IC 74154 x 1 (DeMUX) [pre zobrazenie prekážok]
  • IC 7400 x 3 (NOT gate)
  • IC 7404 x 1 (brána NAND)
  • IC 7408 x 1 (brána AND)
  • IC zásuvky
  • Zdroj napätia (5V)

Potrebné nástroje:

  • Spájkovačka
  • Drôtová rezačka

Krok 3: Generovanie prekážok: časť A

Generovanie prekážok: časť A
Generovanie prekážok: časť A
Generovanie prekážok: časť A
Generovanie prekážok: časť A

Najprv musíme nastaviť časové obvody na generovanie signálu generovania prekážok (HIGH/LOW).

Obvod bude nastavený v súlade s teóriou diskutovanou vyššie. Schéma zapojenia toho istého je pripojená vyššie. Obvod je implementovaný na doske (aj keď môže byť implementovaný aj na doske plošných spojov) nasledovne:

  • Umiestnite dva 555 integrovaných obvodov a D Flip Flop (IC 7474) na rozdeľovač nepájivej dosky tak, aby medzi nimi bolo voľné miesto (4-5 stĺpcov).
  • Pripojte horný rad nepájivej dosky s kladným pólom zdroja napätia a dolný rad so záporným pólom.
  • Vykonajte ďalšie zapojenia podľa schémy zapojenia. Po potrebných prepojeniach by obvod vyzeral podobne ako na obrázku vyššie.

POZNÁMKA: Hodnoty odporov R1 a R2 a kapacity C sa vypočítajú pomocou nasledujúcich rovníc:

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

kde T je požadované Časové obdobie.

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

kde D je pracovný cyklus, tj. pomer času zapnutia k celkovému času.

V tomto projekte pre vysokofrekvenčný časovač T = 0,5 s a pre nízkofrekvenčný časovač T = 2 s.

Krok 4: Generovanie prekážok: časť B

Generovanie prekážok: časť B
Generovanie prekážok: časť B
Generovanie prekážok: časť B
Generovanie prekážok: časť B
Generovanie prekážok: časť B
Generovanie prekážok: časť B

Teraz, keď vieme, kedy prekážku generovať, musíme ju teraz zobraziť. Použijeme 4-bitový čítač, Demultiplexer, časovač a pole 16 LED diód. Prečo 16? Je to preto, že pomocou demultiplexora budeme mapovať 4-bitový výstup počítadla na 16 LED diód. To znamená, že počítadlo bude počítať od 0 do 15 a demultiplexor zapne LED s týmto indexom.

Úlohou časovača je regulovať rýchlosť počítania, teda rýchlosť pohybu prekážok. Prekážka sa posunie o jednu pozíciu v jednom časovom období časovača. Môžete sa hrať s rôznymi hodnotami R1, R2 a C pomocou rovníc v predchádzajúcom kroku a dosiahnuť rôzne rýchlosti.

Pre maticu LED spájajte 16 LED diód lineárne so spoločným uzemnením. Kladný pól každej diódy LED bude pripojený k DeMUX (po invertovaní pomocou brány NOT, pretože DeMUX dáva NÍZKY výstup).

Schéma zapojenia toho istého je pripojená vyššie.

Krok 5: SKOK a VÝSLEDOK

SKOK a VÝSLEDOK
SKOK a VÝSLEDOK
SKOK a VÝSLEDOK
SKOK a VÝSLEDOK
SKOK a VÝSLEDOK
SKOK a VÝSLEDOK

Ďalšou vecou je skoková akcia. Ak chcete zobraziť skok, umiestnite nad maticu diódu LED rôznych farieb, uzemnite ju a pripojte jej kladný terminál k tlačidlu. Druhý koniec tlačidla pripevnite k zdroju napätia.

Tiež vezmite ďalšie tlačidlo umiestnené vedľa predchádzajúceho a pripojte jeden z jeho terminálov na +5V. Druhý terminál prechádza na bránu NAND (IC 7404) s druhým vstupom brány NAND ako vstup na diódu LED tesne pod LED JUMP (tj. LED objektu). Výstup brány NAND prejde na RESET (PIN 2 a 3 oboch čítačov BCD) počítadla skóre. Týmto robíme to, že vynulujeme skóre, ak je signál OBJECT LED (v základnej polohe) a signál OBSTACLE vydaný súčasne, tj. Dochádza k zrážke objektu a prekážky.

Vykonajte nejaké opatrenia, aby ste zaistili, že obe tlačidlá budú stlačené spolu. Môžete použiť mincu a prilepiť k nej obe tlačidlá.

Pri nastavovaní počítadla skóre postupujte podľa schémy zapojenia uvedenej vyššie (Zdroj obrázku: www.iamtechnical.com).

POZNÁMKA: Pripojte kolíky 2 a 3 k výstupu brány NAND, aby sa resetovalo skóre v prípade kolízie s prekážkou

Krok 6: Šťastné hranie

Šťastné hranie!
Šťastné hranie!
Šťastné hranie!
Šťastné hranie!
Šťastné hranie!
Šťastné hranie!

To je všetko. So svojim projektom ste skončili. Môžete do nej pridať nejaké dokončenie, aby vyzeralo dobre. Odpočinok je v poriadku.

UŽITE SI TO..!!

Odporúča: