Differences

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

Link to this comparison view

pm:prj2023:drtranca:whack_a_mole [2023/05/26 16:10]
miruna.voinea [Rezultate Obţinute]
pm:prj2023:drtranca:whack_a_mole [2023/05/29 10:23] (current)
miruna.voinea [Software Design]
Line 6: Line 6:
 ===== Introducere ===== ===== Introducere =====
  
-Proiectul are la bază faimosul joc Whack a mole: există mai găuri pe unde cârtițele pot scote capul, iar obiectivul jucătorului este de a le împiedica să iasă din ascunzătoare prin lovituri cu un ciocănel.+Proiectul are la bază faimosul joc Whack a mole: există mai multe găuri pe unde cârtițele pot scoate ​capul, iar obiectivul jucătorului este de a le împiedica să iasă din ascunzătoare prin lovituri cu un ciocănel.
  
   *Scopul proiectului este de a realiza un joc distractiv prin care să îmi pun în aplicare cunoștințele dobândite la PM.   *Scopul proiectului este de a realiza un joc distractiv prin care să îmi pun în aplicare cunoștințele dobândite la PM.
Line 64: Line 64:
 Am folosit timer1 pentru a controla intervalul de timp în care un LED este aprins, astfel încât atunci când timpul expiră, jucătorul să piardă o viață. Am folosit timer1 pentru a controla intervalul de timp în care un LED este aprins, astfel încât atunci când timpul expiră, jucătorul să piardă o viață.
  
-Atunci când se apasă un buton, se declanșează o întrerupere,​ butonul fiind identificat cu ajutorul funcției checkBit. Se verifică dacă butonul corespunde ultimului ​buton aprins: în caz afirmativ, scorul este incrementat,​ iar în caz negativ, jucătorul pierde o viață.+Atunci când se apasă un buton, se declanșează o întrerupere,​ butonul fiind identificat cu ajutorul funcției checkBit. Se verifică dacă butonul corespunde ultimului ​LED aprins: în caz afirmativ, scorul este incrementat,​ iar în caz contrar, jucătorul pierde o viață
 + 
 +Pentru a afișa scorul și numărul de vieți rămase, se folosește LCD-ul cu modul I2C.
  
 <note tip> <note tip>
Line 79: Line 81:
  
 {{ :​pm:​prj2023:​drtranca:​hardware_whack_a_mole.jpg?​600 }} {{ :​pm:​prj2023:​drtranca:​hardware_whack_a_mole.jpg?​600 }}
 +
 +
 +
 +
 +{{ :​pm:​prj2023:​drtranca:​whack_a_mole_joc.png?​600 }}
 +
 +
  
  
Line 88: Line 97:
  
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Sunt foarte mulțumită de rezultatele obținute deoarece am reușit să implementez exact ce mi-am propus.
 +
 +Întregul proiect a fost o experiență plăcută: m-a ajutat să înțeleg mai bine noțiunile explicate la laborator și chiar am descoperit că proiectele cu Arduino nu sunt atât de complicate pe cât credeam.
  
 ===== Download ===== ===== Download =====
 +
 +<note tip>
 +Codul sursă:
 +{{ :​pm:​prj2023:​drtranca:​code_whack_a_mole.zip }}
 +</​note>​
  
 <note warning> <note warning>
Line 104: Line 122:
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +
 +Pentru interacțiunea cu display-ul lcd, am folosit biblioteca LiquidCrystal_I2C.h preluată de pe
 +https://​www.optimusdigital.ro/​ro/​optoelectronice-lcd-uri/​2894-lcd-cu-interfata-i2c-si-backlight-albastru.html?​search_query=lcd+i2c&​results=18
 +
 +Pentru utilizarea întreruperilor:​
 +https://​forum.arduino.cc/​t/​multiple-hardware-interrupts-for-arduino-uno/​571974/​14
 +
 +Datasheet: https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf
  
 <​note>​ <​note>​
pm/prj2023/drtranca/whack_a_mole.1685106606.txt.gz · Last modified: 2023/05/26 16:10 by miruna.voinea
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