- Componenti utilizzati:
- Spiegazione di lavoro:
- Spiegazione del circuito:
- Spiegazione della programmazione:
Snake Game è stato molto popolare sin dall'inizio dei telefoni cellulari. Inizialmente era disponibile nei telefoni cellulari in bianco e nero, e presto divenne molto famoso. Poi con il progresso dei cellulari, anche questo gioco è cambiato molto, e ora sono disponibili molte versioni grafiche e colorate di questo gioco.
Il gioco del serpente è diventato anche un progetto fai-da-te molto popolare per gli appassionati di elettronica e gli studenti. Quindi oggi dimostreremo Arduino Snake Game, con tutte le sue funzionalità di base, mantenendolo semplice allo stesso tempo.
Componenti utilizzati:
- Arduino UNO
- Display a matrice di punti LED 8x8
- Registro a scorrimento 74HC595
- LCD 16x2
- POT 1K
- Premi i pulsanti
- Cavi di collegamento
- Tagliere per il pane
- Alimentazione elettrica
Spiegazione di lavoro:
Questo è un gioco poco complicato da costruire. Ma in questo tutorial, l'abbiamo reso semplice per te. Per realizzare questo progetto, abbiamo utilizzato un display a matrice di punti di colore rosso 8x8 per visualizzare il serpente e il suo punto cibo, un LCD per visualizzare i punti o il punteggio, 5 pulsanti per dare indicazioni e avviare il gioco e infine un Arduino UNO per il controllo l'intero processo. Di seguito è riportato il diagramma dei pin del display a matrice di punti 8x8 LED con la sua immagine originale:
Quando accendiamo il circuito, prima viene visualizzato un messaggio di benvenuto e poi un suggerimento "Press Start To Play" sull'LCD. Dopodiché, il display LCD mostra il punteggio come zero e il display a matrice di punti mostra due punti come serpente e un singolo punto come cibo.
Ora l'utente deve premere il pulsante centrale per avviare il gioco e il serpente inizia a muoversi verso l'alto per impostazione predefinita. Quindi l'utente deve dare la direzione al serpente premendo i "tasti di direzione" attorno al pulsante centrale. Qui abbiamo usato cinque tasti (pulsanti): tasto sinistro, tasto destro, tasto su, tasto giù e tasto Start. Ogni volta che il serpente raggiunge il punto del cibo o mangia il cibo, il punteggio aumenta di 5 punti ogni volta e la lunghezza del serpente aumenta di un punto (LED) ogni volta, anche la velocità del serpente diventa più veloce di prima. E ogni volta che il serpente colpisce un muro o raggiunge la fine della matrice LED, il gioco termina ("Game Over"). Quindi l'utente deve riavviare il gioco premendo il tasto di avvio.
Spiegazione del circuito:
Il circuito di questo Snake Game Project è un po 'complesso. Qui abbiamo collegato il display a matrice di punti utilizzando il registro a scorrimento 74HC595. Qui vengono utilizzati due registri a scorrimento, uno per guidare le colonne e il secondo per guidare le righe. Pin di controllo di entrambi i registri, registro a scorrimento di colonna e registro a scorrimento di riga (SH, ST),sono collegati direttamente ai pin numero 14 e 16 di Arduino rispettivamente. E il pin DS del registro a scorrimento di colonna e il registro a scorrimento di riga sono direttamente collegati ai pin numero 15 e 17 di Arduino. Il pulsante di avvio per avviare il gioco è collegato al pin numero 3, il pulsante di direzione sinistro al pin 4, il pulsante di direzione destro al pin 6, il pulsante di direzione su al pin 2 e il pulsante di direzione giù al pin 5. Un LCD è anche collegato nel nostro hardware a mostra punteggio. I pin RS ed EN sono collegati direttamente ai pin 13 e 12. Il pin RW è direttamente a terra. E i pin dati d4-d7 sono collegati ai pin 11, 10, 9, 8 di Arduino. Il resto della connessione è mostrato nello schema del circuito.
Spiegazione della programmazione:
Per scrivere questo codice di gioco del serpente Arduino, prima di tutto includiamo i file di intestazione e definiamo i pin per LCD. Quindi definire alcuni pin per i pulsanti di direzione e pin dati per i registri a scorrimento.
#includere
Quindi inizializziamo tutte le cose che abbiamo usato nel programma. Nella funzione di configurazione inizializziamo l'LCD, dando la direzione ai pin di uscita di ingresso, richiamiamo i bit e mostriamo il messaggio di benvenuto sull'LCD.
void setup () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (start, INPUT);……………
E poi iniziamo il gioco in funzione loop .
void show_snake (int temp) {for (int n = 0; n
Qui abbiamo utilizzato la seguente funzione per leggere la direzione di ingresso dal pulsante.
void read_button () {if (! digitalRead (left)) {move_r = 0; move_c! = - 1? move_c = -1: move_c = 1; while (! digitalRead (sinistra));……………
Controlla il codice C completo del gioco Snake di seguito.