Innholdsfortegnelse:

Dot Jump Game (uten bruk av Arduino): 6 trinn
Dot Jump Game (uten bruk av Arduino): 6 trinn

Video: Dot Jump Game (uten bruk av Arduino): 6 trinn

Video: Dot Jump Game (uten bruk av Arduino): 6 trinn
Video: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Desember
Anonim
Dot Jump Game (uten å bruke Arduino)
Dot Jump Game (uten å bruke Arduino)

Oversikt

Hei der! Jeg er Shivansh, student ved IIIT-Hyderabad. Jeg er her med min første instruerbare som er et spill inspirert av Google Chrome's Dinosaur Jump -spill. Spillet er enkelt: Hopp over innkommende hindringer for å få et poeng. Hvis du kolliderer, mister du og poengsummen nullstilles.

Den fremhevende egenskapen til dette prosjektet er at det ikke er bruk av en Arduino eller noen annen mikrokontroller. Det er rent avledet fra grunnleggende elektriske komponenter og innebærer implementering av Finite State Machines (FSM) ved hjelp av logiske diagrammer, etc.

Interessert? La oss komme i gang.

Forutsetninger:

  • Grunnleggende kunnskap om elektriske komponenter som motstander, kondensatorer, integrerte kretser (IC).
  • Grunnleggende kunnskap om Logic Gates (AND, OR, NOT, etc.)
  • Kunnskap om bruk av Flip-Flop, Counter, Multiplexer, etc.

MERK: Ovennevnte forutsetninger er for å forstå hele arbeidet med prosjektet. En som ikke har inngående kjennskap til det samme, kan også bygge prosjektet ved å følge trinnene i instruksjonsboken.

Trinn 1: Utvikle arbeidsmodellen

Utvikling av arbeidsmodellen
Utvikling av arbeidsmodellen
Utvikling av arbeidsmodellen
Utvikling av arbeidsmodellen

Den første oppgaven er å lage en arbeidsmodell for prosjektet. Først da kan vi bestemme materialene som kreves for prosjektet. Hele prosjektet kan deles inn i tre deler.

Del-1: hindergenerering

For det første må vi generere tilfeldige hindringer for Dot å hoppe over. Hindringer vil også være i form av en prikkpuls som beveger seg fra den ene enden av LED Array til den andre.

For å generere hindringer bruker vi to tidtakerkretser (vedlagte kretsdiagrammer), en med en høy frekvens (HF -timer) og en med en lavfrekvens (LF -timer). "Tilfeldigheten" -delen håndteres av HF -timeren hvis utgang ses på hver stigende kant av LF -timeren (som er tatt som CLK -inngang). Obstruksjonsgenereringsinstruksjonen er tilstanden til HF -timeren på hver stigende kant av LF -timeren (1 -> Generer hinder | 0 -> Ikke generer hinder). HF -timeren tilbakestilles på hver "HOPP" for å sikre tilfeldig hindring. Utgangen til HF-timeren er gitt som D-inngang til en D Flip Flop (for lagring av instruksjoner for neste syklus) med CLK-inngang som LF-timerutgang.

Når den binære instruksjonen for hindergenerering er ute, må vi generere 'hinderpulsen' på LED Array. Vi gjør det ved hjelp av en 4-bits teller hvis utgang er gitt til en 4x16 demultiplexer (DeMUX). Utgangen fra DeMUX ville få de 16 respektive lysdiodene til å lyse.

Del-2: HOPPEN

For JUMP -handlingen tar vi trykknappinngangen som instruksjon. Når instruksjonen er gitt, slutter objektlinje-LED-en å lyse og en annen LED-lampe over den lyser, noe som betyr et hopp.

Del-3: Resultat

Resultatet blir slik: Hvis objektet krasjer, RESET spillet; ellers, øk poengsummen.

Kollisjonen kan uttrykkes som ANDing av begge hindringssignalene og objektsignalet for hindringens bakken. Hvis en kollisjon ikke finner sted, økes punkttelleren som vises på et par 7-segmenters skjermer.

Trinn 2: Samle komponenter

Komponentene som kreves er som følger:

  • PCB x 1, brødbrett x 3
  • Lysdioder: Grønn (31), Rød (1), BiColor: Rød+Grønn (1)
  • Trykknapp x 2
  • 7-segmenters skjerm x 2
  • IC 555 x 3 [for tidtakerkretser]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (Decade Counter) [for å vise poengsum]
  • IC 7447 x 2 (BCD til 7-segment dekoder) [for å vise poengsum]
  • IC 4029 x 1 (4-bits teller) [for hindervisning]
  • IC 74154 x 1 (DeMUX) [for hindervisning]
  • IC 7400 x 3 (IKKE gate)
  • IC 7404 x 1 (NAND -port)
  • IC 7408 x 1 (OG port)
  • IC -kontakter
  • Spenningskilde (5V)

Nødvendige verktøy:

  • Loddejern
  • Wire Cutter

Trinn 3: Hindergenerering: Del-A

Hindringsgenerering: Del-A
Hindringsgenerering: Del-A
Hindringsgenerering: Del-A
Hindringsgenerering: Del-A

Først må vi sette opp timerkretsene for generering av hindergenerering (HIGH/LOW).

Kretsen vil bli satt opp i samsvar med teorien som ble diskutert tidligere. Kretsdiagrammet for det samme er vedlagt ovenfor. Kretsen er implementert på et brødbrett (selv om den også kan implementeres på en PCB) som følger:

  • Plasser de to 555 IC-ene og D Flip Flop (IC 7474) over skillelinjen på brødbrettet med litt ledig plass (4-5 kolonner) i mellom.
  • Koble den øverste raden på brødbrettet med den positive terminalen til spenningskilden og den nederste raden med den negative terminalen.
  • Gjør ytterligere tilkoblinger etter kretsdiagrammet. Etter de nødvendige tilkoblingene vil kretsen se ut som bildet vedlagt ovenfor.

MERK: Verdiene for motstandene R1 & R2 og kapasitansen C beregnes ved hjelp av følgende ligninger:

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

der T kreves Tidsperiode.

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

hvor D er driftssyklusen, dvs. forholdet mellom PÅ -tid og total tid.

I dette prosjektet, for høyfrekvens-timeren, T = 0,5 sek og for lav-frekvens-timeren, T = 2 sek.

Trinn 4: Hindergenerering: Del-B

Hindringsgenerering: Del-B
Hindringsgenerering: Del-B
Hindringsgenerering: Del-B
Hindringsgenerering: Del-B
Hindringsgenerering: Del-B
Hindringsgenerering: Del-B

Nå som vi vet når vi skal generere hindringen, må vi nå vise den. Vi bruker en 4-bits teller, en Demultiplexer, en timer og en rekke 16 lysdioder. Hvorfor 16? Det er fordi vi skal kartlegge 4-biters utgang fra telleren til de 16 lysdiodene ved hjelp av demultiplexeren. Det betyr at telleren teller 0 til 15 og demultiplexeren slår på LED -en med denne indeksen.

Timerens rolle er å regulere tellehastigheten, dvs. hastigheten på hindringsbevegelse. Hindringen vil skifte én posisjon i en tidsperiode på timeren. Du kan leke med forskjellige verdier på R1, R2 og C ved å bruke ligningene i forrige trinn for å få forskjellige hastigheter.

For LED -matrisen, lodd 16 LED på en lineær måte med en felles grunn. Den positive kontakten til hver LED vil bli koblet til DeMUX (etter invertering med NOT -porten, siden DeMUX gir en LAV utgang).

Kretsdiagrammet for det samme er vedlagt ovenfor.

Trinn 5: HOPPEN og RESULTATET

HOPPEN og RESULTATET
HOPPEN og RESULTATET
HOPPEN og RESULTATET
HOPPEN og RESULTATET
HOPPEN og RESULTATET
HOPPEN og RESULTATET

Det neste er hopp -handlingen. For å vise et hopp, plasserer du bare en lysdiode med annen farge over matrisen, jorder den og fester +ve -terminalen til en knapp. Fest den andre enden av trykknappen til spenningskilden.

Ta også en ny trykknapp, plassert ved siden av den forrige, og fest en av terminalene til +5V. Den andre terminalen går til en NAND Gate (IC 7404) med den andre inngangen til NAND Gate som inngangen til LED -en like under JUMP LED (dvs. objekt -LED). Utdataene fra NAND -porten går til RESET (PIN 2 og 3 for begge BCD -tellerne) på poengtelleren. Med dette er det vi gjør at vi tilbakestiller poengsummen hvis både OBJECT LED (i grunnposisjon) signalet og OBSTACLE signalet er gitt samtidig, dvs. objektet og hindringen kolliderte.

Gjør noe for å sikre at begge trykknappene trykkes sammen. Du kan bruke en mynt og stikke begge knappene til den.

For å sette opp tellertelleren, følg kretsdiagrammet vedlagt ovenfor (Bildekilde: www.iamtechnical.com).

MERK: Koble pin 2 og 3 til utgangen på NAND -porten for å tilbakestille poengsummen i tilfelle kollisjon med hindringen

Trinn 6: Lykke til

Glad i leken!
Glad i leken!
Glad i leken!
Glad i leken!
Glad i leken!
Glad i leken!

Det er det. Du er ferdig med prosjektet ditt. Du kan legge til litt etterbehandling til det slik at det ser bra ut. Hvile er greit.

NYT..!!

Anbefalt: