Proiect realizat de Ioniță Alexandru-Andrei, 332CA
Care este scopul proiectului?
Să dezvolte un dispozitiv multifuncțional pentru noptieră, integrând protocoalele și modulele studiate la laborator (USART, timere/întreruperi, PWM, ADC, SPI, I²C) într-un sistem util și interactiv.
Ce a inspirat ideea?
Inspirat de ecosistemele smart home și de gadgeturile de tip „all-in-one” pentru casă, proiectul își propune să ofere informații de mediu și divertisment audio într-un singur dispozitiv compact.
De ce este util acest proiect?
Acest ceas multifuncțional:
afișează ora și temperatura în timp real;
redă radio FM și muzică de pe microSD;
permite setarea alarmelor și redarea audio prin aplicație mobilă.
Componentă | Funcționalitate principală |
---|---|
Arduino Mega 2560 (CH340) | MCU, gestionare protocoale I²C/SPI/UART/PWM/ADC și ISR. |
RTC DS3231 | Ceas în timp real I²C, acuratețe ridicată. |
LCD 16×2 I²C (PCF8574) | Afișare temperatură, titlu melodie și mesaje. |
Radio FM TEA5767 | Recepție FM I²C, control frecvență și volum. |
TM1637 4×7-seg | Afișare ora format HH:MM multiplexat. |
Senzor temperat. LM35 | Citire analogică via ADC (10 mV/°C). |
Modul MP3 YX5200 | Decodare MP3 de pe microSD, control serial UART. |
Amplificator TPA3118 (12 V) | Amplificator Clasa D, până la 60 W. |
Modul Bluetooth HC-05 | Comunicație UART master/slave pentru aplicație mobilă. |
Nume componentă | Cantitate | Link achiziție | PIN |
---|---|---|---|
Arduino Mega 2560 | 1 | https://www.optimusdigital.ro/.../mega-2560-ch340.html | - |
RTC DS3231 | 1 | https://www.optimusdigital.ro/.../modul-ceas-ds3231.html | SDA – pin 20, SCL – pin 21, VCC – 5V, GND – GND |
Senzor de temperatură LM35 | 1 | https://www.optimusdigital.ro/.../senzor-lm35.html | OUT – A7, VCC – 5V, GND – GND |
LCD 16×2 I²C (PCF8574) | 1 | https://www.optimusdigital.ro/.../lcd-i2c.html | SDA – pin 20, SCL – pin 21, VCC – 5V, GND – GND |
Modul display TM1637 4×7-seg | 1 | https://www.optimusdigital.ro/.../tm1637.html | DIO – D4, CLK – D5, VCC – 5V, GND – GND |
Modul MP3 YX5200 | 1 | https://www.optimusdigital.ro/.../mp3-mini.html | VCC – 5V, GND – GND, SPK+ – la comutator audio, SPK– – GND |
Amplificator TPA3118 60 W | 1 | https://www.optimusdigital.ro/.../tpa3118.html | IN+ – la ieșire comutator audio, IN– – GND, VCC – 5V/12V, GND – GND, OUT+/- – la difuzor |
Modul Bluetooth HC-05 | 1 | https://www.optimusdigital.ro/.../hc05.html | VCC – 5V, GND – GND, TX (modul) – D8 (RX la Arduino), RX (modul) – D9 |
Breadboard 750 puncte | 1 | (generic) | - |
Jumper wires (Dupont) | set | (generic) | - |
Condensator 47 nF/50 V | 2 | (ceramic, cuplaj audio) | Între ieșirea audio și IN+ amplificator (opțional, pentru filtrare zgomot/impulsuri) |
Cablu audio AUX 3.5 mm M–M | 1 | (generic) | Între amplificator și difuzor sau între surse audio externe (după caz) |
Cablu boxă twin-core AWG20 | 1 m | (speaker wire) | Între OUT+/- amplificator și difuzor |
Adaptor 12 V 2 A | 1 | (generic) | Alimentare pentru amplificator (și/sau Arduino, dacă e nevoie) |
Difuzor 4–8 Ω, 3–5 W | 1 | (generic) | La OUT+ și OUT– de la amplificator |
Lab 1 (UART): Serial Monitor + SoftwareSerial pentru Bluetooth HC-05, primești/setezi alarmă/radio de la PC sau app BT.
Lab 3 (Timere, PWM): PWM pe buzzer, toggling cu millis().
Lab 5 (SPI): Citire fisiere SD Card
Lab 6 (I2C): RTC DS3231, LCD, Radio RDA5807M – toate pe I2C.
Funcționalitate completă hardware: Toate modulele hardware au fost conectate și testate — ceas RTC, afișaj LCD I2C, display TM1637, buzzer de alarmă, modul radio FM și MP3 player cu amplificator.
Afișaj ora și dată: Ceasul afișează în timp real ora și data atât pe LCD I2C, cât și pe display-ul TM1637 cu 4 cifre.
Alarmă sonoră: Sistemul permite programarea unei alarme, care activează buzzer-ul la ora setată și afișează un mesaj pe LCD.
Redare audio: Am reușit să comut între două surse audio (radio FM sau MP3 player), semnalul fiind amplificat și, opțional, redat pe difuzor.
Interfață Bluetooth: Utilizatorul poate seta ora alarmei, poate schimba frecvența radio sau melodia de pe MP3 player direct dintr-o aplicație pe telefon, folosind modulul Bluetooth HC-05.
Cod modular, utilizare registre: Pentru testare și validare, am implementat funcționalitățile atât cu biblioteci, cât și direct pe registre AVR, pentru a ilustra cunoștințele teoretice și practice dobândite la fiecare laborator.
Testare și prezentare: Proiectul a fost testat pe breadboard și poate fi demonstrat live, atât cu, cât și fără unele componente (ex: difuzor), arătând fluxul semnalului și interacțiunea dintre module.
Proiectul a validat atât integrarea hardware a componentelor electronice diverse, cât și implementarea software pe platforma Arduino/AVR, acoperind temele principale din laboratoarele de microcontrolere: GPIO, UART, întreruperi, ADC, PWM, SPI și I2C, precum și comunicarea wireless și interfața cu utilizatorul.
PlatformIO Documentation https://docs.platformio.org/
Librăria “avr-libc” și manualul de programare AVR https://www.nongnu.org/avr-libc/user-manual/index.html
Optimus Digital – Fise tehnice module
Modul RTC DS3231 - https://www.optimusdigital.ro/ro/altele/1102-modul-cu-ceas-in-timp-real-ds3231.html
Modul MP3 YX5200 - https://www.optimusdigital.ro/ro/audio-altele/2146-modul-de-redare-mp3-in-miniatura.html
Modul Radio RDA5807M - https://www.optimusdigital.ro/ro/wireless-radio-fm/745-modul-radio-fm-rda5807m.html
Modul Bluetooth HC-05 - https://www.optimusdigital.ro/ro/wireless-bluetooth/153-modul-bluetooth-master-slave-hc-05-cu-adaptor.html