Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:sgherman:joc_spanzuratoarea [2022/05/29 22:25]
cdragomir [Jurnal]
pm:prj2022:sgherman:joc_spanzuratoarea [2022/05/30 01:23] (current)
cdragomir [Mod de utilizare]
Line 36: Line 36:
  
 ==== Mod de utilizare ==== ==== Mod de utilizare ====
 +**Link prezentare**:​ [[https://​youtu.be/​mWP--dmayok]]
 +
 Pentru a introduce o anumita litera astfel incat aceasta sa fie afisata pe ecran se utilizeaza o tastatura 4x4, iar principiul de functionare Pentru a introduce o anumita litera astfel incat aceasta sa fie afisata pe ecran se utilizeaza o tastatura 4x4, iar principiul de functionare
 se bazeaza pe cel al unui telefon Nokia vechi. Prin apasarea repetata a unei taste, se pot selecta, spre exemplu, literele A, B, C. Ideea se poate se bazeaza pe cel al unui telefon Nokia vechi. Prin apasarea repetata a unei taste, se pot selecta, spre exemplu, literele A, B, C. Ideea se poate
Line 42: Line 44:
 {{:​pm:​prj2022:​sgherman:​pm_tastatura.jpg?​300|}} {{:​pm:​prj2022:​sgherman:​pm_tastatura.jpg?​300|}}
  
-<​note>​Taieturile cu rosu fac trimitere la faptul ca acele butoane nu sunt utilizare ​in cadrul acestui proiect</​note>​+<​note>​Taieturile cu rosu fac trimitere la faptul ca acele butoane nu sunt utilizate ​in cadrul acestui proiect</​note>​
  
 ===== Software Design ===== ===== Software Design =====
Line 62: Line 64:
 In partea de loop() ne utilizam de logica din spatele unei matrice de butoane. Fiecare rand este pus pe LOW pt a marca faptul ca acel rand este analizat spre a se vedea daca un anumit buton este apasat. La randul i setat pe LOW(in timp ce celelalte sunt setate pe HIGH) se citeste daca o coloana s-a trecut pe LOW in urma apasarii. Daca da, in functie de linie si coloana se calculeaza ce buton a fost apasat. Pentru a iesi din starea 0 a jocului (abia a fost pornit Arduino) sau 2 (un joc s-a terminat) trebuie apasat ENTER. Astfel, se trece in starea 1 sau 3, iar jocul practic incepe. Cand se apasa un buton diferit de ENTER se trece in selectLetter() unde counterul tuturor tastelor se trece la 0 insemnand ca la apasarea unei alte taste se incepe de la '​A'​. Daca se apasa aceeasi tasta ca cea anterioara se incrementeaza counterul unei taste, adica '​A'​ devine '​B',​ iar '​B'​ devine '​C',​ etc.. Cand se apasa tasta ENTER, avand o litera care se vrea a fi verificata se trece la functia letterSubmittedCases(). Aici, daca litera face parte din cuvant, se incrementeaza numarul de caractere ghicite din cuvant(var. globala), se va afisa un mesaj in acest sens si se va reda un efect sonor. De-asemenea,​ daca numarul de caractere ghicite e acelasi cu lungimea cuvantului jocul este castigat. Cam aceeasi logica, cumva negata, se aplica si atunci cand litera data spre verificare nu face parte din cuvant. La un nou joc, parametrii programului sunt resetati. In partea de loop() ne utilizam de logica din spatele unei matrice de butoane. Fiecare rand este pus pe LOW pt a marca faptul ca acel rand este analizat spre a se vedea daca un anumit buton este apasat. La randul i setat pe LOW(in timp ce celelalte sunt setate pe HIGH) se citeste daca o coloana s-a trecut pe LOW in urma apasarii. Daca da, in functie de linie si coloana se calculeaza ce buton a fost apasat. Pentru a iesi din starea 0 a jocului (abia a fost pornit Arduino) sau 2 (un joc s-a terminat) trebuie apasat ENTER. Astfel, se trece in starea 1 sau 3, iar jocul practic incepe. Cand se apasa un buton diferit de ENTER se trece in selectLetter() unde counterul tuturor tastelor se trece la 0 insemnand ca la apasarea unei alte taste se incepe de la '​A'​. Daca se apasa aceeasi tasta ca cea anterioara se incrementeaza counterul unei taste, adica '​A'​ devine '​B',​ iar '​B'​ devine '​C',​ etc.. Cand se apasa tasta ENTER, avand o litera care se vrea a fi verificata se trece la functia letterSubmittedCases(). Aici, daca litera face parte din cuvant, se incrementeaza numarul de caractere ghicite din cuvant(var. globala), se va afisa un mesaj in acest sens si se va reda un efect sonor. De-asemenea,​ daca numarul de caractere ghicite e acelasi cu lungimea cuvantului jocul este castigat. Cam aceeasi logica, cumva negata, se aplica si atunci cand litera data spre verificare nu face parte din cuvant. La un nou joc, parametrii programului sunt resetati.
 ===== Jurnal ===== ===== Jurnal =====
-<​note>​08.05.2022 Creare pagina wiki</​note>​ +<​note>​08.05.2022Creare pagina wiki\\  
-<​note>​27.05.2022 Editare pagina wiki pentru milestone 2</​note>​ +27.05.2022Editare pagina wiki pentru milestone 2</​note>​
-===== Bibliografie/​Resurse =====+
  
-[[https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf|Atmega328p datasheet]]+===== Concluzii ===== 
 +Acest proiect a avut un impact foarte mare asupra dezvoltarii mele pe plan tehnicAceasta imbinare intre hard si soft mi-a dat ocazia sa-mi pun la incercare expertiza si intuitia pentru a realiza un produs finitAm fost pus in postura de a lua multe decizii, incepand de la alegerea componentelor pana la functionalitatile ce aveau sa apara incet-incet in codul sursaRecomand ca toti viitorii studenti sa-si dea silinta, sa-si puna mintea la contributie cu acest proiect intrucat vor avea numai de castigat. 
 + 
 +===== Bibliografie/​Resurse =====
  
 +[[https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf|Atmega328p datasheet]]\\ ​
 +[[https://​circuitdigest.com/​microcontroller-projects/​arduino-8x8-led-matrix]]\\ ​
 +[[https://​www.optimusdigital.ro/​ro/​senzori-senzori-de-atingere/​2441-tastatura-matriceala-4x4-cu-butoane.html?​search_query=tastatura&​results=55]]\\ ​
 +[[https://​create.arduino.cc/​projecthub/​Arnov_Sharma_makes/​lcd-i2c-tutorial-664e5a]]\\ ​
 +[[https://​www.arduino.cc/​reference/​en/​language/​functions/​random-numbers/​random/​]]\\ ​
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2022/sgherman/joc_spanzuratoarea.1653852346.txt.gz · Last modified: 2022/05/29 22:25 by cdragomir
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0