Differences

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

Link to this comparison view

pm:prj2023:apredescu:memorygame [2023/05/18 19:12]
mihai.volintiru [Hardware Design]
pm:prj2023:apredescu:memorygame [2023/05/28 23:05] (current)
mihai.volintiru [Jurnal]
Line 23: Line 23:
   * LED-uri   * LED-uri
   * rezistente (220Ω, respectiv 1kΩ)   * rezistente (220Ω, respectiv 1kΩ)
-  *  +  * modul I2C 
-{{:​pm:​prj2023:​apredescu:​imagine_circuit_corect_volintiru.jpeg?​200|}}+{{:​pm:​prj2023:​apredescu:​imagine_circuit_corect_volintiru.jpeg?​500|}} 
 +{{:​pm:​prj2023:​apredescu:​volintiru_poza1.jpeg?​400|}} 
 +{{:​pm:​prj2023:​apredescu:​volintiru_poza2.jpeg?​400|}}
 </​note>​ </​note>​
  
Line 31: Line 33:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei ​(firmware): +Pentru partea de software am folosit bibliotecile Wire.h si LiquidCrystal_I2C.h pentru a afisa output-ul pe ecranul LCD. \\ 
-  + 
 +In functia **setup** am initializat LED-urile, nivelul de dificultate al jocului de la care se porneste, ecranul LCD, buzzerul si intreruperile pentru timer. \\ 
 + 
 +In functia **loop** verific constant daca jocul s-a terminat sau nu (daca player-ul a gresit secventa sau nu). In cazul in care s-a terminat, afisez un mesaj care sa instiinteze jucatorul de acest lucru, urmand ca dupa aceea jocul sa o ia de la capat, incepand de la nivelul cel mai usor. In caz contrar, se genereaza o secventa utilizand functia **generateSequence**,​ mai apoi secventa este aratata prin aprinderea LED-urilor corespunzatoare prin functia **showLEDSequence**,​ urmand ca in final, playerul sa vina cu input-ul pentru a reproduce secventa in exactitate, lucru care se observa in functia **getPlayerInput**. \\ 
 + 
 +Functia **getPlayerInput** se foloseste de ADC pentru a citi inputul de la fotorezistori ​(daca playerul tine degetul deasupra unui fotorezistor e ca si cum el ar apasa pe un "​buton"​). Daca input-ul este corect, jocul merge mai departe, cu un nivel de dificultate mai greu, adica o secventa mai mare de LED-uri care o sa se aprinda. In caz contrar, jocul se termina, iar jucatorul este instiintat de acest lucru cu un mesaj sugestiv pe ecranul LCD si cu o atentionare audio din partea buzzer-ului. \\ 
 + 
 </​note>​ </​note>​
  
Line 38: Line 46:
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Rezultatele obtinute ​au fost cele la care ma asteptam. Jocul are rolul de a stimula memoria si de a aduce in prim plan o nevoie de baza, anume nevoia unei memorii antrenate, a unei "baze de date" bine pusa la punct care ne poate scoate din situatii dificile si ne poate imbunatati stilul de vaita.
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +<​note>​ 
 +In concluzie, consider ca proiectul a fost foarte fun de facut, foarte interesant sa lucrezi "hands on" cu componente hardware si ulterior sa lucrez si la software.  
 +</​note>​
 ===== Download ===== ===== Download =====
  
-<​note ​warning+<​note>​ 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +Codul necesar rularii aplicatiei\\ 
- +{{:pm:prj2023:apredescu:cod_proiect_pm_volintiru.txt|}}
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**.+
 </​note>​ </​note>​
  
Line 55: Line 64:
 <note tip> <note tip>
 07.05.2023 - Creat pagina wiki.\\ ​ 07.05.2023 - Creat pagina wiki.\\ ​
-15.05.2023 - Adaugat schema circuit Thinkercad.+15.05.2023 - Adaugat schema circuit Thinkercad. ​\\ 
 +18.05.2023 - Adaugat poza cu schema fizica a proiectului. \\ 
 +28.05.2024 - Adaugat informatii despre software si codul sursa al aplicatiei. \\
 </​note>​ </​note>​
  
Line 61: Line 72:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+Pentru implementarea timer-ului: **Laboratorul 3: Timere. PWM** \\ 
 +Pentru convertirea inputului provenit de la fotorezistori: ​**Laboratorul 4: ADC** \\ 
 +Pentru folosirea LCD-ului: **Laboratorul 6: I2C** \\ 
 </​note>​ </​note>​
  
 <​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/prj2023/apredescu/memorygame.1684426356.txt.gz · Last modified: 2023/05/18 19:12 by mihai.volintiru
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