This is an old revision of the document!
Impostor Detector
Introducere
O reinterpretare a minigame-ului “Start Reactor” din popularul joc AmongUs (video).
Jucatorul va avea de replicat cateva secvente succesive in care se aprind niste led-uri dintr-o matrice, cu dificultate reglabila si dinamica.
Jocul se va activa daca o persoana este detectata in proximitate.
In functie de rezultatul actiunilor, se porneste o alarma sau jucatorul primeste un premiu, aflat intr-o cutie initial inchisa.
Descriere generală
Ordinea etapelor in care functioneaza jocul este urmatoarea:
Prin intermediul senzorului de distanta se detecteaza daca un User este in apropiere, caz in care se incepe jocul propriu-zis. Cat timp jocul este jucat, senzorul este dezactivat.
Se genereaza o secventa aleatoare in care se aprind cateva LED-uri de pe matrice. (se poate repeta acest pas de maximum 5 ori)
User-ul interactioneaza cu matricea de butoane si incearca sa reproduca secventa aparuta anterior:
Daca greseste: se incheie jocul si se trimite un semnal la buzzer pentru a anunta ca s-a gasit Impostorul.
Daca secventa este corecta: se reia pasul 2, doar ca secventele vor fi mai lungi.
Secventele au fost completate cu succes, deci Arduino actioneaza servomotorul, care deschide cutia cu premiu.
In timp ce este randul user-ului, acesta poate decide sa scada sau sa creasca dificultatea pentru rundele urmatoare, apasand pe cele 2 butoane aditionale, care trimit semnal microcontroller-ului.
Pe timpul jocului, pe un ecran LCD apare constant statusul jocului.
SCHEMA BLOC:
Hardware Design
LISTA DE PIESE SI SCOPUL LOR:
Arduino Uno MEGA328P → microcontroller-ul care este centrul proiectului
Matrice de butoane 4×4 → user-ul apasa pe butoane pentru a replica secventa
Matrice de LED-uri WS2812 → se aprind secvente de led-uri, urmarite de user
Modul LCD 1602 → afiseaza statusul jocului
Buzzer Pasiv → emite o alarma atunci cand se greseste secventa
Butoane aditionale → se poate schimba frecventa cu care se aprind led-urile
Senzor Ultrasonic de Distanță HC-SR04 → daca cineva este aproape, se porneste jocul
Micro Servomotor SG90 → cand se castiga jocul, se deschide o cutie
SCHEMA HARDWARE
Mediu de dezvoltare: Fusion 360
ALEGEREA PINILOR
Modulul LCD este conectat prin I2C ⇒ am folosit pinii de date si clk ai arduino Uno, acestia fiind A4 si A5.
Butoanele de dificultate folosesc intreruperi externe (pentru a putea avea efect in timpul altor actiuni), iar pe Uno acestea exista pe pinii D2 si D3.
Servomotorul se foloseste de PWM incorporat, dar trebuie sa fie conectat pe un pin care accespta PWM. Am ales D10.
Restul componentelor au nevoie de semnale digitale, am incercat sa le grupez pe cat posibil.
Pinii pentru traseele de putere (GND si 5V) sunt toti uniti intre ei si folosesc doar cate un pin de la microcontroller.
FORMA INITIALA SI DOVADA FUNCTIONARII PARTIALE
Am testat individual fiecare componenta (dupa ce am dus toate firele), mai am de realizat software-ul complet
Componentele sunt lipite/insurubate pe o placa de plexiglas pentru a le da o forma compacta
Nu m-am ocupat complet de cable management si design pentru background-ul placii, promit ca o sa arate mai bine de atat firele
De asemenea, inca nu este atasat servomotorul la cutie
Software Design
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
Concluzii
Download
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.
Jurnal
25.04 - Comandat piese
28.04 - Creat pagina ocw initiala
02.05 - Done Milestone 1 (Documentatie)
05.05 - Initiat jurnal
12.05 - Unit fire si lipire initiala (hardware initial)
15.05 - Realizat documentatie hardware
Bibliografie/Resurse
Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.
Export to PDF