This shows you the differences between two versions of the page.
pm:prj2023:drtranca:pong_game [2023/05/07 20:19] ana_maria.roanghesi [Descriere generală] |
pm:prj2023:drtranca:pong_game [2023/05/29 23:40] (current) ana_maria.roanghesi [Bibliografie/Resurse] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* Se implementeaza jocul Pong în care doi jucători controlează fiecare o paletă pe un ecran, încercând să împiedice o minge virtuală să treacă de partea lor a ecranului. | * Se implementeaza jocul Pong în care doi jucători controlează fiecare o paletă pe un ecran, încercând să împiedice o minge virtuală să treacă de partea lor a ecranului. | ||
* Jocul continuă până când unul dintre jucători ajunge la un număr prestabilit de puncte sau până când se scurge un timp prestabilit de la inceperea jocului. | * Jocul continuă până când unul dintre jucători ajunge la un număr prestabilit de puncte sau până când se scurge un timp prestabilit de la inceperea jocului. | ||
- | * Proiectul ofera o simulare interactiva a jocului utilizand un ecran Micro OLED. | + | * Proiectul ofera o simulare interactiva a jocului utilizand un SPI LCD. |
</note> | </note> | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
<note tip> | <note tip> | ||
- | Implementarea jocului este de tip multiplayer. Odata cu inceperea jocului, se porneste un timer cu timpul alocat jocului. Cei doi jucatori isi controleaza paleta folosind 2 butoane, sus sau jos. De fiecare data cand mingea atinge partea de ecran a oponentului, jucatorul primeste un punct. Odata ce se ajunge la punctajul prestabilit se aude un sunet si se anunta jucatorul catigator. Daca nu se ajunge la acel punctaj in timpul stabilit, v-a fi considerat castigator jucatorul cu cele mai multe puncte, sau remiza in caz de egalitate. | + | Implementarea jocului este de tip multiplayer. Odata cu inceperea jocului, se porneste un timer cu timpul alocat jocului. Cei doi jucatori isi controleaza paleta folosind 2 butoane, sus sau jos. De fiecare data cand mingea atinge partea de ecran a oponentului, jucatorul primeste un punct. Odata ce se ajunge la punctajul prestabilit se aude un sunet si se anunta jucatorul catigator. Daca nu se ajunge la acel punctaj in timpul stabilit, va fi considerat castigator jucatorul cu cele mai multe puncte sau remiza in caz de egalitate. |
{{:pm:prj2023:drtranca:scema_bloc_pm_-_joc_pong.png?200|}} | {{:pm:prj2023:drtranca:scema_bloc_pm_-_joc_pong.png?200|}} | ||
Line 20: | Line 20: | ||
<note tip> | <note tip> | ||
Lista piese: | Lista piese: | ||
- | * Arduino UNO R3 | + | * Arduino UNO R3 ATMEGA328p |
- | * Micro oled | + | * 1.8" SPI TFT LCD |
* 4 butoane | * 4 butoane | ||
- | * Rezistori | ||
* KY-012 active buzzer | * KY-012 active buzzer | ||
* Fire | * Fire | ||
+ | * Rezistente | ||
</note> | </note> | ||
+ | |||
+ | Schema electrica | ||
+ | |||
+ | {{:pm:prj2023:drtranca:pong_ana.png?800|}} | ||
+ | |||
+ | |||
+ | {{:pm:prj2023:drtranca:pong_schema.jpeg?600|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 34: | Line 40: | ||
<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: Arduino IDE |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * librării şi surse 3rd-party: SPI.h, Adafruit_GFX.h, Adafruit_ST7735.h |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * laboratoare: intrerupere hardware, timer, SPI |
- | * (etapa 3) surse şi funcţii implementate | + | |
</note> | </note> | ||
Line 43: | Line 48: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Demo https://youtu.be/gZ69HYNuRWk |
</note> | </note> | ||
+ | {{:pm:prj2023:drtranca:pong_ana.jpeg?400|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Rezultatul final este un joc pong interactiv in urma caruia am acumulat atat cunostinte de software precum utilizarea intreruperilor, timerelor si a functiilor din Adafruit, cat si notiuni de hardware, proiectand un circuit electric fuctional. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2023:drtranca:pong_game_anaroanghesi.zip|}} | ||
- | <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> | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://www.hackster.io/hrsajjad844/lcd-display-without-potentiometer-and-resistor-0d1357#:~:text=You%20can%20be%20displayed%20in,monitor%20without%20a%20potentiometer%20%26%20Resistor |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | https://github.com/adafruit/Adafruit-ST7735-Library/tree/master/examples |
- | </note> | + | |
<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> |