This shows you the differences between two versions of the page.
pm:prj2024:ccontasel:matei.costescu [2024/05/25 19:19] matei.costescu [Jurnal] |
pm:prj2024:ccontasel:matei.costescu [2024/05/25 22:49] (current) matei.costescu [Descriere generală] |
||
---|---|---|---|
Line 12: | Line 12: | ||
{{:pm:prj2024:ccontasel:nim_schema_bloc.png?800|}} | {{:pm:prj2024:ccontasel:nim_schema_bloc.png?800|}} | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Concepte folosite: | ||
+ | * **GPIO** - Majoritatea proiectului afiseaza tot ce se intampla cu ajutorul matricei de LED-uri | ||
+ | * **Întreruperi** - Sunt folosite pentru toate apasariile de buton. | ||
+ | * **ADC** - Folosit la citirea input-urilor de pe joystick. | ||
+ | * **SPI** - Biblioteca LedControl transimite matricei de LED-uri pe interfata SPI | ||
+ | |||
+ | </note> | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 84: | Line 94: | ||
{{:pm:prj2024:ccontasel:nim_irl_v1.png?800|}} | {{:pm:prj2024:ccontasel:nim_irl_v1.png?800|}} | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=nsFfOQ_iH50|Demo]] | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | <note tip> | + | <note> |
Descrierea codului aplicaţiei (firmware): | Descrierea codului aplicaţiei (firmware): | ||
* mediu de dezvoltare: ArduinoIDE | * mediu de dezvoltare: ArduinoIDE | ||
Line 204: | Line 216: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Implementarea acestui proiect a dus la crearea unui joc complet funcțional pe o matrice de LED-uri, controlat printr-un joystick și un buton. Am reușit să gestionăm corect intrările analogice și digitale, să implementăm o logică de joc pentru două jucătoare și să integrăm un oponent CPU cu diferite niveluri de dificultate. Proiectul a demonstrat capacitatea de a utiliza biblioteca LedControl pentru a controla o matrice LED 8x8, de a debuga și testa eficient codul pentru a elimina erorile și de a crea o experiență interactivă de joc. Acest proiect a oferit o bază solidă pentru dezvoltarea unor proiecte mai complexe, implicând automatizarea și controlul hardware-ului prin programare. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Implementarea acestui proiect a implicat gestionarea intrărilor analogice și digitale, cum ar fi joystick-ul și butonul, pentru a controla jocul. De-a lungul procesului de dezvoltare, s-au întâlnit diverse erori și probleme, necesitând testare și depanare constantă pentru asigurarea funcționării corecte a codului. Cu toate acestea am obținut o introducere în crearea unui proiect folosind automatizările și cred că acum sunt pregătit să întâmpin proiecte și mai dificile. | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | <note tip> |
- | 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ă ;-). | + | ZIP cu proiectul: |
- | 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**. | + | {{:pm:prj2024:ccontasel:nim-game.zip|}} |
</note> | </note> | ||
Line 232: | Line 242: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | [[https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/|Guide intreruperi Arduino]] |
+ | |||
+ | [[https://docs.arduino.cc/resources/pinouts/A000057-full-pinout.pdf/|Datasheet Arduino Leonardo]] | ||
+ | |||
+ | [[https://projecthub.arduino.cc/mdraber/controlling-8x8-dot-matrix-with-max7219-and-arduino-0c417a|Guide Max7219 Matrice 8x8]] | ||
+ | |||
+ | [[https://microcontrollerelectronics.com/arduino-leonardo-and-spi-communications/| Guide folosit pentru conectarea corecta a pinilor la matrice]] | ||
</note> | </note> | ||