Sommario:

Dot Jump Game (senza usare Arduino): 6 passaggi
Dot Jump Game (senza usare Arduino): 6 passaggi

Video: Dot Jump Game (senza usare Arduino): 6 passaggi

Video: Dot Jump Game (senza usare Arduino): 6 passaggi
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Gioco Dot Jump (senza usare Arduino)
Gioco Dot Jump (senza usare Arduino)

Panoramica

Ciao! Sono Shivansh, uno studente all'IIIT-Hyderabad. Sono qui con il mio primo istruibile che è un gioco ispirato al gioco Dinosaur Jump di Google Chrome. Il gioco è semplice: salta attraverso gli ostacoli in arrivo per segnare un punto. Se ti scontri, perdi e il punteggio si azzera.

La caratteristica saliente di questo progetto è che non viene utilizzato un Arduino o nessun altro microcontrollore. È puramente derivato da componenti elettrici di base e prevede l'implementazione di macchine a stati finiti (FSM) con l'aiuto di diagrammi logici, ecc.

Interessato? Iniziamo.

Prerequisiti:

  • Conoscenza di base su componenti elettrici come resistori, condensatori, circuiti integrati (IC).
  • Conoscenza di base delle porte logiche (AND, OR, NOT, ecc.)
  • Conoscenza del funzionamento di Flip-Flop, Counter, Multiplexer, ecc.

NOTA: I prerequisiti sopra elencati servono per comprendere l'intero funzionamento del progetto. Chi non ha una conoscenza approfondita dello stesso può anche costruire il progetto seguendo i passaggi nell'istruibile.

Passaggio 1: sviluppo del modello di lavoro

Sviluppo del modello di lavoro
Sviluppo del modello di lavoro
Sviluppo del modello di lavoro
Sviluppo del modello di lavoro

Il primo compito è creare un modello funzionante per il progetto. Solo allora possiamo decidere i materiali necessari per il progetto. L'intero progetto può essere suddiviso in tre parti.

Parte 1: Generazione di ostacoli

In primo luogo, dobbiamo generare ostacoli casuali per far saltare il punto. Gli ostacoli saranno anche sotto forma di un impulso di punti che si sposta da un'estremità all'altra dell'array di LED.

Per la generazione degli ostacoli ci avvaliamo di due Circuiti Timer (schemi elettrici allegati), uno ad Alta Frequenza (HF Timer) e un altro a Bassa Frequenza (LF Timer). La parte "casualità" è gestita dal timer HF la cui uscita è visibile su ogni fronte di salita del timer LF (che viene preso come ingresso CLK). L'istruzione di generazione degli ostacoli è lo stato del timer HF su ogni fronte di salita del timer LF (1 -> Genera ostacolo | 0 -> Non generare ostacolo). Il timer HF viene RESET ad ogni "SALTO" per garantire la generazione di ostacoli casuali. L'uscita del timer HF viene fornita come ingresso D a un flip flop D (per memorizzare le istruzioni per il ciclo successivo) con l'ingresso CLK come uscita timer LF.

Una volta terminata l'istruzione binaria per la generazione di ostacoli, è necessario generare l'"impulso di ostacolo" sull'array di LED. Lo facciamo con l'aiuto di un contatore a 4 bit il cui output è dato a un demultiplexer 4x16 (DeMUX). L'uscita del DeMUX farebbe brillare i 16 rispettivi LED.

Parte 2: Il SALTO

Per l'azione JUMP, prenderemo l'input del pulsante come istruzione. Una volta che l'istruzione è stata data, il LED dell'oggetto in linea smette di illuminarsi e un altro LED sopra di esso si illumina, indicando un salto.

Parte 3: Risultato

Il risultato sarà del tipo: Se l'oggetto va in crash, RESET il gioco; altrimenti, aumentare il punteggio.

La collisione può essere espressa come AND di entrambi, il segnale dell'ostacolo e il segnale dell'oggetto per la posizione al suolo dell'ostacolo. Se non si verifica una collisione, viene incrementato il Point Counter che viene visualizzato su una coppia di display a 7 segmenti.

Passaggio 2: raccolta dei componenti

I componenti necessari sono i seguenti:

  • PCB x 1, tagliere x 3
  • LED: Verde(31), Rosso(1), Bicolore:Rosso+Verde (1)
  • Pulsante x 2
  • Display a 7 segmenti x 2
  • IC 555 x 3 [per circuiti timer]
  • IC 7474 x 1 (D FlipFlop)
  • IC 7490 x 2 (Decade Counter) [per la visualizzazione del punteggio]
  • IC 7447 x 2 (da BCD a decodificatore a 7 segmenti) [per la visualizzazione del punteggio]
  • IC 4029 x 1 (contatore a 4 bit) [per visualizzazione ostacoli]
  • IC 74154 x 1 (DeMUX) [per visualizzazione ostacoli]
  • IC 7400 x 3 (NON cancello)
  • IC 7404 x 1 (porta NAND)
  • IC 7408 x 1 (porta AND)
  • Prese CI
  • Sorgente di tensione (5V)

Strumenti richiesti:

  • Saldatore
  • Tronchese

Passaggio 3: generazione di ostacoli: parte A

Generazione di ostacoli: parte A
Generazione di ostacoli: parte A
Generazione di ostacoli: parte A
Generazione di ostacoli: parte A

Innanzitutto, è necessario impostare i circuiti del timer per la generazione del segnale di generazione di ostacoli (HIGH/LOW).

Il circuito sarà impostato secondo la teoria discussa in precedenza. Lo schema del circuito per lo stesso è allegato sopra. Il circuito è implementato su una breadboard (sebbene possa essere implementato anche su un PCB) come segue:

  • Posiziona i due 555 IC e D Flip Flop (IC 7474) attraverso il divisore della breadboard con uno spazio libero (4-5 colonne) nel mezzo.
  • Collegare la riga superiore della breadboard con il terminale positivo di Voltage Source e la riga inferiore con il terminale negativo.
  • Effettuare ulteriori collegamenti seguendo lo schema elettrico. Dopo i collegamenti necessari, il circuito sarebbe simile all'immagine allegata sopra.

NOTA: I valori delle resistenze R1 e R2 e della capacità C sono calcolati utilizzando le seguenti equazioni:

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

dove T è richiesto Periodo di tempo.

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

dove D è il Duty Cycle ovvero il rapporto tra il Tempo di ON e il Tempo Totale.

In questo progetto, per il timer ad alta frequenza, T = 0,5 sec e per il timer a bassa frequenza, T = 2 sec.

Passaggio 4: generazione di ostacoli: parte B

Generazione di ostacoli: parte B
Generazione di ostacoli: parte B
Generazione di ostacoli: parte B
Generazione di ostacoli: parte B
Generazione di ostacoli: parte B
Generazione di ostacoli: parte B

Ora che sappiamo quando generare l'ostacolo, dobbiamo ora visualizzarlo. Utilizzeremo un contatore a 4 bit, un demultiplexer, un timer e un array di 16 LED. Perché 16? Questo perché mapperemo l'uscita a 4 bit del contatore sui 16 LED utilizzando il demultiplatore. Significa che il contatore conterà da 0 a 15 e il demultiplatore accenderà il LED con quell'indice.

Il ruolo del timer è quello di regolare la velocità di conteggio, ovvero la velocità di movimento dell'ostacolo. L'ostacolo si sposterà di una posizione in un periodo di tempo del timer. Puoi giocare con diversi valori di R1, R2 e C usando le equazioni nel passaggio precedente per ottenere velocità diverse.

Per la matrice LED, saldare 16 LED in modo lineare con una massa comune. Il terminale positivo di ogni LED andrà collegato al DeMUX (dopo aver invertito utilizzando il gate NOT, poiché il DeMUX fornisce un'uscita LOW).

Lo schema elettrico per lo stesso è allegato sopra.

Passaggio 5: il SALTO e il RISULTATO

Il SALTO e il RISULTATO
Il SALTO e il RISULTATO
Il SALTO e il RISULTATO
Il SALTO e il RISULTATO
Il SALTO e il RISULTATO
Il SALTO e il RISULTATO

La prossima cosa è l'azione di salto. Per visualizzare un salto è sufficiente posizionare un LED di colore diverso sopra la matrice, metterlo a terra e collegare il suo terminale +ve a un pulsante. Collegare l'altra estremità del pulsante alla sorgente di tensione.

Inoltre, prendi un altro pulsante, posto adiacente al precedente e collega uno dei suoi terminali a +5V. L'altro terminale va a un NAND Gate (IC 7404) con l'altro ingresso di NAND Gate come ingresso al LED appena sotto il LED JUMP (cioè il LED oggetto). L'uscita del NAND Gate va a RESET (PIN 2 e 3 di entrambi i Contatori BCD) del contapunti. Con questo quello che facciamo è che azzeriamo il punteggio se sia il segnale LED OGGETTO (in posizione base) che il segnale OSTACOLO è stato dato contemporaneamente, cioè l'oggetto e l'ostacolo si sono scontrati.

Fare un po' di ordine per assicurarsi che entrambi i pulsanti siano premuti insieme. Puoi usare una moneta e attaccarci entrambi i pulsanti.

Per l'impostazione del contapunti seguire lo schema circuitale allegato sopra (Fonte foto: www.iamtechnical.com).

NOTA: collegare i pin 2 e 3 all'uscita del NAND Gate per azzerare il punteggio in caso di collisione con l'ostacolo

Passaggio 6: buon gioco

Buon gioco!
Buon gioco!
Buon gioco!
Buon gioco!
Buon gioco!
Buon gioco!

Questo è tutto. Hai finito con il tuo progetto. Puoi aggiungere un po 'di finitura in modo che abbia un bell'aspetto. Il resto va bene.

BUON APPETITO..!!

Consigliato: