This shows you the differences between two versions of the page.
pm:prj2022:imacovei:iarina.dalimon [2022/04/21 17:33] iarina.dalimon created |
pm:prj2022:imacovei:iarina.dalimon [2022/05/27 20:55] (current) iarina.dalimon [Download] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | Hangman | + | ====== Hangman ====== |
+ | ===== Introducere ===== | ||
+ | |||
+ | In cadrul acestui proiect am implementat unul din cele mai cunoscute jocuri: Spanzuratoarea. Scopul acestuia este de a crea un mediu in care oamenii sa se distreze si care poate fi reutilizat. Am pornit de la jocul clasic pe care toti il stim si am simplificat modalitatea de reprezentarea a introducerii unei litere gresite. Astfel, cand este introdusa o litera care nu se afla in cuvant, se va aprinde un led rosu. In momentul in care s-au aprins cele 3 leduri de pe breadboard, jucatorul a pierdut si jocul s-a terminat. | ||
+ | |||
+ | ===== Descriere generală ===== | ||
+ | |||
+ | Pentru a introduce un cuvant, un jucator trebuie sa apese pe butonul de pe breadboard. Dupa introducerea cuvantului, se va afisa pe LCD numarul de litere reprezentat prin liniute. Celalalt jucator va introduce pe rand cate o litera. Daca este corecta, litera se va afisa in locul corespunzator pe LCD. In caz contrat, se va aprinde un led. In momentul in care toate literele au fost ghicite sau toate cele 3 leduri s-au aprins, jocul s-a terminat. Atat cuvantul, cat si literele vor fi intoduse prin modul senzor de atingere capacitiv TTP229. | ||
+ | |||
+ | |||
+ | **Schema bloc** | ||
+ | |||
+ | {{ :pm:prj2022:imacovei:pm.png?300 |}} | ||
+ | |||
+ | |||
+ | **Schema electrica** | ||
+ | |||
+ | {{ :pm:prj2022:imacovei:schematic.png?300 |}} | ||
+ | ===== Hardware Design ===== | ||
+ | |||
+ | Componente: | ||
+ | * fire mama-tata/ tata-tata | ||
+ | * modul senzor de atingere capacitiv TTP229 | ||
+ | * breadboard HQ (830 puncte) | ||
+ | * placa de dezvoltare compatibila cu arduino uno r3 (ATmega328p) + cablu | ||
+ | * buton 6x6x6 | ||
+ | * 3 leduri rosii | ||
+ | * shield pentru Arduino cu LCD 1602 | ||
+ | * rezistor 0.25W 220Ω | ||
+ | |||
+ | ===== Software Design ===== | ||
+ | |||
+ | Mediu de dezvoltare: | ||
+ | * Arduino IDE | ||
+ | |||
+ | Librarii si surse 3rd party: | ||
+ | * LiquidCrystal_I2C.h | ||
+ | |||
+ | Surse si functii implementate: | ||
+ | |||
+ | * setup() → porneste ecranul LCD si seteaza pinii pentru senzorul de atingere si leduri | ||
+ | * loop() → trece prin etapele jocului | ||
+ | * getkey() → returneaza valoarea obtinuta de senzorul de atingere | ||
+ | * fctStartGame() → afisare pe ecranul LCD a mesajului initial | ||
+ | * fctStartGameHelper() → seteaza diverse valori | ||
+ | * getWord () → salveaza cuvantul introdus de un jucator, care urmeaza sa fie ghicit de al 2lea | ||
+ | * getLetterFromIn() → cifrele introduse prin intermediul senzorului de atingere sunt transformate in litere | ||
+ | * guessWord() → literele care sunt introduse de al 2lea jucator | ||
+ | * getLetter () → cifrele introduse cu ajutorul senzorului de atingere | ||
+ | * isLetterCorrect (char letter) → verifica daca litera introdusa face parte din cuvant | ||
+ | * update (int code) → afiseaza pe ecranul LCD-ului literele ghicite | ||
+ | * resetValues() → reseteaza valorile variabilelor folosite | ||
+ | * restartGame() → reinitializeaza jocul | ||
+ | * mesajFinale() → afisarea mesajului final | ||
+ | |||
+ | ===== Rezultate Obţinute ===== | ||
+ | |||
+ | Link demo: https://youtu.be/vSUZQqvBr90 | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | Acest proiect m-a ajutat sa fixez anumite notiuni de PM. A fost o experienta foarte utila si distractiva sa conectez componentele fizic | ||
+ | ===== Download ===== | ||
+ | |||
+ | Arhiva: {{:pm:prj2022:imacovei:hangman.zip|}} | ||
+ | ===== Jurnal ===== | ||
+ | * 20 aprilie → alegere tema proiect | ||
+ | * 21 aprilie → creare paginia wiki | ||
+ | * 4 mai → comanda componente | ||
+ | * 19 mai → scris codul pentru conectarea ledurilor si a lcd-ului la placuta | ||
+ | * 20 mai → scris codul pentru logica jocului | ||
+ | * 21 mai → conectare componente fizic si modificari cod | ||
+ | * 22 mai → scris codul pentru conectarea senzorului de atingere | ||
+ | * 27 mai → documentatia wiki | ||
+ | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | * https://www.youtube.com/watch?v=NXZR0p-kX1A&ab_channel=RDIoTDEMO | ||
+ | * TTP229-datasheet | ||
+ | * Shield pentru Arduino cu LCD si Tastatura (LCD 1602 cu Keypad)-datasheet | ||
+ | * https://docs.arduino.cc/learn/electronics/lcd-displays-datasheet | ||
+ | |||
+ | |||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> |