Table of Contents

Trivia Game

Introducere

Proiectul constă în realizarea unui joc trivia de tip 1v1. Întrebările vor fi afișate pe un ecran LCD și cel mai rapid jucător va avea șansa să răspundă la întrebare câștigând sau pierzând puncte. În funcție de răspunsul dat, se va aprinde un LED rosu/verde și va fi redată o anumită melodie. Răspunsul jucătorului va fi preluat cu ajutorul unui modul joystick.

Descriere generală

Înainte de a începe concursul, jucătorii trebuie să apese un buton. Apoi, prima întrebare va aparea pe ecranul LCD. Primul jucător care va atinge senzorul infrarosu va avea oportunitatea să răspundă la întrebare și să câștige sau să piardă puncte. Pentru a alege o variantă de raspuns, utilizatorul va folosi un joystick.

Schemă bloc

Hardware Design

Lista piese:

Schema circuit:

Scheme electrice:

Rezultat practic:

Software Design

Proiectul a fost realizat în Arduino IDE. În implementarea sa, am folosit următoarele biblioteci:

Jocul urmăreste acest workflow:

Determinare variantă de răspuns:

Pentru a afla ce răspuns a afle jucătorul, citesc valoarea de pe axa Ox. Dacă aceasta este mai mică decât 500, înseamna că joystick-ul a fost îndreptat spre stanga, adică a fost aleasă varianta A. În mod contrar, a fost aleasă optiunea B. În plus, pentru a evita citirea răspunsului înainte ca jucătorul sa fie sigur, am ales să citesc valoarea doar când butonul joystick-ului este apăsat (switch-ul).

Rezultate Obţinute

Concluzii

Pentru mine, proiectul a reprezentat cea mai interesantă parte de la această materie, deoarece am avut ocazia să lucrez la o temă aleasă de mine, care să mă motiveze și la care să îmi facă placere să muncesc. Astfel, am ajuns să învăt într-un mod interactiv și să îmi descopăr o pasiune pe care, cu siguranță, o voi urma în continuare.

Am reușit să realizez aproape tot ce mi-am propus. Un aspect la care a trebuit sa renunt a fost numărul variantelor de răspuns. Inițial, mi-am dorit să existe 4 opțiuni, dar din cauza limitării numarului de caractere disponobile impuse de dimensiunea ecranului LCD a trebuit să mă rezum doar la 2. Am întâmpinat această problema și atunci când am ales întrebările, fiind nevoită să renunț la multe întrebări pe care mi-aș fi dorit să le adaug. Așadar, o primă îmbunătățire pe care aș face ar fi să schimb ecranul cu unul mult mai mare.

În plus, un aspect pe care l-am schimbat pe parcursul proiectului a fost categoria întrebărilor. Am considerat că ar fi mai interesant ca întrebările să fie pe tema PM. Astfel, jocul poate rezolva dileme precum “Cine e mai bun la PM 8-)?” sau poate reprezenta un mod distractiv de a te pregăti pentru examen. Jocul poate fi foarte usor modificat pentru a se acoperi orice subiect de întrebări.

Download

triviagame-code.txt

Jurnal

20 Aprilie - Am decis tema finală a proiectului

27 Aprilie - Am încarcat documentația inițiala a proiectului și am comandat piesele necesare

18 Mai - Am terminat componenta hardware

25 Mai - Am implementat codul proiectului

Bibliografie/Resurse

Pentru realizarea schemelor electrice:

https://www.tinkercad.com/dashboard

Pentru folosirea joystick-ului:

https://arduinogetstarted.com/tutorials/arduino-joystick

Pentru folosirea LCD-ului cu interfața I2C :

https://arduinogetstarted.com/tutorials/arduino-lcd-i2c https://ocw.cs.pub.ro/courses/pm/lab/lab6-2022

Pentru folosirea mini difuzorului si redarea efectelor sonore:

https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023

Pentru folosirea senzorilor IR cu întreruperi:

https://circuitdigest.com/microcontroller-projects/interfacing-ir-sensor-module-with-arduino https://ocw.cs.pub.ro/courses/pm/lab/lab2-2023

Export to PDF