This shows you the differences between two versions of the page.
pm:prj2023:vstoica:tudordiaconu [2023/05/28 14:39] tudor.diaconu [Introducere] |
pm:prj2023:vstoica:tudordiaconu [2023/05/28 17:58] (current) tudor.diaconu [Schema bloc] |
||
---|---|---|---|
Line 12: | Line 12: | ||
Aplicația va funcționa în modul următor: | Aplicația va funcționa în modul următor: | ||
- | Un buton va marca start-ul meciului, moment în care se va aprinde becul LED aferent jucătorului cu X. Apoi, jucătorul își alege poziția unde să plaseze simbolul prin intermediul unui joystick(sau a unor butoane), fiind apoi rândul jucătorului cu 0, aprinzându-se becul aferent jucătorului 0 și stingându-se cel al jucătorului X. | + | La început, este marcat faptul că trebuie apăsat butonul de start pentru a începe jocul. De asemenea, în această stare, becul RGB este roșu. |
- | După mai multe mutări ale celor 2 jucători, va fi afișat câștigătorul pe LCD (sau Draw în caz de egalitate), finalul meciului fiind marcat printr-o melodie auzită la buzzer în funcție de jucătorul câștigător. De asemenea, la finalul meciului, va apărea pe ecran și durata meciului. | + | După ce este început jocul prin apăsarea butonului, jucătorul poate să sară peste obstacole prin intermediul joystick-ului (becul RGB devine verde). De asemenea, poate pune pauză prin utilizarea celuilalt buton de pe breadboard (becul RGB devine albastru). La momentul ciocnirii cu un obstacol, jucătorul pierde meciul și îi este afișat scorul și durata jocului. |
+ | |||
+ | De asemenea, la pierderea jocului, becul redevine roșu, iar jucătorului îi este indicat să apese din nou butonul pentru a începe o altă rundă, acest mesaj apărând intermitent cu momentul pierderii rundei trecute. | ||
==== Schema bloc ==== | ==== Schema bloc ==== | ||
- | {{:pm:prj2023:vstoica:untitled_diagram.drawio.png|}} | + | {{:pm:prj2023:vstoica:untitled_diagram.drawio.png?700}} |
==== Hardware Design ==== | ==== Hardware Design ==== | ||
Line 36: | Line 38: | ||
==== Software Design ==== | ==== Software Design ==== | ||
- | TBC | + | <note> |
+ | |||
+ | Mediul de dezvoltare | ||
+ | * Draw.io - schema bloc | ||
+ | * Tinkercad + Fitzring - design-ul hardware | ||
+ | * Arduino IDE - codul software | ||
+ | |||
+ | </note> | ||
+ | |||
+ | |||
+ | <note> | ||
+ | |||
+ | Biblioteci utilizate | ||
+ | * LiquidCrystal_I2C.h - pentru conexiunea cu ecranul LCD I2C | ||
+ | |||
+ | </note> | ||
+ | |||
+ | <note> | ||
+ | |||
+ | Funcții principale | ||
+ | * initializeGraphics() - funcție care inițializeaza graficile de pe ecran și marchează posibilele poziții ale băiatului din joc | ||
+ | * advanceTerrain() - funcție care mută la stânga obstacolele din joc | ||
+ | * drawBoy() - funcție care indică cum își modifică băiatul poziția în funcție de poziția precedentă | ||
+ | * setup() - inițializarea regiștrilor necesari și marcarea pinilor ca intrare sau ieșire | ||
+ | * loop() - logica proiectului și tratarea cazului de pierdere a jocului | ||
+ | |||
+ | </note> | ||
==== Rezultate obținute ==== | ==== Rezultate obținute ==== | ||
+ | Meniul de start | ||
+ | |||
+ | {{:pm:prj2023:vstoica:mario-poza.jpeg?600|}} | ||
+ | |||
+ | Ecran in game | ||
+ | |||
+ | {{:pm:prj2023:vstoica:mario-poza1.jpeg?600|}} | ||
+ | |||
+ | Ecran care arată cum a fost pierdută runda trecută | ||
+ | |||
+ | {{:pm:prj2023:vstoica:mario-poza2.jpeg?600|}} | ||
+ | |||
+ | Ecran în pauză | ||
+ | |||
+ | {{:pm:prj2023:vstoica:mario-poza3.jpeg?600|}} | ||
+ | |||
+ | Ecran la final | ||
+ | |||
+ | {{:pm:prj2023:vstoica:mario-poza4.jpeg?600|}} | ||
==== Concluzii ==== | ==== Concluzii ==== | ||
+ | |||
+ | <note tip>A fost un proiect foarte interesant. Mă bucur că am reușit să învăț multe noțiuni noi de-a lungul lucrului la acest proiect. Pot spune că voi folosi acest proiect pe viitor atunci când mă voi plictisi în timpul liber și, de asemenea, voi încerca să-i mai aduc îmbunătățiri.</note> | ||
==== Download ==== | ==== Download ==== | ||
+ | <note tip> | ||
+ | {{:pm:prj2023:vstoica:diaconutudorgabriel_332ca_proiectpm.zip|Arhiva proiectului}} | ||
+ | </note> | ||
==== Bibliografie/Resurse ==== | ==== Bibliografie/Resurse ==== | ||
+ | |||
+ | |||
+ | <note>LiquidCrystal: https://github.com/johnrickman/LiquidCrystal_I2C | ||
+ | |||
+ | https://www.robotique.tech/robotics/using-the-joystick-with-arduino/ | ||
+ | |||
+ | Buzzer sound: https://github.com/robsoncouto/arduino-songs | ||
+ | </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> |