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:38]
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 27: Line 27:
  
 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 Culori: Jucătorii reacționează la un bec care luminează în patru culori diferite și trebuie să apese câteva butoane în ordine corectă.
-corect de apăsat. 
  
 Modulul Fire: Involvă diverse fire colorate care trebuie tăiate conform indicațiilor din manualul jocului. Modulul Fire: Involvă diverse fire colorate care trebuie tăiate conform indicațiilor din manualul jocului.
Line 37: Line 36:
 </​note>​ </​note>​
  
 +{{ :​pm:​prj2024:​rvirtan:​bomb_gamefinas.png |}}
 ===== Hardware Design ===== ===== Hardware Design =====
  
-<note tip> +**Componente:** 
-Aici puneţi tot ce ţine de hardware design: + 
-  ​listă de piese +Arduino MEGA 2560 
-  ​scheme electrice ​(se pot lua şi de pe Internet şi din datasheet-uri, e.ghttp://www.captain.at/​electronic-atmega16-mmc-schematic.png) + 
-  diagrame de semnal ​ +LCD 16x2 (I2C) 
-  rezultatele simulării + 
-</​note>​+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.1714336681.txt.gz · Last modified: 2024/04/28 23:38 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