Differences

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

Link to this comparison view

pm:prj2024:mdinica:gabriela.petrache [2024/05/16 16:22]
gabriela.petrache [Hardware Design]
pm:prj2024:mdinica:gabriela.petrache [2024/05/26 21:59] (current)
gabriela.petrache [Download]
Line 16: Line 16:
 Listă de piese: Listă de piese:
   * Modul microcontroler universal Arduino Uno R3   * Modul microcontroler universal Arduino Uno R3
-  * Afișaj grafic ​240x240px+  * Afișaj grafic ​128x160px
   * Modul Joystick   * Modul Joystick
   * Modul cu buton   * Modul cu buton
   * Buzzer pasiv   * Buzzer pasiv
-  * Translator de tensiune+
  
  
Line 27: Line 27:
 **Schematica proiectului** **Schematica proiectului**
  
-{{:​pm:​prj2024:​mdinica:​hw2048.png?900|}}+{{:​pm:​prj2024:​mdinica:​2048_sch.png?700|}} 
 + 
 +{{:​pm:​prj2024:​mdinica:​2048_hww.png?​500|}}
 ===== Software Design ===== ===== Software Design =====
  
Line 33: Line 35:
 <note tip> <note tip>
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR) +  * mediu de dezvoltare: platform.io 
-  * librării şi surse 3rd-party ​(e.g. Procyon AVRlib) +  * librării şi surse 3rd-party: Bibliotecile Adafruit_GFX,​ Adafruit_ST7735
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate+
 </​note>​ </​note>​
  
 +** Descrierea functiilor implementate **
 +  * **setup()**:​ Funcție specială în Arduino care este apelată o singură dată la pornirea plăcii pentru a inițializa ecranul și matricea de joc.
 +
 +  * **loop()**: Funcție specială în Arduino care este apelată în mod repetat după ce setup() se termină, este folosită pentru a gestiona logica jocului și a actualiza ecranul.
 +
 +  * **initializeGrid()**:​ Funcție care inițializează matricea de joc.
 +
 +  * **addRandomTile()**:​ Funcție care adaugă o nouă "​plăcuță"​ într-o poziție aleatoare pe tabla de joc. O nouă plăcuță cu valoarea 2 sau 4 este adăugată într-o poziție aleatoare după fiecare mutare, cu probabilitate de 90%, respectiv 10%.
 +
 +  * **drawGrid()**:​ Funcție care desenează grila de joc pe ecranul TFT.
 +
 +  * **drawTile(int x, int y, int value)**: Funcție care desenează o "​plăcuță"​ cu o anumită valoare într-o anumită poziție pe grila de joc.
 +
 +  * **moveLeft()/​moveRight()/​moveUp()/​moveDown()**:​ Funcții care mută toate "​plăcuțele"​ de pe grila de joc la direcția specificată,​ conform regulilor jocului.
 +  * **bool isGameOver()**:​ Funcție care verifică dacă s-a terminat jocul, adică dacă nu mai sunt mutări posibile.
 +  * **void drawGameOverScreen()**:​ Funcție care desenează ecranul de game over și face buzzer-ul să scoată un sunet.
 + 
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+[[https://​youtu.be/​jBrJPpIRGsY|Videoclip Demo]] 
 + 
 +[[https://​github.com/​gabrielapetrache/​Jocul-2048/​tree/​main | Repository Github]]
 </​note>​ </​note>​
  
 ===== Concluzii ===== ===== Concluzii =====
 +În concluzie, acest proiect a fost o modalitate excelentă de a învăța și de a aplica cunoștințele despre programare, hardware și interacțiunea utilizatorului într-un mediu practic și distractiv.
 ===== Download ===== ===== Download =====
  
 <note warning> <note warning>
-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ă ;-). +{{:pm:prj2024:mdinica:2048_game.zip|}}
- +
-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**.+
 </​note>​ </​note>​
  
Line 61: Line 78:
     * - **4 mai** - introducere + componente     * - **4 mai** - introducere + componente
   *   - **16 mai** - hardware design   *   - **16 mai** - hardware design
 +  * - **26 mai** - finalizare proiect
 </​note>​ </​note>​
- 
-===== Bibliografie/​Resurse ===== 
- 
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​note>​ 
- 
-<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ 
  
  
pm/prj2024/mdinica/gabriela.petrache.1715865725.txt.gz · Last modified: 2024/05/16 16:22 by gabriela.petrache
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