Proiectul este un sistem interactiv care testează memoria și viteza de reacție a utilizatorului printr-un joc de tip „Simon Says”, îmbunătățit cu funcționalități moderne. Sistemul generează o secvență luminoasă aleatorie folosind LED-uri colorate, pe care utilizatorul trebuie să o reproducă apăsând butoanele corespunzătoare.
Sistemul ajustează automat intensitatea LED-urilor în funcție de nivelul jocului (folosind PWM) și de lumina ambientală (citită cu un senzor LDR prin ADC). Scorul este afișat pe un LCD 16×2 conectat prin interfață I2C, iar scorul maxim este salvat în EEPROM pentru persistență după resetare.
Scopul proiectului este de a crea un sistem embedded educațional care integrează mai multe concepte fundamentale din laboratoare: PWM, ADC, I2C, EEPROM, I/O digital. Este util atât pentru învățare, cât și ca prototip demonstrativ.
Sistemul interactiv include următoarele componente hardware și logica aferentă implementată pe un Arduino Uno:
- Secvența de joc este generată de microcontroller. - LED-urile semnalizează vizual secvența. Intensitatea lor este controlată dinamic prin PWM. - Utilizatorul reproduce secvența apăsând pe 4 butoane tactile. - Sistemul oferă feedback auditiv prin buzzer, tot cu ajutorul PWM. - Nivelul de lumină ambientală este măsurat printr-un LDR conectat la un pin analogic, citit prin ADC. Intensitatea LED-urilor este ajustată automat în funcție de valoarea obținută. - Informații precum scorul curent și nivelul sunt afișate pe un LCD 16×2 prin interfață I2C. - Dacă utilizatorul greșește secvența, jocul este resetat. - Scorul maxim atins este salvat în EEPROM, pentru a fi reținut chiar și după oprirea sistemului.
Acest sistem permite o integrare eficientă a conceptelor embedded într-o aplicație interactivă, vizuală și auditivă.
* Microcontroller (Arduino Uno R3 – ATmega328P) * LCD 16×2 (cu modul I2C) * 4 LED-uri de 5mm (roșu, galben, verde, albastru) * 4 butoane tactile de 6x6mm * Buzzer piezoelectric pasiv * LDR (Light Dependent Resistor) * 4 rezistențe de 220Ω (pentru LED-uri) * 4 rezistențe de 10kΩ (pentru butoane) * 1 rezistență de 10kΩ (pentru divider LDR) * Breadboard standard * Fire jumper (male-male) * Cablu USB pentru alimentare și programare
Proiectul a permis integrarea mai multor concepte fundamentale într-un sistem complet funcțional. Am folosit atât intrări și ieșiri digitale, cât și semnale analogice (ADC), comunicare serială (I2C) și control prin PWM. EEPROM-ul a fost util pentru persistența datelor. Sistemul poate fi extins cu ușurință, de exemplu pentru salvarea scorurilor mai detaliate, conectivitate serială sau integrare cu o aplicație externă.
Se vor încărca în namespace-ul personal.
Resurse Software:
* [Arduino IDE](https://www.arduino.cc/en/software) * [LiquidCrystal\_I2C Library](https://github.com/johnrickman/LiquidCrystal_I2C) * [EEPROM Library](https://www.arduino.cc/en/Reference/EEPROM)
</note>