This shows you the differences between two versions of the page.
pm:prj2024:tdicu:gabriel.ionescu1405 [2024/05/18 19:13] gabriel.ionescu1405 [Software Design] |
pm:prj2024:tdicu:gabriel.ionescu1405 [2024/05/27 10:07] (current) gabriel.ionescu1405 [Download] |
||
---|---|---|---|
Line 11: | Line 11: | ||
Ghicitul este pe principiul jocului Wordle. Daca nimeresti o cifra pe locul corect ea va ramane acolo. | Ghicitul este pe principiul jocului Wordle. Daca nimeresti o cifra pe locul corect ea va ramane acolo. | ||
- | Pe parcursul jocului vor aparea treptat segmente care formeaza cifrele ce trebuiesc ghicite pentru a face mai usor acest lucru. | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | Jocul incepe prin apasarea butonului A pe numpad. Se porneste un timer de 60 de secunde si incepe sa bipaie buzzerul din ce in ce mai rapid pana la scurgerea timpului. Pe ecran apare Guess: _ _ _ _ iar jucatorul incepe sa ghiceasca coduri posibile. Daca o cifra este corecta aceasta va ramane pe ecran astfel: Guess: _ 5 _ _ |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | In momentul in care codul e ghicit jocul se opreste. Daca codul nu este ghicit in cele 60 de secunde se va afisa mesajul You Lost si se va opri. |
- | </note> | + | |
+ | Daca pe parcursul jocului se misca prea mult bomba jocul se pierde. | ||
+ | {{:pm:prj2024:tdicu:schem_bloc_bomba.png?600|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 36: | Line 35: | ||
- Accelerometru ADXL345 | - Accelerometru ADXL345 | ||
+ | |||
+ | {{:pm:prj2024:tdicu:schema_electrica_bomba.png?700|}} | ||
Line 41: | Line 42: | ||
Pentru dezvoltare software: PlatformIO | Pentru dezvoltare software: PlatformIO | ||
+ | |||
Librarii: LiquidCrystal_I2C, Keypad, Adafruit_Sensor | Librarii: LiquidCrystal_I2C, Keypad, Adafruit_Sensor | ||
- | <note tip> | + | Am folosit PWM pentru Buzzer, care impreuna cu un Timer bipaie din ce in ce mai rapid pana in momentul in care "bubuie". |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | Accelerometrul foloseste I2C, si impreuna cu un alt timer ia valori la un interval prestabilit. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | LCD-ul foloseste de asemenea tot I2C si afiseaza informatii pe baza unor flaguri (Lost, Shook, Won, sau Guessing in timpul jocului), flaguri ce sunt actualizate in diferite portiuni ale codului, fie in interrupturi, fie in portiunea principala de Loop. |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Jocul este complet functional, Jucatorul are 60 de secunde la dispozitie pentru a ghici codul de 4 cifre, timp in care trebuie sa tina bomba cat mai nemiscata. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | Daca nu ghiceste si se scurge timpul sau misca bomba prea mult, acesta pierde jocul. | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul a fost finalizat cu succes. | ||
+ | Am folosit elemente din 3 laboratoare (PWM, I2C, Timere). | ||
===== Download ===== | ===== Download ===== | ||
- | <note warning> | + | https://github.com/GabrielLucian/PMbomba |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | + | ||
- | 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**. | + | |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | + | {{:pm:prj2024:tdicu:proiect_bomba.zip|}} |
- | <note> | ||
- | </note> | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||