This shows you the differences between two versions of the page.
pm:prj2022:dene:laser_whackamole [2022/04/28 23:41] robert_eugen.damian |
pm:prj2022:dene:laser_whackamole [2022/06/03 22:16] (current) robert_eugen.damian |
||
---|---|---|---|
Line 14: | Line 14: | ||
===== Descriere generală ===== | ===== Descriere generală ===== | ||
+ | Jucatorul va putea controla o tureta laser cu ajutorul unui joystick. Cu aceasta va tinti la un grid format din LED-uri care se vor aprinde in pozitii aleatorii la un interval de timp. La terminarea jocului dupa un anumit timp, jucatorul va putea sa-si vizualizeze scorul din jocul precedent si sa apese butonul de reset pentru a incepe un joc nou. | ||
==== Schema bloc ==== | ==== Schema bloc ==== | ||
+ | {{:pm:prj2022:dene:laser_schema_bloc.png}} | ||
+ | |||
+ | ==== Layout ==== | ||
+ | {{:pm:prj2022:dene:layout_laser.png?800|}} | ||
+ | |||
+ | ==== Schema electrica ==== | ||
+ | {{:pm:prj2022:dene:lasersketch1_schem.png?800|}} | ||
Line 23: | Line 31: | ||
* Placuta arduino | * Placuta arduino | ||
* Breadboard | * Breadboard | ||
- | * LCD | ||
* Servomotoare | * Servomotoare | ||
* Rezistente | * Rezistente | ||
* Fire de legatura | * Fire de legatura | ||
- | * Buzzer | ||
* LED-uri | * LED-uri | ||
* Receptoare laser | * Receptoare laser | ||
* Dioda laser | * Dioda laser | ||
* Joystick | * Joystick | ||
- | * Porti NAND pentru a reduce numarul de intrari/iesiri din Arduino | + | * 2 module MUX/DEMUX |
+ | * Modul Pan/Tilt | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Proiectul a fost dezvoltat cu ajutorul IDE-ului Arduino IDE. | ||
+ | In componenta sa am utilizat ca fisiere externe biblioteca "Servo.h" pentru a genera automat semnalul PWM ce trebuia trimis la servomotoare pentru a directiona tureta. | ||
+ | In linii mari, programul incepe cu o verificare a tuturor LED-urilor rosii, pentru a atentiona jucatorul de o potentiala problema, precum si a-i oferi sansa sa updateze codul sursa ce se afla pe microprocesor. | ||
+ | Continua apoi cu bucla principala: verifica potentiale actualizari ale pozitiei joystickului, pentru a actualiza pozitia turetei, | ||
+ | iar apoi verifica utilizarea laserului, pe partea de tureta. | ||
+ | Pe partea de grid, verifica daca se afla in starea de incipit, idle, sau LED activ, urmand apoi sa ia o actiune, in cazul in care a trecut suficient timp asociat starii respective: daca a trecut prea mult timp de cand s-a aprins un led tinta, acesta se va inchide si se va afisa un mesaj in terminalul serial, ori daca jucatorul a nimerit o tinta, se va afisa un mesaj si in acest sens, informandu-l pe acesta de scorul sau. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Rezultatele obtinute sunt functional extrem de similare cu cele propuse initial, insa diavolul se afla in detalii: interfata cu jucatorul nu este tocmai prietenoasa, proiectul foloseste mai putine tinte, deoarece 3 dintre senzorii de laser s-au ars in decursul testarii, iar modulele multiplexoare s-au dovedit a fi inutile. Insa jocul, cu putin de polish, ar fi foarte playable si chiar fun. | ||
+ | |||
+ | ===== Demo ===== | ||
+ | |||
+ | https://youtu.be/4f9iN698TU4 | ||
+ | |||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul a fost interesant, si a reprezentat o provocare, asadar a reprezentat o experienta per total placuta. Ca lectie invatata ar fi | ||
+ | informarea integrala referitor la toate componentele, deoarece am avut surprize pe parcursul dezvoltarii: informatiile de pe site-ul comerciantului erau complet opuse a ceea ce am sesizat experimental in cazul senzorilor de lumina rosie. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2022:dene:layout_scheme.zip|}} | ||
+ | |||
+ | {{:pm:prj2022:dene:pan-tilt-control_v2.zip|Codul sursa}} | ||
- | ===== Jurnal ===== | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
+ | <html> <a href="https://assets.nexperia.com/documents/data-sheet/74HC_HCT4067.pdf"> Modul Multiplexor </a></html> | ||
+ | |||
+ | <html> <a href="https://www.arduino.cc/reference/en/"> Documentatie Arduino </a></html> | ||
+ | |||
+ | <html> <a href="https://www.codrey.com/electronic-circuits/the-mysterious-laser-receiver-sensor-module/"> Tutorial Senzori </a></html> | ||
<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> | ||