Differences

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

Link to this comparison view

pm:prj2022:imacovei:rps [2022/05/03 16:24]
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>​ <​note>​
-Nume: Andrei Alexandru-Razvan ​ +Nume: Andrei Alexandru-Razvan 
 Grupa: 333CB Grupa: 333CB
 </​note>​ </​note>​
Line 10: Line 11:
 ===== Descriere generală ===== ===== Descriere generală =====
  
-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 sevesc ​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, o scurta numaratoare inversa inainte ​de afisa rezultatul ​urmata de afisarea alegerilor jucatorilor si castigatorul.+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:
  
-{{:​pm:​prj2022:​imacovei:​schema_bloc.png}}+{{:​pm:​prj2022:​imacovei:​schema_bloc.png?700}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 23: Line 24:
     * Buzzer     * Buzzer
     * Ecran LCD     * Ecran LCD
 +
 +
 +  * Schema electrica:
 +{{:​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()
 +
 +
 +player2InputInterruption()
 +  readInput()
 +  updatePlayer2Pick()
 +  playNextNoteOnBuzzer()
 +
 +
 +player1InputInterruption()
 +  readInput()
 +  updatePlayer1Pick()
 +  playNextNoteOnBuzzer()
 +
 +
 +loop()
 +  if (both_players_ready)
 +    determineRoundOutcome()
 +    updateScore()
 +    displayResults()
 +  else
 +    displayRoundStatus()
 +</​code>​
 +  * Surse: https://​github.com/​andreialexandru99/​Rock-Paper-Scissors-Arduino
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +Proiectul functioneaza cum mi-am dorit. Am reusit chiar sa adaug o functionalitate noua, chiar daca foarte simpla, si anume fiecare apasare de buton sa cante o noua nota dintr-un cantec. In ciuda simplitatii,​ a adus mai multa placere in lucratul la proiect. :)
 +
 +Poze cu ansamblul final:
  
-===== Concluzii =====+{{:​pm:​prj2022:​imacovei:​rps_off.jpg?​700}} 
 +{{:​pm:​prj2022:​imacovei:​rps_on.jpg?​700}}
  
 ===== Download ===== ===== Download =====
 +Proiectul poate fi descarcat de pe GitHub sau direct de {{pm:​prj2022:​imacovei:​rock-paper-scissors-arduino-main.zip |aici}}.
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2022/imacovei/rps.1651584280.txt.gz · Last modified: 2022/05/03 16:24 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