This shows you the differences between two versions of the page.
|
pm:prj2026:vlad.radulescu2901:vlad.ungureanu1808 [2026/05/13 16:15] vlad.ungureanu1808 [Jurnal] |
pm:prj2026:vlad.radulescu2901:vlad.ungureanu1808 [2026/05/21 17:07] (current) vlad.ungureanu1808 [Bibliografie/Resurse] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 2048 ====== | + | ====== Log 2048 ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| Line 54: | Line 54: | ||
| Schema electrică: | Schema electrică: | ||
| - | {{:pm:prj2026:vlad.radulescu2901:uvm335ca_schemaelectrica.png?770|Schema Electrică}} | + | {{::pm:prj2026:vlad.radulescu2901:uvm335ca_schemaelectrica.png?770|Schema Electrică}} |
| Am folosit culori diferite pentru fire pentru a fi ușor de urmărit. | Am folosit culori diferite pentru fire pentru a fi ușor de urmărit. | ||
| Line 65: | Line 65: | ||
| * MOSI, MISO, SCLK - comunicarea prin SPI | * MOSI, MISO, SCLK - comunicarea prin SPI | ||
| * PB0 și PB1 - slave select pentru display, respectiv SD card | * PB0 și PB1 - slave select pentru display, respectiv SD card | ||
| + | * PD2 - butonul joystick-ului | ||
| * [[https://www.waveshare.com/datasheet/LCD_en_PDF/ST7920.pdf|Display LCD 128X64 ST7920]]: | * [[https://www.waveshare.com/datasheet/LCD_en_PDF/ST7920.pdf|Display LCD 128X64 ST7920]]: | ||
| * VCC și GND - pentru a asigra energie electică | * VCC și GND - pentru a asigra energie electică | ||
| Line 73: | Line 74: | ||
| * VCC și 5V - pentru a asigra energie electică | * VCC și 5V - pentru a asigra energie electică | ||
| * VRx și VRy - output-uri pentru direcția joystick-ului | * VRx și VRy - output-uri pentru direcția joystick-ului | ||
| + | * SW - buton | ||
| * Modulul cititor de carduri microSD, Elektroweb: | * Modulul cititor de carduri microSD, Elektroweb: | ||
| * VCC și GND - pentru a asigra energie electică | * VCC și GND - pentru a asigra energie electică | ||
| Line 89: | Line 91: | ||
| Ca mediu de dezvoltare, am folosit extensia PlatformIO pentru VS Code. | Ca mediu de dezvoltare, am folosit extensia PlatformIO pentru VS Code. | ||
| - | Am folosit librăria [[https://registry.platformio.org/libraries/olikraus/U8glib|U8glib]] pentru afișajul pe display. | + | Am folosit librăria [[https://elm-chan.org/fsw/ff/00index_p.html|Petit FAT File]] pentru interfațarea cu cardul microSD și scheletul din laboratorul 5 pentru comunicarea peste SPI cu display-ul și cardul microSD și pentru comunicarea prin USART. |
| + | |||
| + | Scheletul de bază (până acum): | ||
| + | - main - Se ocupă de inițializarea modulelor folosite (joystick, USART, timer, SPI, LCD, microSD) și cu bucla principală a jocului. Aici se stabilește în ce stare ne aflăm (joc propriu-zis, meniu etc) și se apelează funcțiile necesare. De asemenea, se citește și interpretează input-urile. | ||
| + | - timers - Inițializează timer 1 pentru a număra milisecundele care trec de la începutul jocului. Este implementarea mea pentru laboratorul 3 și nu a fost modificat încă. | ||
| + | - usart - Se ocupă de comunicarea cu laptop-ul prin USART. Luat din laboratorul 5. | ||
| + | - lcd - Inițializază și trimite comenzi către display prin SPI. Inispirat din laboratorul 5. De asemenea, asigură funcții pentru desenarea fiecărui eran necesar în joc. | ||
| + | - nameinput - Prezintă utilizatorului o modalitate de a-și salva numele. | ||
| + | - menu - Are variabile necesare printării ecranului principal. | ||
| + | - g2048 - Se ocupă de funcționalitatea jocului propriu-zis. | ||
| + | - spi - Inițializază SPI și asigură funcții pentru selectarea dispozitivelor prin SS. | ||
| + | - adc - Inițializază și citește ADC 0 și 1. | ||
| + | - memory - Asigură funcții de deschidere a fișierului de configurații pentru joc și pentru scrierea și citirea din el. | ||
| + | - pff - Petit FAT Filesystem | ||
| + | - sd - Asigură funcții folosie de pff pentru manipularea cardului microSD. Luat din laboratorul 5. | ||
| + | |||
| + | Pentru a asigura funcționalitatea corespunzătoare și pentru a determina valorile pentru parametrii joystick-ului, am testat manual. | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| Line 95: | Line 113: | ||
| Care au fost rezultatele obţinute în urma realizării proiectului vostru. | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
| </note> | </note> | ||
| + | |||
| + | [[https://www.youtube.com/shorts/rtlZVtM2Lys|Demo]] | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| Line 108: | Line 128: | ||
| [[https://github.com/V1ad8/PM-Fair|Link github]] | [[https://github.com/V1ad8/PM-Fair|Link github]] | ||
| + | {{:pm:prj2026:vlad.radulescu2901:uvm335ca_pm_fair.zip|Arhivă cu proiectul}} | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| Line 125: | Line 146: | ||
| </note> | </note> | ||
| + | {{:pm:prj2026:vlad.radulescu2901:uvm335ca_photo2.png?770|Poză cu proiectul 2}} | ||
| + | |||
| + | <note> | ||
| + | Proiectul la data de 21 mai. | ||
| + | |||
| + | Am adăugat cardul microSD, meniu prinipal și meniu pentru introdus un nume. | ||
| + | </note> | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| Line 132: | Line 160: | ||
| </note> | </note> | ||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | [[https://www.waveshare.com/datasheet/LCD_en_PDF/ST7920.pdf|Display LCD 128X64 ST7920]] |
| + | |||
| + | |||
| + | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||