Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2024:rvirtan:marian.irimia2708 [2024/04/28 23:20]
marian.irimia2708
pm:prj2024:rvirtan:marian.irimia2708 [2024/05/23 20:49] (current)
marian.irimia2708
Line 2: Line 2:
 ===== Introducere ===== ===== Introducere =====
  
-Proiectul constă în dezvoltarea unui joc interactiv bazat pe dezamorsarea unei bombe simulată, similar cu jocul "Keep Talking and Nobody Explodes"​. Jucătorii trebuie să rezolve diverse module (mini-jocuri) într-un timp limitat și să evite să facă trei greșeli, pentru a dezamorsa bomba. Fiecare greșeală va fi semnalizată prin aprinderea unui bec roșu, iar rezolvarea corectă a unui modul va fi indicată de un bec verde. Scopul jocului este de a testa și îmbunătăți abilitățile de lucru în echipă și de rezolvare a problemelor sub presiune. ​+Proiectul constă în dezvoltarea unui joc interactiv bazat pe dezamorsarea unei bombe simulată, similar cu jocul [[https://​keeptalkinggame.com/​|"Keep Talking and Nobody Explodes"​]]. Jucătorii trebuie să rezolve diverse module (mini-jocuri) într-un timp limitat și să evite să facă trei greșeli, pentru a dezamorsa bomba. Fiecare greșeală va fi semnalizată prin aprinderea unui bec roșu, iar rezolvarea corectă a unui modul va fi indicată de un bec verde. Scopul jocului este de a testa și îmbunătăți abilitățile de lucru în echipă și de rezolvare a problemelor sub presiune. ​
 Acest joc este util atât pentru distracția participantilor,​ cât și pentru dezvoltarea abilităților menționate. Acest joc este util atât pentru distracția participantilor,​ cât și pentru dezvoltarea abilităților menționate.
  
Line 11: Line 11:
 </​note>​ </​note>​
 ===== Descriere generală ===== ===== Descriere generală =====
 +**Componentele principale:​**
  
-<note tip> +LED Display: Afișează timpul rămas până la "​explozia"​ bombei.
-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ă blochttp://​www.robs-projects.com/​mp3proj/​newplayer.html +Butoane ​de ControlInclud un buton de start pentru inițierea timerului și un buton de reset pentru a începe jocul de la început.
-</​note>​+
  
-===== Hardware Design =====+Indicatori Luminoși: Trei becuri roșii care se aprind când jucătorul comite o greșeală și becuri verzi care indică rezolvarea corectă a fiecărui modul. 
 + 
 +Emițător sunet: Un buzzer care scoate sunet ce poate fi interpretat drept cod Morse. 
 + 
 + 
 +**Modulele de joc:** 
 + 
 +Modulul Buton: Jucătorii trebuie să apese un buton când anumite cifre apar pe timer. 
 + 
 +Modulul Culori: Jucătorii reacționează la un bec care luminează în patru culori diferite și trebuie să apese câteva butoane în ordine corectă. 
 + 
 +Modulul Fire: Involvă diverse fire colorate care trebuie tăiate conform indicațiilor din manualul jocului. 
 + 
 +Modulul Morse: Acest modul include o boxă care emite un cod Morse. Jucătorii trebuie să traducă mesajul Morse și să apese un buton specific de un număr de ori corespunzător traducerii. De asemenea, modulul include un buton de resetare a contorului pentru numărul de apăsări și un buton de trimitere (submit) pentru a confirma selecția.
  
 <note tip> <note tip>
-Aici puneţi tot ce ţine de hardware design: +Fiecare jucător va avea acces la un manual fizic în format PDF pentru a consulta instrucțiunile necesare rezolvării fiecărui modul în timpul jocului.
-  * listă de piese +
-  * 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>​ </​note>​
 +
 +{{ :​pm:​prj2024:​rvirtan:​bomb_gamefinas.png |}}
 +===== Hardware Design =====
 +
 +**Componente:​**
 +
 +Arduino MEGA 2560
 +
 +LCD 16x2 (I2C)
 +
 +Breadboard
 +
 +Butoane
 +
 +LED-uri
 +
 +Buzzer
 +
 +Micro servomotor SG90
 +
 +Baterii de 9V
 +
 +
 +**Modul buton:**
 +
 +{{ :​pm:​prj2024:​rvirtan:​newphoto_buton.png?​300 |}}
 +
 +{{ :​pm:​prj2024:​rvirtan:​photo_buton.jpeg?​300 |}}
 +
 +**Modul culori:**
 +
 +{{ :​pm:​prj2024:​rvirtan:​schema_culori.jpg |}}
 +
 +{{ :​pm:​prj2024:​rvirtan:​photo_culori.jpeg?​300 |}}
 +
 +**Modul fire:**
 +
 +{{ :​pm:​prj2024:​rvirtan:​schema_fire.jpg |}}
 +
 +{{ :​pm:​prj2024:​rvirtan:​photo_fire.jpeg?​300 |}}
 +
 +**Modul morse:**
 +
 +{{ :​pm:​prj2024:​rvirtan:​schema_morse.jpg |}}
 +
 +{{ :​pm:​prj2024:​rvirtan:​photo_morse.jpeg?​300 |}}
 +
 +**Proiect finalizat:​**
 +
 +{{ :​pm:​prj2024:​rvirtan:​final.jpeg?​300 |}}
  
 ===== 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 StudioCodeVisionAVR) +  * 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 sussau direct de aici.{{:​pm:​prj2024:​rvirtan:​bombmanual.pdf|}}
- +
-<​note>​ +
-Listă cu documentedatasheet-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>​ 
  
pm/prj2024/rvirtan/marian.irimia2708.1714335625.txt.gz · Last modified: 2024/04/28 23:20 by marian.irimia2708
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0