This shows you the differences between two versions of the page.
pm:prj2025:atoader:andrei_silviu.voicu [2025/05/27 23:01] andrei_silviu.voicu |
pm:prj2025:atoader:andrei_silviu.voicu [2025/05/28 14:04] (current) andrei_silviu.voicu [Software Design] |
||
---|---|---|---|
Line 82: | Line 82: | ||
Funcțiile implementate sunt separate clar pe module, urmărind o arhitectură clară și reutilizabilă. | Funcțiile implementate sunt separate clar pe module, urmărind o arhitectură clară și reutilizabilă. | ||
- | **Link GitHub:** https://github.com/andreiv03/snake-game | + | **Link GitHub:** |
+ | |||
+ | https://github.com/andreiv03/snake-game | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | **Video demonstrativ:** |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | https://www.youtube.com/shorts/aLnb0Cn6LsI |
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | Proiectul "Snake Game pe Arduino" demonstrează modul în care conceptele fundamentale de interfațare hardware pot fi aplicate într-un context practic și intuitiv. Prin îmbinarea I2C, SPI, PWM și timere hardware, am reușit să dezvolt un sistem embedded interactiv, modular și extensibil, care combină logica jocului clasic Snake cu funcționalități moderne precum salvarea scorurilor, afișaj grafic și feedback vizual. |
+ | |||
+ | În urma realizării acestui proiect: | ||
- | <note warning> | + | * Am aprofundat lucrul cu magistralele I2C și SPI, învățând cum să integrez mai multe module pe aceleași magistrale fără conflicte. |
- | 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ă ;-). | + | * Am utilizat eficient timerul hardware millis() pentru controlul timpului de joc și pentru debounce-ul butoanelor. |
+ | * Am structurat codul pe module independente, ceea ce facilitează mentenanța și extinderea proiectului. | ||
+ | * Am înțeles limitările resurselor hardware (RAM, pini, conflicte de biblioteci) și am luat decizii tehnice pentru optimizarea funcționării sistemului. | ||
- | 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**. | + | Pe viitor, proiectul poate fi extins cu: |
- | </note> | + | |
+ | * Implementarea unui sistem de scoruri bazat pe nume introduse de utilizator. | ||
+ | * Integrarea unui buzzer pentru feedback sonor. | ||
+ | * Posibilitatea de a selecta mai multe niveluri de dificultate. | ||
+ | * Migrarea către un microcontroler cu mai multă memorie pentru suport extins de funcționalități. | ||
+ | În concluzie, acest proiect nu este doar un joc recreativ, ci și un cadru educațional valoros pentru învățarea dezvoltării sistemelor embedded. A oferit o platformă ideală pentru consolidarea cunoștințelor teoretice prin practică, dovedindu-se util atât pentru începători, cât și pentru cei care doresc să experimenteze interacțiunea complexă dintre software și hardware. |