Differences

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

Link to this comparison view

pm:prj2023:avaduva:maze_game [2023/05/08 00:26]
mihaela.dusa created
pm:prj2023:avaduva:maze_game [2023/05/31 16:19] (current)
mihaela.dusa [Rezultate Obţinute]
Line 8: Line 8:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Pentru afișarea labirintului se folosește o matrice de LED-uri 8x8, în timp ce jucătorul ​este reprezentat printr-un led ce luminează intermitent. Direcția de mișcare ​a jucătorului ​poate fi controlată cu ajutorul ​a 4 butoane. Jocul are mai multe nivelefiecare ​nivel trebuie trecut într-un anumit interval de timp. Atât nivelul, cât știmpul rămas ​sunt afișate pe LCD. Sfârșitul fiecărui nivel este însoțit de un sunet al buzzer-ului. Dacă jucătorul nu a reușit sa găsească ieșirea în timpul acordat, jocul se resetează. +Pentru afișarea labirintului se folosește o matrice de LED-uri 8x8, în timp ce punctul de start este reprezentat printr-un led, care luminează intermitent. Direcția de mișcare, în interiorul labirintului, ​poate fi controlată cu ajutorul ​unui joystick. Începutul jocului este redat printr-un mesaj și numărătoare inversă, care se afișează atât pe LCD, cât și pe matricea de LED-uri. Jocul are mai multe nivele ​și fiecare trebuie trecut într-un anumit interval de timp. Pe LCD sunt afișate timpul rămas, nivelul trecut, dar și diverse mesaje. Sfârșitul fiecărui nivel, indiferent dacă a fost trecut sau eșuat, ​este însoțit de un sunet al buzzer-ului ​și o imagine. Dacă ai trecut ​și de ultimul level, ești cool ;-).
 === Schema bloc === === Schema bloc ===
  
-{{:pm:prj2023:avaduva:​maze_schema_bloc.png}}+<​html>​ 
 +    <img 
 +        style="​width100%"​ 
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/avaduva/​maze_schemabloc.png
 +    /> 
 +</​html>​
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 20: Line 24:
   * Arduino Uno   * Arduino Uno
   * Modul Matrice LED 8×8   * Modul Matrice LED 8×8
-  * Modul LCD 1602 +  * LCD 1602 
-  * 4x Butoane+  * Modul Joystick
   * Buzzer   * Buzzer
   * Rezistori   * Rezistori
   * Fire   * Fire
  
-===== Software Design =====+=== Diagrama hardware ​===
  
 +<​html>​
 +    <img
 +        style="​width:​ 100%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​diagrama_maze.jpg"​
 +    />
 +</​html>​
  
-<note tip> +=== Circuitul fizic ===
-Descrierea codului aplicaţiei (firmware):​ +
-  * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) +
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib) +
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3) surse şi funcţii implementate +
-</​note>​+
  
 +<​html>​
 +    <img
 +        style="​width:​ 100%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​circuit_fizic_maze.jpg"​
 +    />
 +</​html>​
 +
 +===== Software Design =====
 +
 +   - Ca mediu de dezvoltare pentru crearea jocului am folosit Arduino IDE.
 +   - Librăriile utilizate sunt <​LedControl.h>​ și <​LiquidCrystal.h>​ pentru a putea controla modulul cu matricea de LED-uri, respectiv LCD-ul.
 +   - Funcțiile care le-am implementat sunt:
 +       * playerMove() - determină direcția de deplasare în cadrul labirintului
 +       * setup() - inițializează jocul
 +       * loop() - implementează logica jocului
 +       * printByte() - afișează pe matrice imaginile declarate
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Rezultatul ​obținut este un mini-joc de tip labirint cu toate funcționalitățile menționate în descriere.
-Care au fost rezultatele ​obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 +<​html>​
 +    <img
 +        style="​width:​ 32%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​maze_start.jpg?​w=120&​h=120&​t=1685538636&​tok=bfb918"​
 +    />
 +    <img
 +        style="​width:​ 32%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​maze_lvl.jpg?​w=120&​h=120&​t=1685538635&​tok=0bee21"​
 +    />
 +    <img
 +        style="​width:​ 32%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​maze_fail.jpg?​w=120&​h=120&​t=1685538635&​tok=1c7e8f"​
 +    />
 +    <​center>​
 +    <img
 +        style="​width:​ 33%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​maze_pass.jpg?​w=120&​h=120&​t=1685538634&​tok=34f906"​
 +    />
 +    <img
 +        style="​width:​ 33%"
 +        src="​https://​ocw.cs.pub.ro/​courses/​_media/​pm/​prj2023/​avaduva/​maze_finish.jpg?​w=120&​h=120&​t=1685538635&​tok=91528e"​
 +    />
 +    </​center>​
 +</​html>​
 ===== Concluzii ===== ===== Concluzii =====
 +
 +Acest proiect a fost o provocare destul de plăcută pentru mine (mai puțin partea în care îl băgam în cutie). Mi-a fost interesant să lucrez la partea de hardware. Am învățat cât de importantă este rezistența pentru LCD :-D.
  
 ===== Download ===== ===== Download =====
  
-<note warning>​ +Codul jocului{{:pm:prj2023:avaduva:mazegame.zip|}}.
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectuluisurse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). +
- +
-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>​ +
- +
-===== Jurnal =====+
  
-<note tip> 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. 
-</​note>​ 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * [[https://​docs.arduino.cc/​learn/​electronics/​lcd-displays]] 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  ​[[https://​docs.arduino.cc/​built-in-examples/​usb/​JoystickMouseControl]] 
-</note>+  * [[https://​randomnerdtutorials.com/​guide-for-8x8-dot-matrix-max7219-with-arduino-pong-game/]]
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
pm/prj2023/avaduva/maze_game.1683494818.txt.gz · Last modified: 2023/05/08 00:26 by mihaela.dusa
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