Differences

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

Link to this comparison view

pm:prj2022:ndrogeanu:consola [2022/05/29 20:33]
george.pasca [Software Design]
pm:prj2022:ndrogeanu:consola [2022/05/29 20:59] (current)
george.pasca [Concluzii]
Line 28: Line 28:
   * 1 senzor de gesturi ​   * 1 senzor de gesturi ​
 {{ :​pm:​prj2022:​ndrogeanu:​console_sch.png?​nolink&​700 |}} {{ :​pm:​prj2022:​ndrogeanu:​console_sch.png?​nolink&​700 |}}
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
 ===== Software Design ===== ===== Software Design =====
 Bibliotecile auxiliare/​3rd-party folosite in dezvoltarea proiectului sunt Adafruit_GFX.h si Adafruit_PCD8544 pentru ecranul Nokia 5510 si Arduino_APDS9960.h pentru senzorul de gesturi APDS9960. Am inclus, de asemenea, o parte a codului in fisierul graphics.h, care contine unele define-uri si cateva bitmap-uri, folosite drept grafica pentru jocuri. Pentru a modulariza diferitele functionalitati ale proiectului,​ am implementat design pattern-ul State (clasa Game si mostenitorii ei), care contine 3 metode necesare implementarii:​ getInput(), care citeste inputul (joystick, buton, senzor), update(), care realizeaza schimbari pe obiectele jocului respectiv, in functie de input/timp si draw(), care randeaza jocul pe ecranul LCD. Exista si clasa Console, care contine starea actuala (jocul) si cele 3 metode enumerate anterior, care sunt apelate in aceeasi ordine in loop(). Bibliotecile auxiliare/​3rd-party folosite in dezvoltarea proiectului sunt Adafruit_GFX.h si Adafruit_PCD8544 pentru ecranul Nokia 5510 si Arduino_APDS9960.h pentru senzorul de gesturi APDS9960. Am inclus, de asemenea, o parte a codului in fisierul graphics.h, care contine unele define-uri si cateva bitmap-uri, folosite drept grafica pentru jocuri. Pentru a modulariza diferitele functionalitati ale proiectului,​ am implementat design pattern-ul State (clasa Game si mostenitorii ei), care contine 3 metode necesare implementarii:​ getInput(), care citeste inputul (joystick, buton, senzor), update(), care realizeaza schimbari pe obiectele jocului respectiv, in functie de input/timp si draw(), care randeaza jocul pe ecranul LCD. Exista si clasa Console, care contine starea actuala (jocul) si cele 3 metode enumerate anterior, care sunt apelate in aceeasi ordine in loop().
Line 41: Line 34:
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +[[https://​youtu.be/​-vV1vTL9GHw|Demo video]]
 <note tip> <note tip>
 Care au fost rezultatele obţinute în urma realizării proiectului vostru. Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Line 47: Line 40:
  
 ===== Concluzii ===== ===== Concluzii =====
 +Pot spune ca a fost un proiect interesant, unic fata de restul temelor, care m-a ajutat sa invat si ceva mai tehnic, cum ar fi lipitul firelor. Din punct de vedere al hardware-ului,​ proiectul nu este complicat, insa in privinta software-ului pot spune ca cea mai dificila problema cu care m-am confruntat a fost management-ul memoriei.
 ===== Download ===== ===== Download =====
 Cod sursa: {{:​pm:​prj2022:​ndrogeanu:​pascageorgealexandru_336cc.zip|Console}} Cod sursa: {{:​pm:​prj2022:​ndrogeanu:​pascageorgealexandru_336cc.zip|Console}}
  
-===== Jurnal ===== 
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2022/ndrogeanu/consola.1653845614.txt.gz · Last modified: 2022/05/29 20:33 by george.pasca
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