Differences

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

Link to this comparison view

pm:prj2022:imacovei:rps [2022/05/31 18:44]
alexandru.andrei99 [Descriere generală]
pm:prj2022:imacovei:rps [2022/06/01 00:26] (current)
alexandru.andrei99
Line 11: 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 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, 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 24: 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.1654011852.txt.gz · Last modified: 2022/05/31 18:44 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