This shows you the differences between two versions of the page.
pm:prj2023:ncaroi:minigames [2023/05/21 19:36] george.zamfirescu [Hardware Design] |
pm:prj2023:ncaroi:minigames [2023/05/30 09:43] (current) george.zamfirescu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Sunt implementate mai multe jocuri mici ce vor fi afișate pe un mic ecran, precum tetris, snake, etc., în care sunt încorporați și senzori. | + | Sunt implementate două jocuri mici, în care sunt încorporați și senzori, ce vor fi afișate pe un mic ecran. |
- | Jucătorul alege la început ce joc să joace, când să iasă din el, și, în unele cazuri, dacă vrea să joace cu încă un jucător, în cazul în | + | Jucătorul alege la început ce joc să joace si când să iasă din el. Jucătorul are de ales între un platformer si jocul clasic snake. |
- | care este posibil asta pentru jocul selectat. [TO BE DETERMINED AND UPDATED] | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
{{:pm:prj2023:ncaroi:minigames_pm.png?800|}} | {{:pm:prj2023:ncaroi:minigames_pm.png?800|}} | ||
- | Jucătorul va interacționa cu ecranul prin intermediul a mai mulți senzori, a unor butoane, a unui joystick, iar pe baza rezultatelor | + | Jucătorul va interacționa cu ecranul prin intermediul a mai mulți senzori, a unor butoane, a unui joystick, iar un buzzer va cânta o mică melodie in continuu. |
- | din joc se pot aprinde diferite LED-uri, se pot produce sunete, etc. [TO BE DETERMINED AND UPDATED: ce jocuri mai exact sunt disponibile] | + | |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Piese ce sunt folosite: | Piese ce sunt folosite: | ||
Line 29: | Line 27: | ||
Conectarea plăcii la TFT LCD se va face cu ajutorul unui convertor de tensiune bidiercțional de la 5V la 3.3V. Schema este următoarea: | Conectarea plăcii la TFT LCD se va face cu ajutorul unui convertor de tensiune bidiercțional de la 5V la 3.3V. Schema este următoarea: | ||
- | {{:pm:prj2023:ncaroi:schema_hw_pm.png?800|}} | + | |
+ | {{:pm:prj2023:ncaroi:pm_hw_des.jpg?800|}} | ||
{{:pm:prj2023:ncaroi:20230521_193253.jpg?800|}} | {{:pm:prj2023:ncaroi:20230521_193253.jpg?800|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Pentru scrierea codului se folosește Arduino IDE, cu biblioteci specializate pentru unii senzori, TFT LCD, unii actuatori. [TO BE DETERMINED AND UPDATED: ce biblioteci sunt exact folosite] | + | Pentru scrierea codului se folosește Arduino IDE, cu biblioteci specializate pentru unii senzori si TFT LCD. |
+ | Mai precis se folosesc: | ||
+ | * Arduino.h | ||
+ | * SPI.h | ||
+ | * NewPing.h | ||
+ | * math.h | ||
+ | * TimerOne.h | ||
+ | * PinChangeInterrupt.h | ||
+ | * Ucglib.h | ||
+ | * XPT2046.h | ||
+ | Datorită limitărilor bibliotecii grafice, precum și a plăcii arduino uno, modificările se fac local (adică nu se schimbă întreg cadrul pentru următorul 'frame'). | ||
+ | Avem o funcție cu timer care, la momentul potrivit, cântă următoarea notă din cântecul ales. | ||
+ | Codul pentru cântecul propriu-zis a fost luat de la [[https://github.com/robsoncouto/arduino-songs|arduino-songs]]. | ||
+ | Pentru a putea stoca datele despre două jocuri folosim un 'union' cu două variabile de tip 'struct'. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | + | {{:pm:prj2023:ncaroi:20230530_064859.jpg?800|}} | |
- | [TO BE DETERMINED AND UPDATED: imagini si detalii legate de jocurile implementate] | + | {{:pm:prj2023:ncaroi:20230530_064856.jpg?800|}} |
- | + | {{:pm:prj2023:ncaroi:20230530_064849_1_.jpg?800|}} | |
- | <note tip> | + | |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | In ciuda faptului că arduino uno este o placă foarte neprietenoasă pentru dezvoltarea de aplicații grafice, datorită resurselor relativ limitate, acest proiect demonstrează că se pot crea in continuare mici joculețe pe ea, care pot aporta la experiența utilizatorului, atât timp cât există un ecran, putând face de asemenea, cu o largă varietate de senzori la dispoziție, lucruri pe care nici cele mai utilizate device-uri de gaming nu o fac la momentul actual, lăsând după părerea mea o ramură nu foarte explorata a jocurilor. | ||
===== Download ===== | ===== Download ===== | ||
- | <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ă ;-). | ||
- | |||
- | 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> | ||
+ | {{:pm:prj2023:ncaroi:pm_proiect.zip|}} | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | Resurse hardware: |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * datasheet-ul arduino |
- | </note> | + | * schemele pentru piese de pe site-urile de unde au fost achiziționate |
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | Resurse software: |
+ | * numeroase videoclipuri youtube despre senzori | ||
+ | * [[https://github.com/olikraus/ucglib/wiki/reference#clearscreen|documentația pentru biblioteca grafică]] | ||
+ | * [[https://github.com/robsoncouto/arduino-songs|arduino-songs]] | ||