Sommario:
- Passaggio 1: sviluppo del modello di lavoro
- Passaggio 2: raccolta dei componenti
- Passaggio 3: generazione di ostacoli: parte A
- Passaggio 4: generazione di ostacoli: parte B
- Passaggio 5: il SALTO e il RISULTATO
- Passaggio 6: buon gioco
Video: Dot Jump Game (senza usare Arduino): 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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
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
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:
Come Riciclare Telefoni Android per BOINC o Rig Pieghevole Senza Usare le Batterie: 8 Passaggi
Come Riciclare Telefoni Android per BOINC o Rig Pieghevole Senza Usare le Batterie: ATTENZIONE: NON SONO IN ALCUN MODO RESPONSABILE PER EVENTUALI DANNI ALL'HARDWARE SEGUENDO QUESTA GUIDA. Questa guida è più efficace per gli utenti BOINC (scelta personale/motivi), può essere utilizzato anche per PIEGARE Visto che non ho molto tempo, farò
Automazione domestica con WiFi ESP8266 senza usare Blynk!: 24 passaggi (con immagini)
Automazione domestica con WiFi ESP8266 senza usare Blynk!: In primo luogo, voglio RINGRAZIARE tutti per avermi reso un vincitore nell'Automation Contest 2016 per questo INSTRUCTABLE. Quindi, come ti avevo promesso, ecco le istruzioni per controllare gli elettrodomestici con il modulo WiFi ESP8266
Come Realizzare un Robot Line Follower Senza Usare Arduino (Microcontrollore): 5 Passaggi
Come creare un robot line follower senza usare Arduino (microcontrollore): in questo tutorial, ti insegnerò come creare un robot line follower senza usare Arduino. Userò passaggi molto semplici per spiegare. Questo robot utilizzerà il sensore di prossimità IR per segui la linea. Non avrai bisogno di alcun tipo di esperienza di programmazione per
Come spegnere il computer senza usare Start: 5 passaggi
Come spegnere il computer senza usare Start.: Cominciamo
Dispositivo di raffreddamento/supporto per laptop a costo zero (senza colla, senza foratura, senza dadi e bulloni, senza viti): 3 passaggi
Dispositivo di raffreddamento/supporto per laptop a costo zero (senza colla, senza foratura, senza dadi e bulloni, senza viti): AGGIORNAMENTO: PER FAVORE, PER FAVORE, PER FAVORE, PER IL MIO ISTRUTTORE, GRAZIE ^_^ POTRESTI ANCHE VOTARE PER IL MIO ALTRO CONCORSO ISCRIZIONE A www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ O FORSE VOTA PER IL MIO MIGLIORE AMICO