This shows you the differences between two versions of the page.
pm:prj2024:rvirtan:marian.irimia2708 [2024/05/15 23:52] marian.irimia2708 |
pm:prj2024:rvirtan:marian.irimia2708 [2024/05/23 20:49] (current) marian.irimia2708 |
||
---|---|---|---|
Line 52: | Line 52: | ||
Buzzer | Buzzer | ||
+ | |||
+ | Micro servomotor SG90 | ||
+ | |||
+ | Baterii de 9V | ||
**Modul buton:** | **Modul buton:** | ||
- | {{ :pm:prj2024:rvirtan:schema_buton.jpg |}} | + | {{ :pm:prj2024:rvirtan:newphoto_buton.png?300 |}} |
{{ :pm:prj2024:rvirtan:photo_buton.jpeg?300 |}} | {{ :pm:prj2024:rvirtan:photo_buton.jpeg?300 |}} | ||
Line 64: | Line 68: | ||
{{ :pm:prj2024:rvirtan:schema_culori.jpg |}} | {{ :pm:prj2024:rvirtan:schema_culori.jpg |}} | ||
- | {{ :pm:prj2024:rvirtan:photo_culori.jpeg |}} | + | {{ :pm:prj2024:rvirtan:photo_culori.jpeg?300 |}} |
**Modul fire:** | **Modul fire:** | ||
Line 70: | Line 74: | ||
{{ :pm:prj2024:rvirtan:schema_fire.jpg |}} | {{ :pm:prj2024:rvirtan:schema_fire.jpg |}} | ||
- | {{ :pm:prj2024:rvirtan:photo_fire.jpeg |}} | + | {{ :pm:prj2024:rvirtan:photo_fire.jpeg?300 |}} |
**Modul morse:** | **Modul morse:** | ||
Line 76: | Line 80: | ||
{{ :pm:prj2024:rvirtan:schema_morse.jpg |}} | {{ :pm:prj2024:rvirtan:schema_morse.jpg |}} | ||
- | {{ :pm:prj2024:rvirtan:photo_morse.jpeg |}} | + | {{ :pm:prj2024:rvirtan:photo_morse.jpeg?300 |}} |
- | <note tip> | + | **Proiect finalizat:** |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | {{ :pm:prj2024:rvirtan:final.jpeg?300 |}} |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
===== Software Design ===== | ===== Software Design ===== | ||
+ | ====Arduino==== | ||
- | <note tip> | + | * Fiecare modul are functia specifica lui, care ruleaza in continuu pana cand jucatorul dezamorseaza bomba, sau pana cand se scurge timpul. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * Principala problema a codului a fost paralelizarea modulelor deoarece dorim ca toate minigame-urile sa fie accesibile in acelasi timp si sa nu limitam jucatorul sa rezolve modulele intr-o anumita ordine. Functiile modulelor au fost scrise in loop-ul din Arduino IDE, iar acestea nu contin functia delay(), functie ce este blocanta pentru aplicatie. Alternativa functiei delay() a fost functia millis() cu ajutorul careia am salvat timpul real al aplicatiei si am planificat aprinderea/stingerea becurilor la anumite perioade de timp. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * Pentru randomizarea jocurilor, am creat functii de dificultate, care sunt apelate asemenea functiilor specifice modulelor. Acestea verifica in continuu starea actuala a bombei si decide cum ar trebui rezolvate modulele. Codul scris este asemenea instructiunilor din manual. |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | * Am folosit biblioteca [[https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c|LiquidCrystal_I2C]] pentru LCD. |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Recordul meu personal pentru dezamorsarea bombei este de 90 de secunde ramase, din cele 180 de secunde care sunt oferite jucatorului. :-D</note> |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
- | ===== Download ===== | + | * Jocul este destul de dificil, mai ales pentru o prima incercare de a dezamorsa bomba. Dificultatea poate fi controlata direct din codul arduino. |
- | <note warning> | + | * Pentru a diversifica jocul, se pot adauga oricat de multe module noi sau se pot adauga mai multe conditii in manualul bombei. |
- | 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**. | + | ===== Download ===== |
- | </note> | + | |
- | + | ||
- | ===== Jurnal ===== | + | |
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | Link cu repo-ul de pe Github: [[https://github.com/Irimiaz/Bomb-Game|GitHub]] |
- | </note> | + | |
- | ===== Bibliografie/Resurse ===== | + | Manualul bombei se gaseste pe linkul de mai sus, sau direct de aici.{{:pm:prj2024:rvirtan:bombmanual.pdf|}} |
- | + | ||
- | <note> | + | |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
</note> | </note> | ||
- | |||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||