This shows you the differences between two versions of the page.
pm:prj2023:ncaroi:minigames [2023/05/30 09:36] george.zamfirescu [Download] |
pm:prj2023:ncaroi:minigames [2023/05/30 09:43] (current) george.zamfirescu [Bibliografie/Resurse] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Sunt implementate mai doua jocuri mici, în care sunt încorporați și senzori, ce vor fi afișate pe un mic ecran. | + | 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 si când să iasă din el. Jucatorul are de ales intre un platformer si jocul clasic snake. | + | 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. |
===== 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 un buzzer va canta o mica melodie in continuu. | + | 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. |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Piese ce sunt folosite: | Piese ce sunt folosite: | ||
Line 27: | 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:pm_hw_des.jpg?800|}} | {{:pm:prj2023:ncaroi:pm_hw_des.jpg?800|}} | ||
{{:pm:prj2023:ncaroi:20230521_193253.jpg?800|}} | {{:pm:prj2023:ncaroi:20230521_193253.jpg?800|}} | ||
Line 33: | Line 34: | ||
Pentru scrierea codului se folosește Arduino IDE, cu biblioteci specializate pentru unii senzori si TFT LCD. | Pentru scrierea codului se folosește Arduino IDE, cu biblioteci specializate pentru unii senzori si TFT LCD. | ||
Mai precis se folosesc: | Mai precis se folosesc: | ||
- | * #include <Arduino.h> | + | * Arduino.h |
- | * #include <SPI.h> | + | * SPI.h |
- | * #include <NewPing.h> | + | * NewPing.h |
- | * #include <math.h> | + | * math.h |
- | * #include <TimerOne.h> | + | * TimerOne.h |
- | * #include <PinChangeInterrupt.h> | + | * PinChangeInterrupt.h |
- | * #include <Ucglib.h> | + | * Ucglib.h |
- | * #include <XPT2046.h> | + | * XPT2046.h |
- | Datorita limitarilor bibliotecii grafice precum si a placii arduino uno, modificarile se fac local (adica nu se schimba intreg cadrul pentru urmatorul frame). | + | 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 functie cu timer care la momentul potrivit canta urmatoarea nota din cantecul ales. | + | Avem o funcție cu timer care, la momentul potrivit, cântă următoarea notă din cântecul ales. |
- | Codul pentru cantecul propriu-zis a fost luat de la [[https://github.com/robsoncouto/arduino-songs|arduino-songs]]. | + | 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 doua jocuri folosim un 'union' cu doua variabile de tip 'struct'. | + | 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|}} | {{:pm:prj2023:ncaroi:20230530_064859.jpg?800|}} | ||
Line 53: | Line 54: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | In ciuda faptului ca arduino uno este o placa foarte neprietenoasa pentru dezvoltarea de aplicatii grafice datorita resurselor relativ limitate, acest proiect demonstreaza ca se pot crea in continuare mici joculete pe ea, care pot aporta la experienta utilizatorului, atata timp cat exista un ecran, putand face de asemenea, cu o larga varietate de senzori, lucruri pe care nici cele mai utilizate device-uri de gaming nu o fac la momentul actual, lasand dupa parerea mea o ramura nu foarte explorata a jocurilor. | + | 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 ===== | ||
Line 62: | Line 63: | ||
Resurse hardware: | Resurse hardware: | ||
* datasheet-ul arduino | * datasheet-ul arduino | ||
- | * schemele pentru piese de pe site-ul de unde au fost achizitionate | + | * schemele pentru piese de pe site-urile de unde au fost achiziționate |
Resurse software: | Resurse software: | ||
* numeroase videoclipuri youtube despre senzori | * numeroase videoclipuri youtube despre senzori | ||
- | * [[https://github.com/olikraus/ucglib/wiki/reference#clearscreen|documentatia pentru biblioteca grafica]] | + | * [[https://github.com/olikraus/ucglib/wiki/reference#clearscreen|documentația pentru biblioteca grafică]] |
* [[https://github.com/robsoncouto/arduino-songs|arduino-songs]] | * [[https://github.com/robsoncouto/arduino-songs|arduino-songs]] | ||