Inhoudsopgave:

Dot Jump-spel (zonder Arduino te gebruiken): 6 stappen
Dot Jump-spel (zonder Arduino te gebruiken): 6 stappen

Video: Dot Jump-spel (zonder Arduino te gebruiken): 6 stappen

Video: Dot Jump-spel (zonder Arduino te gebruiken): 6 stappen
Video: Wie is het, maar dan anders #BRAILLE #BILLEN #blindfluencer #blindfun #VoelJeGOED @roxannekwant3463 2024, November
Anonim
Dot Jump-spel (zonder Arduino te gebruiken)
Dot Jump-spel (zonder Arduino te gebruiken)

Overzicht

Hoi! Ik ben Shivansh, een student aan IIIT-Hyderabad. Ik ben hier met mijn eerste instructable, een spel dat is geïnspireerd op het Dinosaur Jump-spel van Google Chrome. Het spel is eenvoudig: spring over inkomende obstakels om een punt te scoren. Als je botst, verlies je en wordt de score gereset.

Het opvallende kenmerk van dit project is dat er geen gebruik wordt gemaakt van een Arduino of een andere microcontroller. Het is puur afgeleid van elektrische basiscomponenten en omvat de implementatie van Finite State Machines (FSM's) met behulp van logische diagrammen, enz.

Geïnteresseerd? Laten we beginnen.

Vereisten:

  • Basiskennis over elektrische componenten zoals weerstanden, condensatoren, geïntegreerde circuits (IC's).
  • Basiskennis van logische poorten (AND, OR, NOT, etc.)
  • Kennis over de werking van Flip-Flop, Counter, Multiplexer, etc.

OPMERKING: De hierboven vermelde vereisten zijn bedoeld om de volledige werking van het project te begrijpen. Iemand die geen diepgaande kennis van hetzelfde heeft, kan het project ook bouwen volgens de stappen in de instructable.

Stap 1: Het werkmodel ontwikkelen

Het werkmodel ontwikkelen
Het werkmodel ontwikkelen
Het werkmodel ontwikkelen
Het werkmodel ontwikkelen

De eerste taak is het maken van een werkend model voor het project. Alleen dan kunnen we beslissen over de materialen die nodig zijn voor het project. Het hele project kan in drie delen worden opgedeeld.

Deel-1: Opwekking van obstakels

Ten eerste moeten we willekeurige obstakels genereren waar de Dot overheen kan springen. Obstakels zullen ook de vorm hebben van een puntpuls die van het ene uiteinde van de LED-array naar het andere gaat.

Voor het genereren van obstakels maken we gebruik van twee Timer Circuits (schakelschema's bijgevoegd), een met een High Frequency (HF Timer) en een andere met een Low Frequency (LF Timer). Het 'randomness'-gedeelte wordt afgehandeld door de HF-timer waarvan de uitvoer wordt gezien op elke stijgende flank van de LF-timer (die wordt beschouwd als CLK-invoer). De Obstacle Generation Instructie is de status van de HF Timer op elke stijgende flank van de LF Timer (1 -> Generate Obstacle | 0 -> Don't Generate Obstacle). De HF Timer wordt bij elke 'JUMP' RESET om te zorgen voor willekeurige obstakels. De output van de HF Timer wordt gegeven als de D-input naar een D Flip Flop (voor het opslaan van instructies voor de volgende cyclus) met CLK input als LF Timer Output.

Zodra de binaire instructie voor het genereren van obstakels uit is, moeten we de 'obstakelpuls' op de LED-array genereren. We doen dit met behulp van een 4-bit Counter waarvan de output wordt gegeven aan een 4x16 demultiplexer (DeMUX). De output van de DeMUX zou ervoor zorgen dat de 16 respectievelijke LED's gloeien.

Deel 2: De JUMP

Voor de JUMP-actie nemen we de drukknopinvoer als instructie. Zodra de instructie is gegeven, stopt de in-line object-LED met gloeien en gaat een andere LED erboven branden, wat een sprong betekent.

Deel 3: Resultaat

Het resultaat is als volgt: Als het object crasht, RESET het spel; anders, verhoog de score.

De botsing kan worden uitgedrukt als EN-ing van zowel het obstakelsignaal als het objectsignaal voor de grondpositie van het obstakel. Als er geen botsing plaatsvindt, wordt de puntenteller verhoogd, die wordt weergegeven op een paar 7-segmentsdisplays.

Stap 2: Componenten verzamelen

De benodigde componenten zijn als volgt:

  • PCB x 1, Breadboard x 3"
  • LED's: Groen(31), Rood(1), BiColor:Rood+Groen (1)
  • Drukknop x 2"
  • 7-segmentsdisplay x 2
  • IC 555 x 3 [voor timerschakelingen]
  • IC 7474 x 1 (D-flipflop)
  • IC 7490 x 2 (Decade Counter) [voor het weergeven van de score]
  • IC 7447 x 2 (BCD naar 7-segmentdecoder) [voor weergave van partituur]
  • IC 4029 x 1 (4-bits teller) [voor weergave van obstakels]
  • IC 74154 x 1 (DeMUX) [voor weergave van obstakels]
  • IC 7400 x 3 (NIET poort)
  • IC 7404 x 1 (NAND-poort)
  • IC 7408 x 1 (EN-poort)
  • IC-voetjes
  • Spanningsbron (5V)

Benodigde gereedschappen:

  • Soldeerbout
  • Draadknipper

Stap 3: Het genereren van obstakels: deel A

Obstakelgeneratie: deel A
Obstakelgeneratie: deel A
Obstakelgeneratie: deel A
Obstakelgeneratie: deel A

Eerst moeten we de timercircuits instellen voor het genereren van Obstacle Generation Signal (HIGH/LOW).

De schakeling wordt opgezet volgens de eerder besproken theorie. Het schakelschema voor hetzelfde is hierboven bijgevoegd. Het circuit is als volgt geïmplementeerd op een breadboard (hoewel het ook op een PCB kan worden geïmplementeerd):

  • Plaats de twee 555 IC's en D Flip Flop (IC 7474) over de scheidingswand van het breadboard met wat vrije ruimte (4-5 kolommen) ertussen.
  • Verbind de bovenste rij van het breadboard met de positieve pool van de spanningsbron en de onderste rij met de negatieve pool.
  • Maak verdere aansluitingen volgens het schakelschema. Na de nodige verbindingen zou het circuit er ongeveer zo uitzien als op de afbeelding hierboven.

OPMERKING: De waarden van weerstanden R1 & R2 en capaciteit C worden berekend met behulp van de volgende vergelijkingen:

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

waarbij T is vereist Tijdsperiode.

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

waarbij D de bedrijfscyclus is, d.w.z. de verhouding van AAN-tijd tot totale tijd.

In dit project, voor de High-Frequency Timer, T = 0,5 sec en voor de Low-Frequency Timer, T = 2 sec.

Stap 4: Obstakelgeneratie: deel B

Obstakelgeneratie: deel B
Obstakelgeneratie: deel B
Obstakelgeneratie: deel B
Obstakelgeneratie: deel B
Obstakelgeneratie: deel B
Obstakelgeneratie: deel B

Nu we weten wanneer we het obstakel moeten genereren, moeten we het nu weergeven. We zullen een 4-bits teller, een demultiplexer, een timer en een reeks van 16 LED's gebruiken. Waarom 16? Dat komt omdat we met behulp van de demultiplexer de 4-bits uitvoer van de teller aan de 16 LED's zullen toewijzen. Dit betekent dat de teller van 0 tot 15 zal tellen en de demultiplexer de LED met die index zal inschakelen.

De rol van de timer is om de snelheid van het tellen te regelen, d.w.z. de snelheid van de beweging van obstakels. Het obstakel zal één positie verschuiven in één tijdsperiode van de timer. Je kunt spelen met verschillende waarden van R1, R2 en C met behulp van de vergelijkingen in de vorige stap om verschillende snelheden te krijgen.

Soldeer voor de LED-matrix 16 LED's lineair met een gemeenschappelijke massa. De positieve pool van elke LED wordt verbonden met de DeMUX (na inverteren met de NOT-poort, aangezien de DeMUX een LAGE output geeft).

Het schakelschema voor hetzelfde is hierboven bijgevoegd.

Stap 5: De JUMP en het RESULTAAT

De JUMP en het RESULTAAT
De JUMP en het RESULTAAT
De JUMP en het RESULTAAT
De JUMP en het RESULTAAT
De JUMP en het RESULTAAT
De JUMP en het RESULTAAT

Het volgende is de sprongactie. Om een sprong weer te geven, plaatst u gewoon een LED met een andere kleur boven de matrix, aardt u deze en bevestigt u de +ve-aansluiting op een knop. Bevestig het andere uiteinde van de drukknop aan de spanningsbron.

Neem ook een andere drukknop die naast de vorige is geplaatst en sluit een van de klemmen aan op +5V. De andere aansluiting gaat naar een NAND-poort (IC 7404) met de andere ingang van de NAND-poort als ingang naar de LED net onder de JUMP-LED (d.w.z. de object-LED). De output van de NAND Gate gaat naar RESET (PIN 2 en 3 van beide BCD-tellers) van de scoreteller. Wat we hiermee doen is dat we de score resetten als zowel het OBJECT LED (in basispositie) signaal en het OBJECT-signaal tegelijkertijd wordt gegeven, d.w.z. het object en het obstakel zijn gebotst.

Maak een regeling om ervoor te zorgen dat beide drukknoppen samen worden ingedrukt. Je mag een munt gebruiken en beide knopen erop plakken.

Volg voor het instellen van de scoreteller het hierboven bijgevoegde schakelschema (bron: www.iamtechnical.com).

OPMERKING: Sluit pin 2 en 3 wel aan op de uitgang van de NAND Gate om de score te resetten in geval van een botsing met het obstakel

Stap 6: Veel plezier met spelen

Veel plezier met spelen!
Veel plezier met spelen!
Veel plezier met spelen!
Veel plezier met spelen!
Veel plezier met spelen!
Veel plezier met spelen!

Dat is het. Je bent klaar met je project. Je kunt er wat afwerking aan toevoegen zodat het er goed uitziet. Rust is prima.

GENIETEN VAN..!!

Aanbevolen: