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.1746994691.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