Escape Room

Autor: Matei Bianca Elena
Grupa: 335CB

Te iubesc si imi e dor de tine. A. R.

Introducere

  • Escape Room este un joc de atentie si agilitate, in care scopul final este de a evada din captivitate inainte de a-ti suna ceasul (la propriu!).
  • Player-ul afisat pe un ecran LCD ce se afla in fata unui labirint este controlat de 4 butoane pe sublima muzica a unui buzzer ce indica timpul ramas pentru a evada.
  • Ideea acestui joc s-a nascut din dorinta de a imbina cunostintele dobandite referitoare la proiectarea microprocesoarelor cu ceva interactiv si distractiv.
  • Pentru mine a fost util acest proiect pentru ca astfel am putut aplica notiunile prezentate in cadrul laboratoarelor, iar pentru umanitate, sper ca acesta sa poata fura lumina reflectoarelor intr-un mod placut pret de aproximativ 60 de secunde.

Descriere generală

Schema Bloc:

Placuta Arduino primeste input de la cele 4 butoane, informatii pe care le foloseste pentru a muta player-ul afisat ca output pe ecranul LCD. Buzzer-ul este tot element de output, acesta reda sunete in conformitate cu timpul ramas pentru jucator de a evada.

Hardware Design

Lista de piese:

  • Arduino Uno
  • Breadboard
  • Ecran LCD Nokia 5110
  • Buzzer
  • 4 butoane
  • 4 rezistente de 3300 de ohmi
  • 1 rezistenta de 330 de ohmi
  • fire de legatura tata-tata

Software Design

Mediu de dezvoltare: Arduino IDE

Biblioteci utilizate:

  • <SPI.h>
  • <Adafruit_GFX.h>
  • <Adafruit_PCD8544.h>

In partea de Setup initializez labirintul pentru nivelul 1. Pentru celelalte 2 nivele ale jocului exista cate 2 functii care genereaza obstacolele. Coordonatele obstacolelor sunt retinute in vectori care sunt resetati in functie de nivel, pentru a ne asigura ca player-ul respecta aceste limitari.

Pe parcursul unui nivel, buzzerul va emite sunete de frecventa din ce in mai mica la un interval de 5 secunde, pentru a semnala timpul ramas jucatorului pentru a ajunge la iesire. Atunci cand jucatorul ajunge la iesire, se afiseaza pe ecran un mesaj corespunzator, precum si un sunet de victorie. La fel se intampla si atunci cand acesta nu reuseste sa termine in timpul setat.

Rezultate Obţinute

P.S. Acesta e doar nivelul 1!

Concluzii

In principiu, consider ca proiectul meu a atins obiectivul propus, acela de a crea un joc simplu, functional, setat pe nivele de dificultate.

Initial, am dorit sa pun un timer care sa afiseze timpul ramas, insa pinii digitali de pe placuta nu erau suficienti, asa ca am gasit alternativa de a folosi un buzzer pe post de cronometru sonor. Si acest lucru a creat cateva dificultati, deoarece erau necesare delay-uri care opreau intregul program si nu mai puteam detecta corespunzator apasarea butoanelor, insa am gasit solutia de a folosi sunete continue setate pe frecvente diferite, care pot fi executate in acelasi timp cu restul programului, fara a il bloca.

Cred ca pe partea de aranjament a firelor se mai putea lucra, butoanele nu sunt foarte usor de accesat.

Insa, in final, mi-a placut sa lucrez la acest proiect, am invatat si lucruri noi, iar dupa ce am rezolvat partea principala, si anume labirintul, nu a fost foarte greu sa mai adaug cateva elemente, si anume afisarea pe ecran a diferitor mesaje, efecte de sunet specifice victoriei/esecului si probabil as fi pus si mai multe elemente diferite, daca as mai fi avut suficienti pini pe placuta.

Download

335cb_matei_bianca-elena_pm.zip

Trebuie descarcate in prealabil bibliotecile:

  • <Adafruit_GFX.h>
  • <Adafruit_PCD8544.h>

Bibliografie/Resurse

pm/prj2022/rtilimpea/escape-room.txt · Last modified: 2022/11/16 08:53 by alexandru.radu1202
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