This shows you the differences between two versions of the page.
pm:prj2024:tdicu:gabriel.ionescu1405 [2024/05/18 19:19] gabriel.ionescu1405 [Introducere] |
pm:prj2024:tdicu:gabriel.ionescu1405 [2024/05/27 10:07] (current) gabriel.ionescu1405 [Download] |
||
---|---|---|---|
Line 14: | Line 14: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | 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 _ _ | ||
- | {{:pm:prj2024:tdicu:schem_bloc_bomba.png?200|}} | + | 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. |
+ | |||
+ | 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 30: | Line 35: | ||
- Accelerometru ADXL345 | - Accelerometru ADXL345 | ||
+ | |||
+ | {{:pm:prj2024:tdicu:schema_electrica_bomba.png?700|}} | ||
Line 35: | 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> | ||