Differences

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

Link to this comparison view

pm:prj2022:arosca:lung_destroyer [2022/05/27 18:59]
bogdan_marian.cazan [Hardware Design]
pm:prj2022:arosca:lung_destroyer [2022/05/27 22:07] (current)
bogdan_marian.cazan [Rezultate Obţinute]
Line 5: Line 5:
  
 ===== Descriere generală ===== ===== Descriere generală =====
-{{:​pm:​prj2022:​arosca:​schema_bloc_cazan.png?​200|}}+ 
 +Jocul porneste cu un ecran de intro, pe care apare numele jocului, "Light the way Yell for Freedom",​ nume relativ sugestiv. Jocul este inspirat  
 +din mecanica jocului Dino Run din browser-ul Google, atunci cand suntem offline, in care player-ul trebuie sa se urce pe obiecte, ca in cazul unui joc de tip Mario. Pentru a sari peste obiecte, am folosit un senzor de lumina, care atunci cand citeste o valoare a intensitatii luminii mai mare decat o valoare data, va sari peste obiect (sau va sari pur si simplu, tinand de sincronizarea noastra). Pentru a face jocul mai interesant, oferim posibilitatea de a alege o portiune de joc mai simpla, prin apasarea unui buton care activeaza un senzor de sunet. In momentul in care senzorul se activeaza trebuie sa tipam puternic (daca nu o facem, jocul va ramane pe nivelul hard :) ), pana beculetul RGB se va activa. In momentul acesta, daca becul este rosu, suntem pe dificultate Hard, iar daca este pe culoarea verde, atunci avem o dificultate normala. Atenie !!! Dificultatea normala nu va ramane permanent la fel, ea va trece la un moment dat inapoi in faza de dificultate Hard. 
 + 
 +=== Schema Bloc === 
 +{{:​pm:​prj2022:​arosca:​schema_bloc_cazan.png?​700|}}
 ===== Hardware Design ===== ===== Hardware Design =====
 Lista componentelor folosite: Lista componentelor folosite:
Line 17: Line 22:
   * butoane push   * butoane push
   * buzzer   * buzzer
-==== Schema ​electrica ​====+ 
 +==== Schema ​Electrica ​==== 
 +{{:​pm:​prj2022:​arosca:​unknown.png?​800|}}
  
 ===== Software Design ===== ===== Software Design =====
  
-TBA+=== Mediu de dezvoltare: === 
 +  * Arduino IDE pentru realizarea programului 
 +  * Eagle pentru realizarea schemei electrice
  
-===== Rezultate Obţinute =====+=== Librarii Folosite ​=== 
 +  * Wire.h 
 +  * LiquidCrystal_I2C.h 
 +  * ClosedCube_OPT3001.h
  
-TBA+=== Detalii implementare si descrierea codului === 
 +Am inceput implementarea proiectului prin atasarea la Arduino a ecranului LCD I2C, pentru a ii testa ca functionalitatea este ok. Am continuat apoi cu conectarea unui buton la placa, astfel incat sa pot testa etapele de realizare ale jucatorului si ale mapei. In continuare, am ajuns la folosirea senzorului de lumina in locul butonului, pentru etapa de sarit a eroului creat. M-am folosit aici de biblioteca ClosedCube_OPT3001.h,​ pentru a putea citi mai usor intensitatea luminii, masurata in lux. Astfel, am pus o limita pentru partea de sarit in valoare de 1500 de lucsi, care daca o depasesc , atunci voi sari si cat timp valoarea este activa (adica mai mare) iar jucatorul se afla deja pe un obstacol, acesta va merge pe el.In momentul in care sursa de lumina este indepartata,​ jucatorul va cadea de pe obstacol, si va pierde.
  
 +Daca jucatorul se impiedica de un obstacol, va pierde mereu. Jocul este de tip endless, in momentul in care se pierde meciul, jocul se va relua.
 +In continuare, am adaugat buzzer-ul pentru a reda diferite sunete, de coliziune, de pierdere, de incepere a jocului, etc. Ultima parte a fost cea de reutilizare a butonului prin attachInterrupt,​ cu alt scop, anume pentru a putea schimba dificultatea jocului. Dificultatea jocului este data de viteza cu care se deplaseaza obiectele, controlata printr-o functie de delay(). Astfel, dificultatea este Hard pentru delay de 40, iar dificultatea este normala pentru un delay de 120.
 +
 +Pentru ca jucatorul sa stie pe ce dificultate se afla, am adaugat si un LED RGB, conectat prin PWD, care va fi colorat in rosu pentru Hard si in verde pentru Normal. Schimbarea de dificultate se va realiza prin apasarea butonului si strigarea efectiva a jucatorului. Dificultatea va reveni la Hard in momentul in care scorul care se afla in dreapta sus este un numar multiplu de 15.
 +===== Rezultate Obţinute =====
 +{{:​pm:​prj2022:​arosca:​cazan_poza0.jpeg?​600|}}
 +{{:​pm:​prj2022:​arosca:​cazan_poza1.jpeg?​600|}}
 +{{:​pm:​prj2022:​arosca:​cazan_poza2.jpeg?​600|}}
 +Link video: https://​youtu.be/​2cKj10Ttmkk
 ===== Concluzii ===== ===== Concluzii =====
-TBA+A fost un proiect destul de interesant si fun de implementat,​ si am intampinat mai multe probleme, multe dintre acestea fiind de parte hardware, cum ar fi: intelegerea functionalitatii unor componente care au o documentatie relativ putin explicata, precum si montarea si lipirea unor pini pe diversi senzori, cum ar fi senzorul de lumina, care a dat ceva emotii, fiind prima oara cand a trebuit sa lipesc de asa maniera. De asemenea, testarea a fost una destul de fun, intrucat stand la camin, senzorul de sunet testat seara a atras multe urechi in jurul camerei :). 
 +Overall, pot spune ca rezultatul obtinut este mai mult decat satisfacator,​ si chiar a iesit mult mai bine decat chiar credeam, in teorie.
  
 ===== Download ===== ===== Download =====
- +{{:​pm:​prj2022:​arosca:​proiect_pm_cazan_bogdan_marian_333cb.zip|}}
-TBA+
  
 ===== Jurnal ===== ===== Jurnal =====
Line 38: Line 60:
   * 20.04.2022 : Alegere tema   * 20.04.2022 : Alegere tema
   * 21.04.2022 : Realizare pagina pe ocw   * 21.04.2022 : Realizare pagina pe ocw
 +  * 24.04.2022: Comandarea pieselor
 +  * 11.05.2022: Inceperea efectiva a implementarii proiectului
 +  * 22.05.2022: Am terminat de implementat logica de baza a proiectului
 +  * 25.05.2022: Finalizarea micilor detalii adaugate + testare amanuntita
 +  * 27.05.2022: Finalizarea pagina de wiki de pe ocw
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab6-2022 
-Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. +  * https://​ocw.cs.pub.ro/​courses/​pm/​lab/​lab2-2022 
-</note>+  ​https://ocw.cs.pub.ro/​courses/​pm/​lab/​lab3-2022 
 +  * https://​github.com/​closedcube/ClosedCube_OPT3001_Arduino
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
- 
pm/prj2022/arosca/lung_destroyer.1653667194.txt.gz · Last modified: 2022/05/27 18:59 by bogdan_marian.cazan
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