Differences

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

Link to this comparison view

pm:prj2021:avaduva:pong [2021/04/25 22:00]
george.ionescu1202 [Rezultate Obţinute]
pm:prj2021:avaduva:pong [2021/06/02 10:41] (current)
george.ionescu1202 [Download]
Line 1: Line 1:
 ====== Pong ====== ====== Pong ======
  
 +Autor: Ionescu George-Valentin
 ===== Introducere ===== ===== Introducere =====
  
-Scopul proiectului este implementarea jocului Pong folosind un ecran OLED și butoane care reprezintă schimbarea poziției paletelor pe ecran. Se poate juca în mod endless sau temporizat, în cazul celui din urmă afișându-se cine a câștigat la final.+Scopul proiectului este implementarea jocului Pong folosind un ecran LCD și butoane care reprezintă schimbarea poziției paletelor pe ecran. Se poate juca în mod endless sau temporizat, în cazul celui din urmă afișându-se cine a câștigat la final.
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Cei doi jucători au câte un set de două butoane fiecare pentru deplasarea paletelor pe ecran. Pe lângă acestea, avem un buton de start/​pauză și unul de reset. Paletele vor avea culori diferite. Scorul fiecărui jucător este afișat deasupra jumătății atribuite acestuia. În modul temporizat, la finalul jocului, se va afișa un mesaj de tipul „Player X won”.+Cei doi jucători au câte un set de două butoane fiecare pentru deplasarea paletelor pe ecran. Pe lângă acestea, avem un buton de start/​pauză și unul de reset. Paletele vor avea culori diferite, iar mișcarea mingii va fi acompaniată de un sunet produs de un buzzer. Scorul fiecărui jucător este afișat deasupra jumătății atribuite acestuia. În modul temporizat, la finalul jocului, se va afișa un mesaj de tipul „Player X won”.
 ===== Hardware Design ===== ===== Hardware Design =====
 +
  
 ==== Lista de componente ==== ==== Lista de componente ====
Line 13: Line 15:
   * Arduino Uno   * Arduino Uno
   * Breadboard   * Breadboard
-  * Ecran OLED +  ​* Buzzer 
 +  ​* Ecran LCD
   * Butoane   * Butoane
   * Fire   * Fire
 ==== Schema Bloc ==== ==== Schema Bloc ====
  
-{{:​pm:​prj2021:​avaduva:​pong.png?300|}}+{{:​pm:​prj2021:​avaduva:​bloc.png?300|}} 
 + 
 +==== Schema Electrică ===== 
 +{{:​pm:​prj2021:​avaduva:​schel.png?​800|}} 
 ===== Software Design ===== ===== Software Design =====
 +  * Mediu de dezvoltare: Arduino IDE
 +  * Biblioteci 3rd party: Adafruit_GFX (grafica), Adafruit_ST7735 (ecranul)
 +
 +Algoritmul se bazează pe citirea stării butoanelor de direcție și actualizarea coordonatelor
 +paletelor și a mingii în funcție de momentul în timp și de schimbarea direcției. La coliziuni, se pornește buzzer-ul. După fiecare minge ratată sau la apăsarea butonului de pauză, se afișează scorul. Modul temporizat/​endless se alege la inceput, prin apăsarea butoanelor UP/DOWN ale celui de-al doilea jucător. ​
 +
 +Modul "​temporizat"​ de fapt așteapă ca un jucător să atingă un anumit scor, după declară un câștigător.
 +
 +La finalul jocului, buzzer-ul va emite un sunet.
 +
 +
 +==== Funcții utilizate ====
 +  * buttonWait - pentru a selecta modul de joc
 +  * drawCourt - desenează chenarul alb al jocului
 +  * setup - inițializări și splash screen-ul
 +  * loop - jocul în sine -> mișcări și coliziuni, posibilitatea de a pune pauză
 +  * gameOver - afișează câștigătorul
 +  * showScore - afișează scorul când o minge este ratată
 +  * pause - pune pauză
  
 +===== Rezultate obținute =====
  
 +Link demo: [[https://​www.icloud.com/​sharedalbum/#​B0hJtdOXmPSqd43]]
  
 +{{:​pm:​prj2021:​avaduva:​splash.jpg?​200|}}
 +{{:​pm:​prj2021:​avaduva:​game.jpg?​200|}}
 +{{:​pm:​prj2021:​avaduva:​done.jpg?​200|}}
  
 +===== Concluzii =====
  
 +==== Download ====
 +{{:​pm:​prj2021:​avaduva:​333cc_george-valentin_ionescu_resurse.zip|}}
  
 +{{:​pm:​prj2021:​avaduva:​pong_-_doc.pdf|}}
  
 +==== Bibliografie/​Resurse ====
 +[[https://​github.com/​adafruit/​Adafruit-GFX-Library]]
  
 +[[https://​github.com/​adafruit/​Adafruit-ST7735-Library/​]]
  
 +[[https://​www.instructables.com/​Interfacing-Buzzer-to-Arduino/​]]
  
 +[[https://​arduino.stackexchange.com/​questions/​15844/​pause-code-untill-a-button-is-pressed]]
  
 +[[https://​www.youtube.com/​watch?​v=ZRL0GUqebFs&​t=5s]]
pm/prj2021/avaduva/pong.1619377221.txt.gz · Last modified: 2021/04/25 22:00 by george.ionescu1202
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