This shows you the differences between two versions of the page.
|
pm:prj2026:cezar.zlatea:calin.buzatu [2026/05/09 21:33] calin.buzatu [Bibliografie/Resurse] |
pm:prj2026:cezar.zlatea:calin.buzatu [2026/05/09 22:17] (current) calin.buzatu [Descriere generala] |
||
|---|---|---|---|
| Line 10: | Line 10: | ||
| ===== Descriere generala ===== | ===== Descriere generala ===== | ||
| - | <code> | ||
| +------------------+ | +------------------+ | ||
| | Telefon/PC | | | Telefon/PC | | ||
| Line 52: | 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 64: | 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 | * **Modul Bluetooth (CSER8630)** — receptioneaza stream-ul audio wireless prin A2DP si trimite metadate (titlu, artist) prin AVRCP catre ATmega via UART | ||
| Line 72: | Line 68: | ||
| * **Filtre RC (low-pass, band-pass, high-pass)** — separa semnalul audio pe benzi de frecventa (bass, voce, treble) pentru vizualizatorul de frecvente | * **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) | * **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, next, prev, vol+, vol-) si indica starea sistemului | + | * **Butoane & LED-uri** — permit controlul playback-ului (play/pause) si indica starea sistemului |
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| Line 98: | 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 ===== | ||