This shows you the differences between two versions of the page.
pm:prj2023:dene:patriciaceausene.triviagame [2023/05/29 16:50] oana.ceausene [Bibliografie/Resurse] |
pm:prj2023:dene:patriciaceausene.triviagame [2023/05/29 19:21] (current) oana.ceausene [Concluzii] |
||
---|---|---|---|
Line 3: | Line 3: | ||
- | 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. În plus, jucătorii pot alege categoria din care vor fi intrebările. | + | 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ă ===== | ===== Descriere generală ===== | ||
- | Înainte de a începe concursul, jucătorii aleg subiectul întrebărilor (PM sau cultură generală) prin apăsarea unui 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. | + | Î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. |
Line 51: | Line 50: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
- | |||
- | <note tip> | ||
- | 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 | ||
- | </note> | ||
- | |||
Proiectul a fost realizat în **Arduino IDE**. | Proiectul a fost realizat în **Arduino IDE**. | ||
- | În implementarea sa, am folosit următoarele biblioteci | + | În implementarea sa, am folosit următoarele biblioteci: |
* //LiquidCrystal_I2C.h// facilitează interacțiunea cu ecranele LCD cu interfață I2C și oferă funcții pentru a afișa texte | * //LiquidCrystal_I2C.h// facilitează interacțiunea cu ecranele LCD cu interfață I2C și oferă funcții pentru a afișa texte | ||
* //Wire.h// facilitează inițializarea, transmiterea și recepționarea de date prin I2C | * //Wire.h// facilitează inițializarea, transmiterea și recepționarea de date prin I2C | ||
Line 87: | Line 76: | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | {{:pm:prj2023:dene:triviagame_final.jpeg?700|}} |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
===== Concluzii ===== | ===== Concluzii ===== | ||
Line 96: | Line 82: | ||
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. | 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 ===== | ===== Download ===== | ||
- | + | {{:pm:prj2023:dene:triviagame-code.txt|}} | |
- | <note warning> | + | |
- | 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**. | + | |
- | </note> | + | |
===== Jurnal ===== | ===== Jurnal ===== | ||
Line 119: | Line 102: | ||
- | **Resurse Software** | + | Pentru realizarea schemelor electrice: |
- | **Resurse Hardware**. | + | |
+ | 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 | ||
+ | |||
+ | |||