Turinys:

Žaidimas su tašku (nenaudojant „Arduino“): 6 žingsniai
Žaidimas su tašku (nenaudojant „Arduino“): 6 žingsniai

Video: Žaidimas su tašku (nenaudojant „Arduino“): 6 žingsniai

Video: Žaidimas su tašku (nenaudojant „Arduino“): 6 žingsniai
Video: Leap Motion SDK 2024, Gruodis
Anonim
Žaidimas su tašku (nenaudojant „Arduino“)
Žaidimas su tašku (nenaudojant „Arduino“)

Apžvalga

Sveiki! Aš esu Shivansh, IIIT-Haidarabado studentas. Aš čia su savo pirmuoju pamokymu, kuris yra žaidimas, įkvėptas „Google Chrome“dinozaurų šuolio žaidimo. Žaidimas yra paprastas: šokinėkite per gaunamas kliūtis, kad gautumėte tašką. Jei susidursite, jūs prarasite ir rezultatas atsistatys.

Svarbiausias šio projekto bruožas yra tas, kad nenaudojamas „Arduino“ar bet koks kitas mikrovaldiklis. Jis yra grynai išvestas iš pagrindinių elektros komponentų ir apima baigtinių būsenų mašinų (FSM) diegimą naudojant logines diagramas ir kt.

Suinteresuotas? Pradėkime.

Būtinos sąlygos:

  • Pagrindinės žinios apie elektrinius komponentus, tokius kaip rezistoriai, kondensatoriai, integriniai grandynai (IC).
  • Pagrindinės žinios apie loginius vartus (IR, ARBA, NE ir kt.)
  • Žinios apie „Flip-Flop“, „Counter“, „Multiplexer“ir kt.

PASTABA: Aukščiau išvardytos sąlygos yra būtinos norint suprasti visą projekto veikimą. Tas, kuris neturi išsamių žinių apie tai, taip pat gali sukurti projektą atlikdamas instrukcijoje nurodytus veiksmus.

1 žingsnis: darbo modelio kūrimas

Darbo modelio kūrimas
Darbo modelio kūrimas
Darbo modelio kūrimas
Darbo modelio kūrimas

Pirmoji užduotis - sukurti darbo modelį projektui. Tik tada galime nuspręsti, kokios medžiagos reikalingos projektui. Visas projektas gali būti suskirstytas į tris dalis.

1 dalis. Kliūčių generavimas

Pirma, turime sukurti atsitiktines kliūtis taškui peršokti. Kliūtys taip pat bus taško impulso, kuris juda iš vieno LED bloko galo į kitą, pavidalu.

Norėdami sukurti kliūtis, naudojame dvi laikmačio grandines (pridedamos schemos), vieną su aukšto dažnio (HF laikmatis) ir kitą su žemo dažnio (LF laikmatis). „Atsitiktinumo“dalį tvarko HF laikmatis, kurio išvestis matoma ant kiekvieno kylančio LF laikmačio krašto (kuris laikomas CLK įvestimi). Kliūčių generavimo instrukcija yra HF laikmačio būsena kiekviename kylančiame LF laikmačio krašte (1 -> Sukurti kliūtį | 0 -> Nesukurti kliūčių). HF laikmatis iš naujo nustatomas kiekviename „JUMP“, kad būtų užtikrintas atsitiktinis kliūčių susidarymas. HF laikmačio išvestis pateikiama kaip D įvestis į „D Flip Flop“(norint išsaugoti instrukcijas kitam ciklui), o CLK įvestis-kaip LF laikmačio išvestis.

Kai baigsis dvejetainė instrukcija kliūčių generavimui, turime sugeneruoti „kliūčių impulsą“LED masyve. Tai darome naudodami 4 bitų skaitiklį, kurio išvestis perduodama 4x16 demultiplekseriui (DeMUX). „DeMUX“išvestis leistų švytėti 16 atitinkamų šviesos diodų.

2 dalis: Šuolis

Šokinėjimo veiksmui kaip instrukciją naudosime mygtuko įvestį. Kai nurodymas bus pateiktas, eilutinio objekto šviesos diodas nustoja šviesti, o kitas šviesos diodas virš jo šviečia, o tai reiškia šuolį.

3 dalis. Rezultatas

Rezultatas bus toks: Jei objektas sudužo, iš naujo nustatykite žaidimą; kitaip, padidinkite rezultatą.

Susidūrimas gali būti išreikštas kaip kliūties signalo ir objekto signalo kliūties įžeminimo padėties ANDing. Jei susidūrimas neįvyksta, padidinamas taškų skaitiklis, kuris rodomas 7 segmentų ekranų poroje.

2 žingsnis: Surinkite komponentus

Reikalingi komponentai yra šie:

  • PCB x 1, Breadboard x 3
  • Šviesos diodai: žalia (31), raudona (1), „BiColor“: raudona+žalia (1)
  • Mygtukas x 2
  • 7 segmentų ekranas x 2
  • IC 555 x 3 [laikmačio grandinėms]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (dešimtmečių skaitiklis) [norint parodyti rezultatą]
  • IC 7447 x 2 (nuo BCD iki 7 segmentų dekoderio) [norint parodyti rezultatą]
  • IC 4029 x 1 (4 bitų skaitiklis) [kliūčių rodymui]
  • IC 74154 x 1 (DeMUX) [kliūčių rodymui]
  • IC 7400 x 3 (NE vartai)
  • IC 7404 x 1 (NAND vartai)
  • IC 7408 x 1 (IR vartai)
  • IC lizdai
  • Įtampos šaltinis (5V)

Reikalingi įrankiai:

  • Lituoklis
  • Vielos pjaustytuvas

3 žingsnis: kliūčių generavimas: A dalis

Kliūčių generavimas: A dalis
Kliūčių generavimas: A dalis
Kliūčių generavimas: A dalis
Kliūčių generavimas: A dalis

Pirma, turime nustatyti laikmačio grandines, skirtas generuoti kliūčių generavimo signalą (HIGH/LOW).

Grandinė bus nustatyta pagal anksčiau aptartą teoriją. To paties jungimo schema pridedama aukščiau. Grandinė yra įdiegta ant duonos lentos (nors ji taip pat gali būti įdiegta ant PCB) taip:

  • Padėkite du 555 IC ir „D Flip Flop“(IC 7474) ant duonos lentos pertvaros, tarp jų palikdami laisvą vietą (4-5 stulpeliai).
  • Sujunkite viršutinę duonos lentos eilę su teigiamu įtampos šaltinio gnybtu, o apatinę - su neigiamu.
  • Toliau prijunkite pagal schemą. Po būtinų jungčių grandinė atrodytų panaši į paveikslėlį, pridėtą aukščiau.

PASTABA: Varžų R1 ir R2 ir talpos C vertės apskaičiuojamos naudojant šias lygtis:

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

kur T yra reikalingas laikotarpis.

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

kur D yra darbo ciklas, ty įjungimo laiko ir viso laiko santykis.

Šiame projekte aukšto dažnio laikmačiui T = 0,5 sek., O žemo dažnio laikmačiui-T = 2 sek.

4 žingsnis: kliūčių generavimas: B dalis

Kliūčių generavimas: B dalis
Kliūčių generavimas: B dalis
Kliūčių generavimas: B dalis
Kliūčių generavimas: B dalis
Kliūčių generavimas: B dalis
Kliūčių generavimas: B dalis

Dabar, kai žinome, kada susidaryti kliūtį, dabar turime ją parodyti. Mes naudosime 4 bitų skaitiklį, demultiplekserį, laikmatį ir 16 šviesos diodų masyvą. Kodėl 16? Taip yra todėl, kad mes susiesime skaitiklio 4 bitų išvestį su 16 šviesos diodų naudodami demultiplekserį. Tai reiškia, kad skaitiklis skaičiuos nuo 0 iki 15, o demultiplekseris įjungs šviesos diodą su šiuo indeksu.

Laikmačio vaidmuo yra reguliuoti skaičiavimo greitį, ty kliūčių judėjimo greitį. Kliūtis pasikeis viena pozicija per vieną laikmačio laikotarpį. Galite žaisti su skirtingomis R1, R2 ir C reikšmėmis, naudodami ankstesnio žingsnio lygtis, kad gautumėte skirtingą greitį.

Šviesos diodų matricai lituokite 16 šviesos diodų linijiniu būdu su bendru pagrindu. Teigiamas kiekvieno šviesos diodo gnybtas bus prijungtas prie „DeMUX“(apvertus naudojant „NOT“vartus, nes „DeMUX“duoda žemą išėjimą).

To paties jungimo schema pridedama aukščiau.

5 žingsnis: Šuolis ir REZULTATAS

Šuolis ir REZULTATAS
Šuolis ir REZULTATAS
Šuolis ir REZULTATAS
Šuolis ir REZULTATAS
Šuolis ir REZULTATAS
Šuolis ir REZULTATAS

Kitas dalykas yra šuolio veiksmas. Norėdami parodyti šuolį, tiesiog padėkite skirtingos spalvos šviesos diodą virš matricos, įžeminkite ir pritvirtinkite jo +ve gnybtą prie mygtuko. Kitą mygtuko galą pritvirtinkite prie įtampos šaltinio.

Taip pat paimkite kitą mygtuką, esantį greta ankstesnio, ir vieną iš jo gnybtų prijunkite prie +5 V. Kitas terminalas eina į NAND vartus (IC 7404), o kitas NAND vartų įėjimas yra įvestis į šviesos diodą, esantį tiesiai po JUMP LED (ty objekto šviesos diodas). NAND vartų išvestis eina į RESET (abiejų BCD skaitiklių 2 ir 3 PIN kodai). Šiuo atveju mes iš naujo nustatome rezultatą, jei OBJECT LED (bazinėje padėtyje) signalas ir OBSTACLE signalas duodami vienu metu, ty susidūrė objektas ir kliūtis.

Sutvarkykite, kad abu mygtukai būtų paspausti kartu. Galite naudoti monetą ir priklijuoti abu mygtukus.

Norėdami nustatyti balų skaitiklį, vadovaukitės aukščiau pateikta schema (nuotraukos šaltinis: www.iamtechnical.com).

PASTABA: Prijunkite 2 ir 3 kaiščius prie „NAND Gate“išvesties, kad jie atstatytų rezultatą susidūrimo su kliūtimi atveju

6 žingsnis: Smagaus žaidimo

Laimingo žaidimo!
Laimingo žaidimo!
Laimingo žaidimo!
Laimingo žaidimo!
Laimingo žaidimo!
Laimingo žaidimo!

Viskas. Jūs baigėte savo projektą. Galite pridėti šiek tiek apdailos, kad jis atrodytų gerai. Poilsis yra gerai.

MĖGAUTIS..!!

Rekomenduojamas: