Innehållsförteckning:

Dot Jump Game (utan att använda Arduino): 6 steg
Dot Jump Game (utan att använda Arduino): 6 steg

Video: Dot Jump Game (utan att använda Arduino): 6 steg

Video: Dot Jump Game (utan att använda Arduino): 6 steg
Video: Car Tent Camping in the Rain - Fast Tent - Wilderness 2024, November
Anonim
Dot Jump Game (utan att använda Arduino)
Dot Jump Game (utan att använda Arduino)

Översikt

Hallå där! Jag är Shivansh, student vid IIIT-Hyderabad. Jag är här med min första instruerbara som är ett spel inspirerat av Google Chrome Dinosaur Jump -spel. Spelet är enkelt: Hoppa över inkommande hinder för att få en poäng. Om du kolliderar förlorar du och poängen återställs.

Höjdpunkten i detta projekt är att det inte finns någon användning av en Arduino eller någon annan mikrokontroller. Det härrör rent från grundläggande elektriska komponenter och innebär implementering av Finite State Machines (FSM) med hjälp av logiska diagram, etc.

Intresserad? Låt oss börja.

Förkunskaper:

  • Grundläggande kunskap om elektriska komponenter som motstånd, kondensatorer, integrerade kretsar (IC).
  • Grundläggande kunskaper i Logic Gates (AND, OR, NOT, etc.)
  • Kunskap om arbete med Flip-Flop, Counter, Multiplexer, etc.

OBS: Förutsättningarna ovan är för att förstå hela projektets funktion. En som inte har fördjupad kunskap om detsamma kan också bygga projektet enligt stegen i den instruerbara.

Steg 1: Utveckla arbetsmodellen

Utveckla arbetsmodellen
Utveckla arbetsmodellen
Utveckla arbetsmodellen
Utveckla arbetsmodellen

Den första uppgiften är att skapa en arbetsmodell för projektet. Först då kan vi bestämma materialet som krävs för projektet. Hela projektet kan delas upp i tre delar.

Del 1: Hindergenerering

För det första måste vi generera slumpmässiga hinder för att Dot ska hoppa över. Hinder kommer också att vara i form av en punktpuls som rör sig från ena änden av LED -matrisen till den andra.

För att generera hinder använder vi oss av två timerkretsar (kopplade kretsscheman), en med en högfrekvens (HF -timer) och en annan med en lågfrekvens (LF -timer). "Slumpmässigheten" -delen hanteras av HF -timern vars utmatning ses på varje stigande kant av LF -timern (som tas som CLK -ingång). Hindringsgenerationsinstruktionen är tillståndet för HF -timern på varje stigande kant av LF -timern (1 -> Generera hinder | 0 -> Generera inte hinder). HF -timern återställs på varje "HOPP" för att säkerställa slumpmässiga hinder. HF-timerns utgång ges som D-ingång till en D Flip Flop (för lagring av instruktioner för nästa cykel) med CLK-ingång som LF-timerutgång.

När den binära instruktionen för hindergenerering är ute måste vi generera "hinderpulsen" på LED -matrisen. Vi gör det med hjälp av en 4-bitars räknare vars utmatning ges till en 4x16 demultiplexer (DeMUX). Utsignalen från DeMUX skulle få de 16 respektive lysdioderna att lysa.

Del-2: HOPPET

För JUMP -åtgärden tar vi tryckknappsinmatningen som instruktion. När instruktionen väl ges slutar objekt-LED-lampan att lysa och en annan LED ovanför den lyser, vilket betyder ett hopp.

Del-3: Resultat

Resultatet blir ungefär: Om objektet kraschar, ÅTERSTÄLL spelet; annars, öka poängen.

Kollisionen kan uttryckas som ANDing av båda, hindersignalen och objektsignalen för hindrets markposition. Om en kollision inte äger rum, ökas punkträknaren som visas på ett par skärmar med 7 segment.

Steg 2: Samla komponenter

De komponenter som krävs är följande:

  • PCB x 1, brödbräda x 3
  • Lysdioder: Grön (31), Röd (1), BiColor: Röd+Grön (1)
  • Tryckknapp x 2
  • 7-segment Display x 2
  • IC 555 x 3 [för timerkretsar]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (Decade Counter) [för att visa poäng]
  • IC 7447 x 2 (BCD till 7-segments avkodare) [för att visa poäng]
  • IC 4029 x 1 (4-bitars räknare) [för hindervisning]
  • IC 74154 x 1 (DeMUX) [för hindervisning]
  • IC 7400 x 3 (INTE grind)
  • IC 7404 x 1 (NAND -grind)
  • IC 7408 x 1 (OCH grind)
  • IC -uttag
  • Spänningskälla (5V)

Nödvändiga verktyg:

  • Lödkolv
  • Avbitartång

Steg 3: Hindergenerering: Del-A

Hindergenerering: Del-A
Hindergenerering: Del-A
Hindergenerering: Del-A
Hindergenerering: Del-A

Först måste vi ställa in timerkretsarna för att generera hindergenerering (HIGH/LOW).

Kretsen kommer att installeras i enlighet med teorin som diskuterats tidigare. Kretsdiagrammet för detsamma är bifogat ovan. Kretsen implementeras på en brödbräda (även om den också kan implementeras på ett kretskort) enligt följande:

  • Placera de två 555 IC: erna och D Flip Flop (IC 7474) tvärs över avdelaren på brödbrädan med lite ledigt utrymme (4-5 kolumner) däremellan.
  • Anslut den övre raden på brödbrädan med den positiva terminalen för spänningskälla och den nedre raden med den negativa terminalen.
  • Gör ytterligare anslutningar enligt kretsschemat. Efter de nödvändiga anslutningarna skulle kretsen se ut som bilden ovan.

OBS: Värdena för motstånden R1 & R2 och kapacitansen C beräknas med hjälp av följande ekvationer:

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

där T krävs Tidsperiod.

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

där D är arbetscykeln, dvs. förhållandet mellan ON -tid och total tid.

I detta projekt, för högfrekvens-timern, T = 0,5 sek och för lågfrekvens-timern, T = 2 sek.

Steg 4: Hindergenerering: Del-B

Hindergenerering: Del-B
Hindergenerering: Del-B
Hindergenerering: Del-B
Hindergenerering: Del-B
Hindergenerering: Del-B
Hindergenerering: Del-B

Nu när vi vet när vi ska generera hindret måste vi nu visa det. Vi kommer att använda en 4-bitars räknare, en Demultiplexer, en timer och en uppsättning av 16 lysdioder. Varför 16? Det beror på att vi kommer att kartlägga 4-bitars utgången från räknaren till de 16 lysdioderna med hjälp av demultiplexern. Det betyder att räknaren kommer att räkna 0 till 15 och demultiplexern kommer att slå på lysdioden med det indexet.

Timerns roll är att reglera räkningshastigheten, det vill säga hastigheten för hinderrörelse. Hindret kommer att flytta en position under en tidsperiod på timern. Du kan leka med olika värden på R1, R2 och C med hjälp av ekvationerna i föregående steg för att få olika hastigheter.

För LED -matrisen, löd 16 lysdioder på ett linjärt sätt med en gemensam grund. Den positiva terminalen för varje lysdiod kommer att anslutas till DeMUX (efter invertering med NOT -grind, eftersom DeMUX ger en LÅG utgång).

Kretsschemat för samma är bifogat ovan.

Steg 5: HOPPET och RESULTATET

HOPPET och RESULTATET
HOPPET och RESULTATET
HOPPET och RESULTATET
HOPPET och RESULTATET
HOPPET och RESULTATET
HOPPET och RESULTATET

Nästa sak är hopp -åtgärden. För att visa ett hopp, placera bara en lysdiod med annan färg ovanför matrisen, jorda den och fäst dess +ve -terminal på en knapp. Fäst den andra änden av tryckknappen på spänningskällan.

Ta också en annan tryckknapp, placerad intill den föregående och fäst en av dess terminaler till +5V. Den andra terminalen går till en NAND Gate (IC 7404) med den andra ingången till NAND Gate som ingången till lysdioden strax under JUMP LED (dvs. objekt -LED). Utmatningen från NAND -porten går till RESET (PIN 2 och 3 för båda BCD -räknarna) på poängräknaren. Med det vi gör är att vi återställer poängen om både OBJECT LED (i basläges) signalen och OBSTACLE -signalen ges samtidigt, dvs objektet och hindret kolliderade.

Gör något för att se till att båda tryckknapparna trycks ihop. Du kan använda ett mynt och fästa båda knapparna på det.

För att ställa in poängräknaren, följ kretsschemat ovan (bildkälla: www.iamtechnical.com).

OBS: Anslut stift 2 och 3 till utgången på NAND -porten för att den ska återställa poängen vid kollision med hindret

Steg 6: Lycka till

Lycka till!
Lycka till!
Lycka till!
Lycka till!
Lycka till!
Lycka till!

Det är allt. Du är klar med ditt projekt. Du kan lägga till lite efterbehandling till det så att det ser bra ut. Vila är bra.

NJUT AV..!!

Rekommenderad: