Differences

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

Link to this comparison view

pm:prj2026:vlad.radulescu2901:vlad.ungureanu1808 [2026/05/13 16:05]
vlad.ungureanu1808 [Hardware Design]
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 următorii pini: Am folosit următorii pini:
Line 63: 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 71: 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 87: 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 93: 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 106: 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 114: Line 137:
 {{:​pm:​prj2026:​vlad.radulescu2901:​uvm335ca_photo.png?​770|Poză cu proiectul}} {{:​pm:​prj2026:​vlad.radulescu2901:​uvm335ca_photo.png?​770|Poză cu proiectul}}
  
 +
 +<​note>​
 Proiectul la data de 13 mai. Proiectul la data de 13 mai.
 +
 +Din această poză se poate observa funcționalitatea ecranului și cum arată jocul.
 +
 +În plus, se pot combina blocuri folosind input direcțional de la joystick și la un interval regulat, va apărea un nou bloc în joc, însă aceste funcționalități sunt greu de surprins.
 +</​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 121: 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>​
pm/prj2026/vlad.radulescu2901/vlad.ungureanu1808.1778677522.txt.gz · Last modified: 2026/05/13 16:05 by vlad.ungureanu1808
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