Sommario:

Arduino Hangman in Morse: 9 passaggi
Arduino Hangman in Morse: 9 passaggi

Video: Arduino Hangman in Morse: 9 passaggi

Video: Arduino Hangman in Morse: 9 passaggi
Video: Morse Code Converter with arduino 2024, Giugno
Anonim
Arduino Hangman in Morse
Arduino Hangman in Morse

In questo tutorial ti mostrerò come configurare il tuo Arduino per giocare all'impiccato inviando il codice Morse con una semplice torcia o la funzione torcia dal tuo telefono.

Tutto quello che devi seguire sono: Una scheda Arduino. 10 luci LED Fili per collegare tutto. Extra: un elemento piezo (per aggiungere il suono).

Passaggio 1: impostazione delle luci a LED

Impostazione delle luci a LED
Impostazione delle luci a LED

Questo gioco di Morse utilizzerà 4 luci per indicare le 4 lettere della parola che devono essere indovinate e 5 luci per indicare le vite che il giocatore ha da indovinare, quindi prima di tutto dovrai collegare 9 LED -si accende nel modo consueto, come si può vedere in foto.

Passaggio 2: aggiungi un sensore di luce improvvisato

Non possiamo andare in giro a buttare soldi nei negozi di elettronica, quindi ho deciso di mantenere questo progetto economico, utilizzando una semplice luce a LED come sensore di luce improvvisato.

Tutto quello che devi fare è collegare il lato positivo della luce LED a una delle tue porte analogiche (nel mio caso A0) e il lato negativo a terra.

Passaggio 3: aggiungi il tuo dizionario

Aggiungi il tuo dizionario
Aggiungi il tuo dizionario

Per prima cosa, iniziamo aggiungendo una sorta di dizionario per tradurre le lettere nei codici Morse corrispondenti. Per fare ciò, creiamo semplicemente un array di 26 per 5, con il primo slot di ogni array secondario con la lettera e i 4 slot successivi con il codice Morse corrispondente o uno spazio se non è rimasto alcun codice. Quindi, per esempio con la lettera s, il primo slot ha una 's', il secondo, terzo e quarto slot hanno una '.' e lo slot finale ha ' '.

Passaggio 4: accendere le luci per impostazione predefinita

Accendi le luci per impostazione predefinita
Accendi le luci per impostazione predefinita
Accendi le luci per impostazione predefinita
Accendi le luci per impostazione predefinita

In questo passaggio, ci assicuriamo che le luci siano accese una volta avviato il programma e che la lettera che rappresentano Morse sia stata indovinata correttamente dall'utente (il codice per questo verrà scritto nel passaggio 6). Ci assicuriamo anche che ci siano tante luci accese per le vite quante sono le vite rimaste al giocatore.

Prima di questo, assicurati di avere un array con i numeri di porta e i numeri interi impostati su 0 per rappresentare l'ora in cui la luce dovrebbe accendersi, spegnersi e quale parte del Morse la luce LED è attualmente mostrata.

Passaggio 5: aggiunta dell'input

Aggiunta dell'input
Aggiunta dell'input

Ora scriveremo il codice per verificare se il giocatore sta puntando una luce sulla luce LED collegata alla nostra porta analogica A0 e se deve tradurlo nella lettera corretta.

Per assicurarci che la lettura sia corretta, facciamo una media ogni 20 letture con la luce a LED e usiamo quel numero per monitorare se la luce è spenta o accesa. Per fare ciò, all'inizio del programma impostiamo NUM_AVG al numero di volte in cui vogliamo che controlli la luce prima di calcolarne la media. Più alto è questo numero, più accurata è la lettura, ma può anche causare ritardi.

msBtnPushed rappresenta la quantità di tempo in cui la luce è stata accesa per.lastPressed è un booleano che tiene traccia di se nel ciclo precedente la luce era accesa.

Passaggio 6: gestione dell'input

Gestione dell'input
Gestione dell'input
Gestione dell'input
Gestione dell'input

Per questo passaggio, daremo un'occhiata a cosa fare una volta trascorso abbastanza tempo per presumere che non verrà aggiunto altro Morse, e dobbiamo verificare se il Morse ha inviato una lettera e se è una lettera corretta.

Per fare ciò, dobbiamo impostare la stringa wordToGuess sulla parola che vogliamo che i nostri giocatori indovinino. Personalmente ho un generatore di numeri casuali per impostarlo su una parola casuale all'inizio, ma potresti anche semplicemente impostarlo su una singola parola.

Dobbiamo anche assicurarci che il contatore aumenti di uno ogni ciclo, altrimenti l'intero programma non farebbe nulla. Inoltre, ho aggiunto la funzione di ritardo, per assicurarmi che ci sia un ciclo ogni millisecondo.

PS: tutte le funzioni di Serial.println sono solo a scopo di test. Possono essere cancellati al termine.

Il goodTimer e il badTimer sono semplicemente valori per se hai intenzione di usare un elemento Piezo per aggiungere il suono. Se lo desideri, devi aggiungere anche il codice nella seconda immagine, che riproduce i suoni.

Passaggio 7: Morsing delle lettere indovinate correttamente

Morsing le lettere indovinate correttamente
Morsing le lettere indovinate correttamente

Come promesso prima, in questo passaggio faremo delle luci che rappresentano le lettere che sono state indovinate correttamente Morse la loro lettera.

Per questo, ho scritto due funzioni: morseThis e nextLetter. Utilizza i numeri che abbiamo precedentemente impostato nel nostro array di timer e li cambia a seconda di quale parte del codice Morse sta attualmente brillando.

Se il timer raggiunge l'ora in cui la luce dovrebbe accendersi, accende semplicemente la luce ed esegue il codice per impostare nuovi timer per spegnere e riaccendere la luce. Se il timer raggiunge la parte in cui la luce dovrebbe tornare indietro spento, spegne la luce e quindi imposta il codice per rappresentare la parte successiva della lettera. Se non c'è una parte successiva, la reimposta sulla prima parte.

Passaggio 8: revisione della nostra configurazione e ripristino

Rivedere la nostra configurazione e ripristino
Rivedere la nostra configurazione e ripristino

Ovviamente il programma non verrà eseguito se le luci non sono impostate su output e input. Aggiungo anche un generatore di numeri casuali per aggiungere una parola da un elenco di parole che ho inserito in un array chiamato wordsToGuess.

Oltre a ciò, dovremmo aggiungere la funzione di ripristino e assicurarci che tutti i valori vengano ripristinati ai valori predefiniti.

Passaggio 9: tutte le variabili in un'immagine

Tutte le variabili in un'immagine
Tutte le variabili in un'immagine

Infine, puoi usarlo per verificare se tutte le variabili necessarie sono impostate correttamente.

Ora divertiti a giocare a Hangman in Morse!

Consigliato: