Differences

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

Link to this comparison view

pm:prj2021:dbrigalda:pong [2021/05/28 22:22]
rares.danila [Software Design]
pm:prj2021:dbrigalda:pong [2021/05/31 20:55] (current)
rares.danila [Schemă Hardware]
Line 16: Line 16:
 ===== Descriere generală ===== ===== Descriere generală =====
 ==== Descrierea funcționalității ==== ==== Descrierea funcționalității ====
-Pentru a începe un joc se apasă pe butonul de start. După apăsare, va apărea pe display-ul LCD interfața grafică a jocului PONG cu mingea în mijloc. Direcția în care va pleca mingea se va selecta ​random. Când se va înscrie un punct pentru jucătorul care își controlează racheta prin Joystick, buzzer-ul va scoate un sunet specific. Același lucru se întâmplă și pentru jucătorul care folosește senzorul ​de sunet. În funcție de cine a marcat, i se va aprinde un LED până când mingea este din nou în mișcare. Când un jucător va ajunge la 5 puncte marcate, jocul se va termina. Pentru cel care a câștigat, LED-ul se va aprinde și stinge în mod repetat. Jocul poate fi și resetat, printr-un buton. Dacă acel buton este apăsat se revine la starea inițială, și anume: ambii jucători au 0 puncte, mingea este in centrul ecranului și niciun LED nu este aprins. În funcție de valoarea pe care este setat potențiometrul,​ se va stabili viteza bilei.+Pentru a începe un joc se apasă pe butonul de start. După apăsare, va apărea pe display-ul LCD interfața grafică a jocului PONG cu mingea în mijloc. Direcția în care va pleca mingea se va selecta ​în funcție ​de scor. În funcție de cine a marcat, i se va aprinde un LED. Când un jucător va ajunge la 5 puncte marcate, jocul se va termina. Pentru cel care a câștigat, LED-ul se va aprinde și stinge în mod repetat. Jocul poate fi și resetat, printr-un buton. Dacă acel buton este apăsat se revine la starea inițială, și anume: ambii jucători au 0 puncte, mingea este in centrul ecranului și niciun LED nu este aprins. În funcție de valoarea pe care este setat potențiometrul,​ se va stabili viteza bilei.
  
 ==== Diagramă bloc ==== ==== Diagramă bloc ====
 {{:​pm:​prj2021:​dbrigalda:​diagrama_bloc_pong.png|}} {{:​pm:​prj2021:​dbrigalda:​diagrama_bloc_pong.png|}}
 ===== Hardware Design ===== ===== Hardware Design =====
 +==== Schemă Hardware ====
 +{{:​pm:​prj2021:​dbrigalda:​schema_hardware_pong.png?​700|}}
 +
 ==== Listă de piese ==== ==== Listă de piese ====
 1. Arduino Uno\\ 1. Arduino Uno\\
-2. Breadboard\\ +2. Breadboard-uri\\ 
-3. Fire\\+3. Fire mamă-tată,​ tată-tată\\
 4. Joystick\\ 4. Joystick\\
 5. Senzor de zgomot\\ 5. Senzor de zgomot\\
 6. 2 LED-uri\\ 6. 2 LED-uri\\
-7. Buzzer\\ +7. Potențiometru\\ 
-8. Potențiometru\\ +8. LCD Nokia 5110\\ 
-9. LCD Nokia 5110\\ +9. 2 butoane\\ 
-10. 2 butoane\\ +10. Rezistențe\\
-11. Rezistențe\\+
  
 ===== Software Design ===== ===== Software Design =====
Line 51: Line 53:
 </​note>​ </​note>​
  
-====== Detaliile implementării ​======+==== Detaliile implementării ====
  
 Bila se mișcă doar stânga sau dreapta, fără a face unghiuri când se lovește de barele jucătorilor.\\ Bila se mișcă doar stânga sau dreapta, fără a face unghiuri când se lovește de barele jucătorilor.\\
 +\\
 Coliziunea are loc dacă barele sunt pe mijlocul axei Oy a ecranului și bila se află fie la începutul axei Ox (unde se află și bara controlată prin Coliziunea are loc dacă barele sunt pe mijlocul axei Oy a ecranului și bila se află fie la începutul axei Ox (unde se află și bara controlată prin
 joystick), fie la finalul axei Ox (unde se află și bara controlată prin senzor de zgomot).\\ joystick), fie la finalul axei Ox (unde se află și bara controlată prin senzor de zgomot).\\
 +\\
 LED-ul roșu se aprinde când înscrie jucătorul corespunzător senzorului de sunet.\\ LED-ul roșu se aprinde când înscrie jucătorul corespunzător senzorului de sunet.\\
 +\\
 +LED-ul albastru se aprinde când înscrie jucătorul corespunzător joystick-ului.\\
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
-TODO+Poză proiect: \\ 
 +{{:​pm:​prj2021:​dbrigalda:​whatsapp_image_2021-05-28_at_23.03.33.jpeg?​600|}} \\ 
 + 
 +Click mai jos pentru videoclipul ce prezintă proiectul: \\ 
 +[[https://​www.youtube.com/​watch?​v=YaiCHkgmh8E|{{:​pm:​prj2021:​dbrigalda:​whatsapp_image_2021-05-28_at_23.04.01.jpeg?​600|}}]]
 ===== Concluzii ===== ===== Concluzii =====
-TODO+Lucrând la acest proiect, pot spune că am învățat în sfârșit ceea ce așteptam de foarte mult timp, și anume ce înseamnă cu adevărat să lucrezi cu materiale hardware. Am învățat să nu subestimez puterea curentului electric (motiv pentru care mi-am cumpărat din start mai multe LED-uri deși am folosit doar două pentru proiect) și să tratez cu grijă cuplarea firelor cu restul pieselor (am rupt capetele la 4 fire). Din punct de vedere practic, am învățat cum poți dicta unor piese hardware ce să facă prin scrierea de cod într-un IDE specific.
 ===== Download ===== ===== Download =====
-TODO+<note tip> Arhiva cu sursele: {{:​pm:​prj2021:​dbrigalda:​pong.zip|}} </​note>​ 
 +<note tip> Documentație:​ {{:​pm:​prj2021:​dbrigalda:​readme.pdf|}} </​note>​
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 <note tip> <note tip>
  
 https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​dbrigalda/​pong \\ \\ https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​dbrigalda/​pong \\ \\
-Documentația PDF: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​dbrigalda/​pong?​do=export_pdf+Documentația PDF: https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​dbrigalda/​pong?​do=export_pdf\\ \\ 
 +Biblioteca pentru desenarea figurilor geometrice: \\ 
 +https://​robojax.com/​learn/​arduino/​LCD_Functions.h\\ \\ 
 +Laboratoare OCW: https://​ocw.cs.pub.ro/​courses/​pm 
  
 </​note>​ </​note>​
pm/prj2021/dbrigalda/pong.1622229741.txt.gz · Last modified: 2021/05/28 22:22 by rares.danila
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