Cuprins:

Arduino Hangman in Morse: 9 Steps
Arduino Hangman in Morse: 9 Steps

Video: Arduino Hangman in Morse: 9 Steps

Video: Arduino Hangman in Morse: 9 Steps
Video: Hangman Game Running on Arduino - Code and Simulation on Tinkercad 2024, Noiembrie
Anonim
Arduino Hangman în Morse
Arduino Hangman în Morse

În acest tutorial vă voi arăta cum să vă configurați propriul Arduino pentru a juca Hangman trimițând codul Morse cu o lanternă simplă sau funcția de lanternă de pe telefon.

Tot ce trebuie să urmați sunt: o placă Arduino.10 lumini LED-uri Cabluri pentru a le conecta pe toate. Extra: un element piezo (pentru a adăuga sunet).

Pasul 1: Configurarea luminilor LED

Configurarea luminilor LED
Configurarea luminilor LED

Acest joc de Morse va folosi 4 lumini pentru a indica cele 4 litere din cuvântul care trebuie ghicit și 5 lumini pentru a indica viața cu care jucătorul a rămas să ghicească, așa că, în primul rând, va trebui să conectați 9 LED-uri -luminează în mod obișnuit, așa cum se poate vedea în imagine.

Pasul 2: Adăugați un senzor de lumină Makeshift

Nu putem să aruncăm bani în magazinele electronice, așa că am decis să mențin acest proiect ieftin, folosind o lumină simplă cu LED-uri ca senzor de lumină improvizat.

Tot ce trebuie să faceți este să conectați partea plus a luminii LED la unul dintre porturile analogice (în cazul meu A0) și partea minus la sol.

Pasul 3: Adăugați dicționarul

Adăugați dicționarul dvs
Adăugați dicționarul dvs

În primul rând, să începem prin a adăuga un fel de dicționar pentru a traduce litere în codurile Morse corespunzătoare. Pentru a face acest lucru, facem pur și simplu o matrice de 26 pe 5, primul slot al fiecărei matrice secundare având litera și următoarele 4 sloturi având codul Morse corespunzător sau un spațiu dacă nu mai există cod. De exemplu, cu litera s, primul slot are „s”, al doilea, al treilea și al patrulea slot au un „.” iar slotul final are ''.

Pasul 4: Faceți luminile să se aprindă implicit

Faceți luminile să se aprindă implicit
Faceți luminile să se aprindă implicit
Faceți luminile să se aprindă implicit
Faceți luminile să se aprindă implicit

În acest pas, ne asigurăm că luminile sunt aprinse odată ce programul începe și Morse litera pe care o reprezintă odată ce utilizatorul le-a ghicit corect (codul pentru aceasta va fi scris la pasul 6). De asemenea, ne asigurăm că există doar atâtea lumini aprinse pentru viață, pe cât jucătorul mai are vieți.

Înainte de aceasta, asigurați-vă că aveți o matrice cu numerele de port și numerele întregi setate la 0 pentru a reprezenta ora la care ar trebui să se aprindă, să se stingă lumina și ce parte a Morse-ului este afișată în prezent lumina LED.

Pasul 5: Adăugarea intrării

Adăugarea intrării
Adăugarea intrării

Acum vom scrie codul pentru a verifica dacă playerul strălucește lumina LED-ului conectat la portul nostru analogic A0 și dacă trebuie să-l traducă în litera corectă.

Pentru a ne asigura că citirea este corectă, calculăm în medie la fiecare 20 de citiri cu ajutorul LED-ului și folosim acest număr pentru a urmări dacă lumina este stinsă sau aprinsă. Pentru a face acest lucru, la începutul programului, setăm NUM_AVG la numărul de ori în care dorim să verifice lumina înainte de a o face media. Cu cât acest număr este mai mare, cu atât citirea este mai precisă, dar poate provoca și întârzieri.

msBtnPush reprezintă cantitatea de timp pe care a fost aprinsă lumina. LastPressed este un boolean care ține evidența dacă în bucla anterioară lumina a fost aprinsă.

Pasul 6: Manipularea intrării

Manipularea intrării
Manipularea intrării
Manipularea intrării
Manipularea intrării

Pentru acest pas, vom arunca o privire asupra a ceea ce trebuie făcut după ce a trecut suficient timp pentru a presupune că nu va mai fi adăugat niciun Morse și trebuie să verificăm dacă Morse a trimis o scrisoare și dacă este o scrisoare corectă.

Pentru a face acest lucru, trebuie să avem setat cuvântul ToGuess la cuvântul pe care vrem să-l ghicească jucătorii noștri. Personal, am un generator de numere aleatorii pentru a-l seta la un cuvânt aleatoriu la început, dar l-ați putea seta pur și simplu la un singur cuvânt.

De asemenea, trebuie să ne asigurăm că contorul crește cu fiecare buclă, altfel întregul program nu ar face nimic. În plus, am adăugat funcția de întârziere, pentru a mă asigura că există o buclă la fiecare milisecundă.

PS: Toate funcțiile Serial.println sunt doar pentru testare. Acestea pot fi șterse la finalizare.

GoodTimer și badTimer sunt pur și simplu valori pentru dacă intenționați să utilizați un element Piezo pentru a adăuga sunet. Dacă doriți să faceți acest lucru, trebuie să adăugați și codul din a doua imagine, care redă sunetele.

Pasul 7: Morsing scrisorile ghicit corect

Morsing scrisorile ghicit corect
Morsing scrisorile ghicit corect

Așa cum am promis mai înainte, în acest pas vom face luminile care reprezintă literele care au fost ghicite corect să le scrieți scrisoarea.

Pentru aceasta, am scris două funcții: morseThis și nextLetter. Folosește numerele pe care le-am setat anterior în matricea noastră de timere și le modifică în funcție de ce parte a codului Morse strălucește în prezent.

Dacă cronometrul atinge ora la care ar trebui să se aprindă lumina, acesta pur și simplu aprinde lumina și rulează codul pentru a seta temporizatoare noi să stingă lumina și să o aprindă din nou. oprit, stinge lumina și apoi setează codul pentru a reprezenta următoarea parte a literei. Dacă nu există o parte următoare, aceasta o resetează la prima parte.

Pasul 8: Revizuirea configurării și resetării noastre

Revizuirea configurării și resetării noastre
Revizuirea configurării și resetării noastre

Desigur, programul nu va rula dacă luminile nu sunt setate pentru ieșire și intrare. De asemenea, adaug un generator de numere aleatorii pentru a adăuga un cuvânt dintr-o listă de cuvinte pe care le-am pus într-o matrice numită wordsToGuess.

În plus, ar trebui să adăugăm funcția de resetare și să ne asigurăm că toate valorile sunt resetate la valorile implicite.

Pasul 9: Toate variabilele dintr-o singură imagine

Toate variabilele într-o singură imagine
Toate variabilele într-o singură imagine

În cele din urmă, puteți utiliza acest lucru pentru a verifica dacă aveți toate variabilele necesare configurate corect.

Acum bucurați-vă de jocul Hangman în Morse!

Recomandat: