Differences

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

Link to this comparison view

pm:prj2024:apredescu:vodoiu.antonia [2024/05/05 22:16]
antonia.vodoiu created
pm:prj2024:apredescu:vodoiu.antonia [2024/05/27 11:53] (current)
antonia.vodoiu
Line 9: Line 9:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip>+
 Jocul incepe cu aprinderea unui LED si buzzer-ul emite un sunet corespunzator. Apoi, jucatorul trebuie sa apese butonul corespunzator LED-ului activat. Pe masura ce jocul avanseaza, se adauga noi LED-uri in secventa, iar jucatorul trebuie sa recreeze secventa. Pe display va fi afisat scorul, fiecare secventa corecta marind scorul cu 1.  Jocul incepe cu aprinderea unui LED si buzzer-ul emite un sunet corespunzator. Apoi, jucatorul trebuie sa apese butonul corespunzator LED-ului activat. Pe masura ce jocul avanseaza, se adauga noi LED-uri in secventa, iar jucatorul trebuie sa recreeze secventa. Pe display va fi afisat scorul, fiecare secventa corecta marind scorul cu 1. 
 Jocul se termina fie cand jucatorul reuseste sa completeze o secventa de 10 LED-uri, fie cand jucatorul greseste. Daca jucatorul completeaza corect toate secventele, pe display va fi afisat un mesaj ce arata castigul, urmat de aprinderea rapida a tuturor LED-urilor si o melodie la buzzer. Daca jucatorul greseste, buzzer-ul va reda un ton grav iar LED-urile se vor aprinde de doua ori. Jocul se termina fie cand jucatorul reuseste sa completeze o secventa de 10 LED-uri, fie cand jucatorul greseste. Daca jucatorul completeaza corect toate secventele, pe display va fi afisat un mesaj ce arata castigul, urmat de aprinderea rapida a tuturor LED-urilor si o melodie la buzzer. Daca jucatorul greseste, buzzer-ul va reda un ton grav iar LED-urile se vor aprinde de doua ori.
-</​note>​ 
  
 +{{:​pm:​prj2024:​apredescu:​img_1928.jpg?​nolink&​300|}}
 ===== Hardware Design ===== ===== Hardware Design =====
  
Line 26: Line 26:
   *  cabluri jumper   *  cabluri jumper
   *  breadboard   *  breadboard
 +{{:​pm:​prj2024:​apredescu:​schema_electrica.jpg?​nolink&​300|}}
 +//Schema electrica//
 +===== Software Design =====
  
  
-===== Software Design ===== 
  
 +Pentru acest proiect, am folosit Arduino IDE. Am folosit bibliotecile "​Wire.h"​ pentru comunicarea I2C si "​LiquidCrystal_I2.hC",​ pentru ecranul LCD. 
 +
 +Am implementat functia playTone() care este o functie de redare a tonurilor si genereaza un ton de o anumita frecventa si durata.
 +
 +Functia setup() initializeaza LCD-ul, pinii si genereaza un seed pentru numerele aleatorii ce vor fi folosite in continuare. Seed-ul este setat la valoarea analogica citita de la pinul 0, care nu este conectat la nimic, deci valoarea citita va varia de fiecare data din cauza zgomotului electric.
 +
 +Functia loop() este responsabila pentru logica principala a jocului. Are mai multe parti: initializarea unui joc nou, afisarea secventei de LED-uri, detectarea inputului de la jucator si verificarea,​ gestionarea castigurilor si pierderilor.
  
-<note tip> 
-Descrierea codului aplicaţiei (firmware): 
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi 
-  * (etapa 3) surse şi funcţii implementate 
-</​note>​ 
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Am implementat jocul cu succes. LED-urile se aprind corect, buzzer-ul emite tonuri diferite asociate cu fiecare LED. 
 + 
 +Scorul jucatorului este afisat corect pe ecranul LCD. De fiecare data cand jucatorul completeaza o secventa corecta, scorul este incrementat si afisat pe ecran. La sfarsitul jocului, este afisat mesajul corespunzator castigului/​pierderii. 
 + 
 +LED-urile se aprind in secvente tot mai complexe. In cazul unei greseli, buzzer-ul reda un ton grav si toate LED-urile se aprind pentru a semnala pierderea. Jocul se reseteaza automat. 
 + 
 +Daca jucatorul reuseste sa completeze 10 secvente corect, buzzer-ul reda o melodie de victorie si toate LED-urile se aprind rapid. 
 + 
 +Am testat LED-urile pentru a ma asigura ca se aprind si sting corespunzator. La fel si pentru buzzer.
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +Acest proiect a fost o experienta foarte placuta si interesanta pentru mine. Am reusit sa aplic ce invatasem la laboratoare si mi-am dezvoltat o intelegere mai profunda a componentelor hardware si a progamarii unui astfel de joc. 
 +Cea mai satisfacatoare parte a fost sa vad cum incet incet proiectul meu prindea viata. Mai intai LED-urile se aprindeau in secvente corecte, buzzer-ul emitea tonuri potrivite si scorul era afisat pe LCD. 
 +Acest proiect mi-a amintit si de bucuria pe care o simteam in copilarie cand jucam jocuri similare. A fost o adevarata aventura sa implementez un joc pe care doar il jucasem cu multi ani in urma.
 ===== Download ===== ===== Download =====
  
 <note warning> <note warning>
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +{{:pm:prj2024:apredescu:proiect_pm.zip|}}
- +
-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 64: Line 74:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**.+https://​github.com/​fdebrabander/​Arduino-LiquidCrystal-I2C-library 
 + 
 +https://​randomnerdtutorials.com/​projects-arduino/​
 </​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/prj2024/apredescu/vodoiu.antonia.1714936574.txt.gz · Last modified: 2024/05/05 22:16 by antonia.vodoiu
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