This shows you the differences between two versions of the page.
pm:prj2025:rnedelcu:cosmin.leonte1201 [2025/05/27 23:34] cosmin.leonte1201 [Software Design] |
pm:prj2025:rnedelcu:cosmin.leonte1201 [2025/05/28 13:40] (current) cosmin.leonte1201 [Rezultate Obţinute] |
||
---|---|---|---|
Line 42: | Line 42: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | |||
<note tip> | <note tip> | ||
Librării utilizate | Librării utilizate | ||
- | LiquidCrystal_I2C.h – pentru afișarea mesajelor pe un LCD 16x2 conectat prin I2C (adresă 0x27) | + | * LiquidCrystal_I2C.h – pentru afișarea mesajelor pe un LCD 16x2 conectat prin I2C (adresă 0x27) |
Structura aplicației | Structura aplicației | ||
- | 1. Inițializare (setup) | ||
- | Se configurează pin-urile pentru LED-uri, butoane și buzzer | ||
- | LCD-ul este pornit, cu iluminare activată | + | - Inițializare (setup) |
+ | * Configurarea pin-urilor pentru LED-uri, butoane și buzzer | ||
+ | * Inițializarea LCD-ului și activarea iluminării | ||
+ | * Generarea secvenței aleatoare și pornirea jocului | ||
- | Se generează o secvență aleatoare și se pornește jocul | + | - Start joc (resetGame) |
+ | * Afișarea instrucțiunilor pe LCD | ||
+ | * Așteptarea apăsării butonului de reset | ||
+ | * Inițializarea secvenței cu 3 | ||
- | 2. Start joc (resetGame) | + | - Derulare joc (loop) |
- | Se afișează instrucțiuni pe LCD | + | * Afișarea scorului curent |
- | + | * Redarea vizuală și sonoră a secvenței | |
- | Se așteaptă apăsarea butonului de reset | + | * Citirea inputului de la utilizator |
- | + | * Verificarea răspunsului | |
- | Jocul pornește de la o secvență de 3 pași | + | * Avansare în joc sau restart în caz de greșeală |
- | + | ||
- | 3. Derulare joc (loop) | + | |
- | Se arată scorul (numărul de pași reușiți) | + | |
- | + | ||
- | Se redă vizual și sonor secvența curentă | + | |
- | + | ||
- | Utilizatorul introduce secvența prin butoane | + | |
- | + | ||
- | Se validează secvența introdusă | + | |
- | + | ||
- | Se trece la nivelul următor sau se reîncepe în caz de greșeală | + | |
Funcționalități principale | Funcționalități principale | ||
- | Control prin 3 butoane colorate și unul de reset | + | * Control prin 3 butoane colorate + 1 buton de reset |
- | + | * Feedback audio pentru fiecare apăsare | |
- | Feedback audio pentru fiecare apăsare | + | * LED-uri pentru culorile: roșu, galben, verde |
- | + | * LCD cu mesaje (scor, instrucțiuni, eșec) | |
- | LED-uri corespunzătoare culorilor: roșu, galben, verde | + | * Joc continuu până la greșeală |
- | + | * Resetare prin butonul reset | |
- | LCD cu mesaje dinamice (scor, instrucțiuni, eșec) | + | |
- | + | ||
- | Joc infinit până la greșeală | + | |
- | + | ||
- | Secvență aleatoare cu până la 100 de pași | + | |
- | + | ||
- | Resetare completă cu un singur buton | + | |
Comportamente cheie | Comportamente cheie | ||
- | Redare secvență: LED + sunet pentru fiecare element | + | * Redare secvență: LED + ton pentru fiecare pas |
- | + | * Citire input: detectarea apăsării și feedback | |
- | Citire input: detectare apăsare și confirmare cu feedback | + | * Verificare: compararea secvenței introduse cu cea generată |
- | + | * Pierderea: afișarea mesajului și așteptare restart | |
- | Verificare: compară răspunsul utilizatorului cu secvența | + | |
- | + | ||
- | Pierderea: afișare mesaj + așteptare restart | + | |
</note> | </note> | ||
Line 102: | Line 84: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Am implementat proiectul cu succes. Functioneaza asa cum a fost intentionat si cum este descris in descrierea generala. |
+ | |||
+ | |||
+ | Link videoclip youtube: https://www.youtube.com/shorts/MOuBq3q616s | ||
</note> | </note> | ||