This shows you the differences between two versions of the page.
pm:prj2022:imacovei:rps [2022/05/31 18:46] alexandru.andrei99 [Descriere generală] |
pm:prj2022:imacovei:rps [2022/06/01 00:26] (current) alexandru.andrei99 |
||
---|---|---|---|
Line 15: | Line 15: | ||
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 ===== |