This shows you the differences between two versions of the page.
pm:prj2023:amocanu:szocsmihaela_proiect [2023/05/17 20:49] mihaela.szocs |
pm:prj2023:amocanu:szocsmihaela_proiect [2023/05/29 19:38] (current) mihaela.szocs |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Introducere ===== | ===== Introducere ===== | ||
<note tip> | <note tip> | ||
- | Proiectul este un joc Pong realizat cu ajutorul placii Arduino. Scopul jocului este de a lovi mingea cu paleta si de a o face sa treaca de catre paleta adversa. Jocul se desfasoara pe doua matrice LED de 8x8, iar jucatorii isi controleaza paleta cu ajutorul a doua potentiometre. De asemenea, jocul poate fi inceput sau resetat cu ajutorul a doua butoane. | ||
- | Pentru a realiza acest proiect, este necesara conectarea a doua potentiometre si a doua butoane la placa Arduino, precum si a doua matrice LED. De asemenea, se va utiliza biblioteca LedControl pentru a controla afisajul matricilor LED . | + | Jocul este implementat pe o plăcuță Arduino Uno și implică doi jucători care se confruntă într-un joc de ping pong. Scopul jocului este de a controla direcția bilei sau prin colectarea unui element de pick-up special, care apare în timpul jocului. Există, de asemenea, obstacole care apar în mod aleatoriu pentru a încurca jucătorii. Interacțiunea cu jocul se face prin intermediul butoanelor și afișarea rezultatelor se realizează pe un display. De asemenea, se utilizează un buzzer pentru a semnala coliziunile bilei cu terenul, obstacolele sau atunci când un jucător marchează un punct. |
- | + | ||
- | In final, prin intermediul proiectului, utilizatorii pot sa isi testeze abilitatile si sa se distreze jucand unul dintre cele mai vechi jocuri video, Pong. | + | |
</note> | </note> | ||
Line 24: | Line 21: | ||
Pentru acest proiect, vom avea nevoie de urmatoarele piese: | Pentru acest proiect, vom avea nevoie de urmatoarele piese: | ||
- | *Arduino Uno R3 | + | * Arduino Uno R3 |
- | *Modul LCD 2004 | + | * Butoane |
- | *Modul I2C pentru LCD 2004 | + | * Buzzer pasiv |
- | *Modul Joystick x 2 | + | * OLED Display 0.96” 128×64 SPI |
- | *Breadboard | + | * Fire |
- | *Rezistențe 1kΩ | + | |
- | *Buton | + | |
**Schema electrica** | **Schema electrica** | ||
Line 43: | Line 38: | ||
<note> | <note> | ||
+ | Înainte de joc, se afișează un meniu cu opțiuni de scor: 3, 5 sau 7 puncte. | ||
+ | Jucătorul 2 navighează prin meniu și alege opțiunea. | ||
+ | Se afișează bara de încărcare până la 100% în timp ce jucătorii se pregătesc. | ||
+ | Jucătorii sunt bare verticale, mingea este un pixel, obstacolele sunt pătrate, iar elementul de pick-up este un cerc. | ||
+ | Mișcarea jucătorilor se face pe axa OX, in timp ce mingea se deplasează pe axele XOY. | ||
+ | 1.Mingea pleacă într-o direcție aleatoare la începutul fiecărei runde. | ||
+ | |||
+ | 2.Jucătorii apără peretele din spate; lovirea peretelui de către minge aduce puncte adversarului. | ||
+ | |||
+ | 3.Se afișează scorul curent și numărul de elemente de pick-up colectate de jucători. | ||
+ | |||
+ | 4.Obstacolele și elementele de pick-up apar în poziții aleatoare pe ecran. | ||
+ | |||
+ | 5.Elementul de pick-up reapare după un timp, după ce este colectat de un jucător. | ||
+ | |||
+ | 6.Obstacolele se mișcă și își schimbă dimensiunea la lovitura mingei sau la începutul unei runde. | ||
+ | |||
+ | 7.Jocul se încheie când un jucător atinge scorul maxim selectat din meniu. | ||
+ | |||
+ | 8.Se afișează câștigătorul și se redă o melodie la buzzer. Se revine apoi la meniu. | ||
| | ||
</note> | </note> | ||
Line 49: | Line 64: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note> | ||
- | </note> | + | {{:pm:prj2023:amocanu:baraloading.jpg?500|}} |
+ | {{:pm:prj2023:amocanu:meniualegerepuncte.jpg?500|}} | ||
- | ===== Concluzii ===== | + | {{:pm:prj2023:amocanu:desfasurarejoc.jpg?500|}} |
- | <note> | + | {{:pm:prj2023:amocanu:mesajfinal.jpg?500|}} |
- | </note> | ||
- | ===== Download ===== | ||
+ | ===== Concluzii ===== | ||
<note> | <note> | ||
+ | Proiect util in vederea intelegerii mai bune a conexiunii hardware-software. | ||
</note> | </note> | ||
+ | |||
+ | ===== Download ===== | ||
+ | {{:pm:prj2023:amocanu:pm.zip|}} | ||
===== Jurnal resurse ===== | ===== Jurnal resurse ===== | ||
<note > | <note > | ||
+ | [[https://learn.adafruit.com/monochrome-oled-breakouts/arduino-library-and-examples]] | ||
+ | |||
+ | [[https://lastminuteengineers.com/oled-display-arduino-tutorial/]] | ||
+ | |||
+ | [[https://www.youtube.com/watch?v=u5drIsmr6UM&ab_channel=%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82%D0%B8%D0%BD]] | ||
+ | |||
+ | [[https://create.arduino.cc/projecthub/ronfrtek/arduino-oled-display-menu-with-option-to-select-e85f04]] | ||
+ | |||
+ | [[https://create.arduino.cc/projecthub/GeneralSpud/passive-buzzer-song-take-on-me-by-a-ha-0f04a8]] | ||
+ | |||
+ | [[https://gist.github.com/mikeputnam/2820675]] | ||
</note> | </note> |