Differences

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

Link to this comparison view

pm:prj2022:imacovei:rps [2022/04/21 16:49]
alexandru.andrei99
pm:prj2022:imacovei:rps [2022/06/01 00:26] (current)
alexandru.andrei99
Line 1: Line 1:
 ====== Rock Paper Scissors ====== ====== Rock Paper Scissors ======
 +<​note>​
 +Nume: Andrei Alexandru-Razvan
 +
 +Grupa: 333CB
 +</​note>​
 ===== Introducere ===== ===== Introducere =====
  
-<note tip> +Ideea proiectului ​pornit de la experienta mea cu jocul Piatra, Foarfeca, Hartie. Cred ca oricine a jucat acest joc cu destule persoane a intalnit acel jucator ​care se misca mai greu pentru a castiga putin timp in care sa vada ce ales oponentul si sa isi modifice propria alegere astfel incat sa castige. In plus, jocul are scopul ​de a elimina cazurile in care se joaca pana la 2/3 sau 3/5 etc. si pierzatorul incearca sa mai castige o sansa pretinzand ca runda decisiva nu fost inca jucata. 
-Prezentarea pe scurt proiectului vostru: +
-  * ce face +
-  * care este scopul lui +
-  * care a fost ideea de la care aţi pornit +
-  * de ce credeţi că este util pentru alţii şi pentru voi +
-</​note>​+
 ===== Descriere generală ===== ===== Descriere generală =====
  
-<note tip>+Astfel, proiectul consta intr-un joc in care fiecare jucator va avea un set de 3 butoane corespunzatoare fiecarei alegeri (piatra / foarfeca / hartie), alaturi de alte 2 butoane care servesc la inceperea unei noi runde si la resetarea scorului. Informatiile vor fi afisate pe un ecran LCD, mai exact scorul (numarul de runde castigate de fiecare jucator) impreuna cu indicatoare pentru a confirma ca alegerea facuta prin apasarea unui buton a fost inregistrata. Dupa ce jucatorii au terminat de ales, se va afisa rezultatul rundei (castigatorul,​ pierzatorul sau egalitate si scorul actualizat) 
 Schema bloc: Schema bloc:
-{{https://​ocw.cs.pub.ro/​courses/​lib/​images/​fileicons/​png.png}} + 
-</​note>​+{{:pm:​prj2022:​imacovei:​schema_bloc.png?700}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> 
   * Listă de piese:   * Listă de piese:
     * Placuta Arduino     * Placuta Arduino
Line 24: Line 24:
     * Buzzer     * Buzzer
     * Ecran LCD     * Ecran LCD
-  ​scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png+ 
-  * diagrame de semnal  + 
-  * rezultatele simulării +  ​Schema electrica: 
-</​note>​+{{:​pm:​prj2022:​imacovei:​RPS_Schema_Eagle.png?700}} 
  
 ===== Software Design ===== ===== Software Design =====
 +  * Mediu de dezvoltare: Arduino IDE
 +  * Librarii 3rd-party:
 +      * Pentru lucrul cu LCD I2C: https://​github.com/​fdebrabander/​Arduino-LiquidCrystal-I2C-library
 +      * Pentru sunete buzzer am folosit o parte din: https://​github.com/​robsoncouto/​arduino-songs/​tree/​master/​nevergonnagiveyouup
 +  * Algoritm (pseudocod):​
 +<​code>​
 +gameControlInterruption()
 +  readInput()
 +  if (input == RESET)
 +    resetScoreAndRound()
 +  else
 +    newRound()
 +  playNextNoteOnBuzzer()
  
  
-<note tip> +player2InputInterruption() 
-Descrierea codului aplicaţiei ​(firmware): +  ​readInput() 
-  ​* mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR+  ​updatePlayer2Pick() 
-  ​* librării şi surse 3rd-party ​(e.g. Procyon AVRlib+  ​playNextNoteOnBuzzer()
-  ​* algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
-===== Rezultate Obţinute ===== 
  
-<note tip> +player1InputInterruption() 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +  ​readInput() 
-</​note>​+  ​updatePlayer1Pick() 
 +  playNextNoteOnBuzzer()
  
-===== Concluzii ===== 
  
-===== Download =====+loop() 
 +  if (both_players_ready) 
 +    determineRoundOutcome() 
 +    updateScore() 
 +    displayResults() 
 +  else 
 +    displayRoundStatus() 
 +</​code>​ 
 +  * Surse: https://​github.com/​andreialexandru99/​Rock-Paper-Scissors-Arduino
  
-<note warning>​ +===== Rezultate Obţinute ​===== 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute ​în urma realizării proiectului:​ surse, scheme, etcUn fişier READMEun ChangeLogun script ​de compilare şi copiere automată pe uC crează întotdeauna ​impresie bună ;-).+Proiectul functioneaza cum mi-am doritAm reusit chiar sa adaug o functionalitate nouachiar daca foarte simplasi anume fiecare apasare ​de buton sa cante noua nota dintr-un cantecIn ciuda simplitatii,​ a adus mai multa placere in lucratul la proiect. :)
  
-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**. +Poze cu ansamblul final:
-</​note>​+
  
-===== Jurnal =====+{{:​pm:​prj2022:​imacovei:​rps_off.jpg?​700}} 
 +{{:​pm:​prj2022:​imacovei:​rps_on.jpg?​700}}
  
-<note tip> +===== Download ===== 
-Puteți avea și o secțiune ​de jurnal în care să poată urmări asistentul ​de proiect progresul proiectului. +Proiectul poate fi descarcat ​de pe GitHub sau direct ​de {{pm:​prj2022:​imacovei:​rock-paper-scissors-arduino-main.zip |aici}}.
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
- 
-<​note>​ 
-Listă cu documente, datasheet-uri,​ resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. 
-</​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>​
  
  
pm/prj2022/imacovei/rps.1650548958.txt.gz · Last modified: 2022/04/21 16:49 by alexandru.andrei99
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