This is an old revision of the document!


Sistem interactiv de testare a memoriei și reacției cu adaptare la lumina ambientală
Introducere

Proiectul este un sistem interactiv care testează memoria și viteza de reacție a utilizatorului, combinând afișajul vizual cu feedback sonor. Sistemul generează o secvență luminoasă aleatorie, pe care utilizatorul trebuie să o reproducă corect apăsând butoanele corespunzătoare.

Pe măsură ce nivelul de dificultate crește, LED-urile își modifică intensitatea folosind semnal PWM. În plus, intensitatea LED-urilor este ajustată automat în funcție de lumina ambientală, măsurată printr-un senzor LDR conectat la un pin analogic. Scorul și nivelul atins sunt afișate pe un LCD 16×2 prin comunicare I2C. Scorul maxim atins de utilizator este salvat în EEPROM și păstrat chiar și după resetare.

Scopul proiectului este de a crea o aplicație educativă și interactivă care integrează concepte fundamentale de la laboratoarele de microprocesoare: PWM, ADC, I2C și EEPROM. Este o platformă excelentă pentru învățarea programării microcontrolerelor și interacțiunii cu periferice multiple.

Descriere generală

Sistemul este construit în jurul plăcii Arduino Uno (ATmega328P) și este format din mai multe componente conectate logic:

* LED-uri colorate ce indică o secvență aleatorie. * Butoane pentru introducerea secvenței de către utilizator. * Buzzer pasiv pentru semnal sonor în caz de succes sau greșeală. * LCD 16×2 cu I2C pentru afișarea nivelului și scorului. * Senzor LDR pentru detectarea luminii ambientale. * Memorie EEPROM internă pentru salvarea scorului maxim.

Descriere funcțională

Sistemul pornește prin generarea unei secvențe aleatorii de aprindere a LED-urilor. Utilizatorul trebuie să memoreze această secvență și să o reproducă corect folosind cele patru butoane.

La fiecare nivel reușit, secvența se prelungește și intensitatea LED-urilor crește proporțional, controlată prin PWM. În același timp, în funcție de lumina din mediu, citită cu ajutorul senzorului LDR (prin ADC), sistemul ajustează automat luminozitatea LED-urilor pentru vizibilitate optimă.

În caz de răspuns greșit, buzzer-ul emite un semnal sonor și jocul este resetat. Dacă scorul atins este mai mare decât scorul maxim salvat anterior, acesta este înregistrat în EEPROM pentru a fi reținut permanent.

Hardware Design
Listă de componente utilizate

* Microcontroller: Arduino Uno R3 (ATmega328P) * Afișaj: LCD 16×2 cu adaptor I2C * LED-uri: 4 LED-uri colorate de 5mm (roșu, galben, verde, albastru) * Butoane: 4 butoane tactile 6x6mm * Buzzer: buzzer piezoelectric pasiv (pentru PWM) * Senzor lumină: LDR (Light Dependent Resistor) * Rezistențe:

  • 4x 220Ω (pentru LED-uri)
  • 4x 10kΩ (pentru butoane)
  • 1x 10kΩ (pentru divider cu LDR)

* Memorie: EEPROM internă (ATmega328P) * Altele: Breadboard, fire jumper, cablu USB

Concepte din laborator aplicate

* PWM (Lab 3): utilizat pentru controlul intensității LED-urilor și generarea tonurilor cu buzzer-ul. * ADC (Lab 4): citirea valorii analogice de la senzorul LDR pentru reglarea luminii în funcție de mediul ambiental. * I2C (Lab 6): comunicare cu LCD-ul pentru afișarea nivelului și a scorului. * EEPROM: salvarea scorului maxim în memorie persistentă internă.

Concluzie

Proiectul propus integrează concepte esențiale din domeniul microprocesoarelor într-o aplicație practică, interactivă și educativă. Prin combinarea mai multor periferice și tehnologii (PWM, ADC, I2C, EEPROM), proiectul demonstrează capacitatea de a construi un sistem embedded complet, cu feedback vizual și auditiv, adaptabil condițiilor de mediu.

pm/prj2025/avaduva/andreea_irina.iurea.1746994714.txt.gz · Last modified: 2025/05/11 23:18 by andreea_irina.iurea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0