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 15:56]
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 21: Line 21:
 Exemplu de schemă bloc: http://​www.robs-projects.com/​mp3proj/​newplayer.html Exemplu de schemă bloc: http://​www.robs-projects.com/​mp3proj/​newplayer.html
 </​note>​ </​note>​
-{{:​pm:​prj2026:​vlad.radulescu2901:​schema_bloc_ungureanu_vlad-marin_335ca.png?​780|Schema bloc 2048}}+{{:​pm:​prj2026:​vlad.radulescu2901:​schema_bloc_ungureanu_vlad-marin_335ca.png?​770|Schema bloc 2048}}
  
  
Line 51: Line 51:
   * Card de memorie MediaRange micro SDHC 8Gb clasa 10   * Card de memorie MediaRange micro SDHC 8Gb clasa 10
   * Modulul cititor de carduri microSD, Elektroweb   * Modulul cititor de carduri microSD, Elektroweb
-  * Potentiometru rotativ, 10kΩ, mono, SR PASSIVES, R16148-1A-2-B10K,​ T201743 
  
 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:
 +
 +  * ATmega328P Xplained Mini:
 +    * 5V și GND - pentru a asigura energie electrică celorlalte componente
 +    * PC0 și PC1 - ADC-uri pentru inut-ul de la joystick
 +    * MOSI, MISO, SCLK - comunicarea prin SPI
 +    * 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]]:
 +    * VCC și GND - pentru a asigra energie electică
 +    * RS, R/W și E - echivalentele SS, MOSI și SCLK, folosite pentru comunicarea peste SPI
 +    * PSB - setează display-ul în modul de SPI
 +    * BLA și BLK - setează gradul de luminozitate al ecranului
 +  * Controler joystick KY-023:
 +    * VCC și 5V - pentru a asigra energie electică
 +    * VRx și VRy - output-uri pentru direcția joystick-ului
 +    * SW - buton
 +  * Modulul cititor de carduri microSD, Elektroweb:
 +    * VCC și GND - pentru a asigra energie electică
 +    * CS, MOSI, MISO și SCLK - folosite pentru comunicarea peste SPI
 ===== Software Design ===== ===== Software Design =====
  
Line 70: 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 76: 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 89: 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 97: 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 104: 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.1778677006.txt.gz · Last modified: 2026/05/13 15:56 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