This shows you the differences between two versions of the page.
|
pm:prj2026:cezar.zlatea:calin.buzatu [2026/05/09 21:24] calin.buzatu [Descriere generala] |
pm:prj2026:cezar.zlatea:calin.buzatu [2026/05/09 22:17] (current) calin.buzatu [Descriere generala] |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | <note tip> | ||
| * Proiectul consta in realizarea unei boxe audio portabile controlate de un microcontroller ATmega328P | * Proiectul consta in realizarea unei boxe audio portabile controlate de un microcontroller ATmega328P | ||
| * Scopul proiectului este integrarea mai multor module hardware (Bluetooth, amplificator, display, baterie) intr-un sistem embedded functional | * Scopul proiectului este integrarea mai multor module hardware (Bluetooth, amplificator, display, baterie) intr-un sistem embedded functional | ||
| * Ideea a pornit de la dorinta de a construi o boxa portabila personalizata, cu control complet asupra hardware-ului si software-ului | * Ideea a pornit de la dorinta de a construi o boxa portabila personalizata, cu control complet asupra hardware-ului si software-ului | ||
| * Proiectul este util deoarece demonstreaza integrarea protocoalelor de comunicatie (UART, I2C), procesarea semnalelor analogice (ADC) si controlul perifericelor intr-un produs fizic complet | * Proiectul este util deoarece demonstreaza integrarea protocoalelor de comunicatie (UART, I2C), procesarea semnalelor analogice (ADC) si controlul perifericelor intr-un produs fizic complet | ||
| - | </note> | ||
| ===== Descriere generala ===== | ===== Descriere generala ===== | ||
| - | <code> | ||
| +------------------+ | +------------------+ | ||
| | Telefon/PC | | | Telefon/PC | | ||
| Line 45: | Line 42: | ||
| | | | +-------+ +-------+ | | | | +-------+ +-------+ | ||
| | | | | | | | | ||
| - | | | +-----> Butoane (play/pause/next/prev/vol) | + | | | +-----> Butoane (play/pause) |
| | | +-----> LED-uri status | | | +-----> LED-uri status | ||
| | | +-----> Potentiometru 10kOhm (volum) | | | +-----> Potentiometru 10kOhm (volum) | ||
| Line 54: | Line 51: | ||
| +-------------> SSD1306 OLED 128x64 | +-------------> SSD1306 OLED 128x64 | ||
| (titlu, artist, volum, vizualizator) | (titlu, artist, volum, vizualizator) | ||
| - | |||
| - | |||
| Alimentare: | Alimentare: | ||
| [18650 x2] --> [TP4056 Type-C] --> [XL6009 Boost] | [18650 x2] --> [TP4056 Type-C] --> [XL6009 Boost] | ||
| Line 66: | Line 61: | ||
| CSER8630 | CSER8630 | ||
| SSD1306 | SSD1306 | ||
| - | </code> | + | |
| + | * **Modul Bluetooth (CSER8630)** — receptioneaza stream-ul audio wireless prin A2DP si trimite metadate (titlu, artist) prin AVRCP catre ATmega via UART | ||
| + | * **ATmega328P** — unitatea centrala; coordoneaza toate modulele, citeste butoanele, actualizeaza display-ul si proceseaza semnalul ADC | ||
| + | * **Amplificator TPA3110D2** — amplifica semnalul audio la 2x15W si il trimite catre difuzoare | ||
| + | * **Display OLED SSD1306** — afiseaza titlul melodiei, artistul, volumul si vizualizatorul de frecvente via I2C | ||
| + | * **Filtre RC (low-pass, band-pass, high-pass)** — separa semnalul audio pe benzi de frecventa (bass, voce, treble) pentru vizualizatorul de frecvente | ||
| + | * **Circuit de alimentare (TP4056 + XL6009 + 18650)** — gestioneaza incarcarea bateriei si furnizeaza tensiunile necesare (5V si 12V) | ||
| + | * **Butoane & LED-uri** — permit controlul playback-ului (play/pause) si indica starea sistemului | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 92: | Line 94: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | |||
| - | <note tip> | ||
| - | * **Mediu de dezvoltare:** Arduino IDE cu toolchain AVR-GCC | ||
| - | * **Librarii 3rd-party:** | ||
| - | * Adafruit SSD1306 — driver display OLED | ||
| - | * Wire.h — comunicatie I2C | ||
| - | * SoftwareSerial.h — comunicatie UART cu modulul Bluetooth | ||
| - | * **Algoritmi implementati:** | ||
| - | * Parser AVRCP — extrage titlul si artistul din datele UART primite de la CSER8630 | ||
| - | * Vizualizator frecvente — esantionare ADC pe 3 canale (bass/voce/treble) si afisare bare animate pe OLED | ||
| - | * Scroll text circular — pentru titluri mai lungi decat latimea display-ului | ||
| - | * Compensare logaritmica volum — transforma valoarea lineara a potentiometrului intr-o curba logaritmica | ||
| - | * Debounce butoane — gestionare corecta a apasarilor de butoane prin intreruperi | ||
| - | </note> | ||
| - | |||
| ===== Rezultate Obtinute ===== | ===== Rezultate Obtinute ===== | ||
| - | |||
| - | <note tip> | ||
| - | * Boxa receptioneaza si reda audio wireless prin Bluetooth de pe telefon | ||
| - | * Display-ul OLED afiseaza corect titlul si artistul melodiei curente cu scroll automat | ||
| - | * Vizualizatorul de frecvente (bass/voce/treble) functioneaza in timp real | ||
| - | * Butoanele de control (play/pause, next, prev, vol+, vol-) functioneaza corect | ||
| - | * Autonomie de aproximativ 7-8 ore la volum mediu cu 2x Samsung 18650 | ||
| - | </note> | ||
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | |||
| - | Proiectul demonstreaza integrarea cu succes a mai multor protocoale de comunicatie (UART, I2C, ADC, GPIO) intr-un produs embedded functional. Utilizarea filtrelor RC pentru vizualizatorul de frecvente reprezinta un element de noutate fata de o boxa Bluetooth standard. | ||
| - | |||
| ===== Download ===== | ===== Download ===== | ||
| Line 128: | Line 104: | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | |||
| - | <note tip> | ||
| - | * **Saptamana 1** — documentare componente, alegere arhitectura hardware | ||
| - | * **Saptamana 2** — achizitie componente, prototipare pe breadboard | ||
| - | * **Saptamana 3** — implementare software (UART, I2C, ADC) | ||
| - | * **Saptamana 4** — integrare finala, testare, lipire | ||
| - | </note> | ||
| - | |||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | |||
| - | <note> | ||
| - | **Resurse Hardware:** | ||
| - | * Datasheet ATmega328P — https://www.microchip.com | ||
| - | * Datasheet TPA3110D2 — https://www.ti.com | ||
| - | * Datasheet SSD1306 — https://cdn-shop.adafruit.com | ||
| - | * Datasheet CSER8630 — https://www.optimusdigital.ro | ||
| - | |||
| - | **Resurse Software:** | ||
| - | * Adafruit SSD1306 Library — https://github.com/adafruit/Adafruit_SSD1306 | ||
| - | * Arduino Wire Library — https://www.arduino.cc/en/reference/wire | ||
| - | </note> | ||
| - | |||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||