Differences

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

Link to this comparison view

pm:prj2026:alexandru.jipa2803:eusebiu.burtescu [2026/05/23 19:18]
eusebiu.burtescu [Concluzii]
pm:prj2026:alexandru.jipa2803:eusebiu.burtescu [2026/05/25 07:58] (current)
eusebiu.burtescu [Download]
Line 44: Line 44:
 | **D13** | PB5 (SCK) | Ecran TFT **SCL** / **SCK** | Semnalul de ceas (Clock) pentru sincronizarea SPI | | **D13** | PB5 (SCK) | Ecran TFT **SCL** / **SCK** | Semnalul de ceas (Clock) pentru sincronizarea SPI |
 | **A5** | PC5 | **Buzzer Pasiv** | Generare audio low-level pentru efecte si alerte | | **A5** | PC5 | **Buzzer Pasiv** | Generare audio low-level pentru efecte si alerte |
-| **5V / VCC** | VCC | Ecran TFT **VCC** | Alimentarea cu energie a ecranului |+| **5V / VCC** | VCC | Ecran TFT **VCC** | Alimentarea cu energie a ecranului ​(Unde e conectat si suportul de baterii)|
 | **GND** | GND | Ecran / Buzzer / Butoane | Masa comuna a intregului circuit electric | | **GND** | GND | Ecran / Buzzer / Butoane | Masa comuna a intregului circuit electric |
  
Line 51: Line 51:
  
 ==== Mediu de dezvoltare, librarii si surse ==== ==== Mediu de dezvoltare, librarii si surse ====
-Proiectul este scris in **PlatformIO (in VS Code)** cu compilerul standard *avr-gcc*. Singura librarie din exterior pe care am folosit-o este **Adafruit_ST7735** (impreuna cu *Adafruit_GFX*),​ strict ​ca sa ne ajute sa desenam chestii ​pe ecran. ​+Proiectul este scris in **PlatformIO (in VS Code)** cu compilerul standard *avr-gcc*. Singura librarie din exterior pe care am folosit-o este **Adafruit_ST7735** (impreuna cu *Adafruit_GFX*),​ strict ​pentru a desena ​pe ecran. ​
  
 Restul functiilor (partea de SPI, citirea butoanelor, debouncing-ul,​ sunetele si timpii) sunt facute de noi de la zero, **fara librarii**, umbland direct in registrii de pe ATmega328P. Restul functiilor (partea de SPI, citirea butoanelor, debouncing-ul,​ sunetele si timpii) sunt facute de noi de la zero, **fara librarii**, umbland direct in registrii de pe ATmega328P.
Line 94: Line 94:
   * **Timere:** **Timer0** este folosit pentru delay-uri precise prin polling (numara pasi de 4 microsecunde pentru buzzer si debouncing),​ iar **Timer2** genereaza baza de timp pentru cronometrul jocului.   * **Timere:** **Timer0** este folosit pentru delay-uri precise prin polling (numara pasi de 4 microsecunde pentru buzzer si debouncing),​ iar **Timer2** genereaza baza de timp pentru cronometrul jocului.
   * **Intreruperi:​** Am activat intreruperea de overflow pe **Timer2** (''​TIMER2_OVF_vect''​) pentru a scadea timpul la fiecare 1ms. Am facut asta ca sa nu avem operatii blocante in loop-ul principal, eliminand complet micro-lag-urile in timpul jocului.   * **Intreruperi:​** Am activat intreruperea de overflow pe **Timer2** (''​TIMER2_OVF_vect''​) pentru a scadea timpul la fiecare 1ms. Am facut asta ca sa nu avem operatii blocante in loop-ul principal, eliminand complet micro-lag-urile in timpul jocului.
-===== Rezultate ​Obţinute ​=====+===== Rezultate ​Obtinute ​=====
  
-Am obtinut un joc X si 0 functional, ​dupa cum se poate observa ​si din video ul mp4 din arhiva.+In urma testarii pe hardware, proiectul este 100% functional, ​aspect demonstrat ​si in clipul ​video (.mp4) atasat in arhiva. ​
  
 +Performantele obtinute:
 +  * **Grafica fluida:** Ecranul se randeaza instant datorita SPI-ului.
 +  * **Control fara lag:** Cursorul si meniurile raspund imediat la butoane, iar debouncing-ul elimina apasarile duble.
 +  * **Audio stabil:** Buzzerul scoate sunete clare pentru mutari, selectii, victorii sau erori.
 +  * **Timp precis:** Bara de 10 secunde scade uniform prin Timer2, schimband automat jucatorul la expirare fara sa inghete jocul.
 ===== Concluzii ===== ===== Concluzii =====
 In urma multor teste si incercari, proiectul a fost implementat cu succes, respectand toate functionalitatile din planul initial. Pe partea de dezvoltare am intampinat si probleme hardware specifice: am ars controllerul USB al unei placi de test si am reusit sa rup pinii unui buton de pe board (cel configurat initial pentru Start). Totusi in final am reusit sa ajung la ce mi-am propus. In urma multor teste si incercari, proiectul a fost implementat cu succes, respectand toate functionalitatile din planul initial. Pe partea de dezvoltare am intampinat si probleme hardware specifice: am ars controllerul USB al unei placi de test si am reusit sa rup pinii unui buton de pe board (cel configurat initial pentru Start). Totusi in final am reusit sa ajung la ce mi-am propus.
Line 105: Line 110:
 {{:​pm:​prj2026:​alexandru.jipa2803:​archive.zip|}} {{:​pm:​prj2026:​alexandru.jipa2803:​archive.zip|}}
  
-https://​github.com/​BurtescuEusebiu/​TicTacToe-+https://​github.com/​BurtescuEusebiu/​TicTacToePM
 ===== Jurnal ===== ===== Jurnal =====
  
pm/prj2026/alexandru.jipa2803/eusebiu.burtescu.1779553094.txt.gz · Last modified: 2026/05/23 19:18 by eusebiu.burtescu
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