This shows you the differences between two versions of the page.
|
pm:prj2026:tarik_ilhan.omer:mihai_roland.groza [2026/05/03 04:36] mihai_roland.groza |
pm:prj2026:tarik_ilhan.omer:mihai_roland.groza [2026/05/03 05:16] (current) mihai_roland.groza |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| <note> | <note> | ||
| - | Boxa Smart Spectrum este o boxa inteligenta ce poate stoca si reda piesele tale favorite. | + | Spectrum este o boxa inteligenta ce poate stoca si reda piesele tale favorite. |
| Este un dispozitiv portabil cu o interfata prietenoasa ce poate fi folosit in timp ce iti faci temele, in timpul unui antrenament sportiv | Este un dispozitiv portabil cu o interfata prietenoasa ce poate fi folosit in timp ce iti faci temele, in timpul unui antrenament sportiv | ||
| sau pur si simplu cand ai chef sa asculti muzica. | sau pur si simplu cand ai chef sa asculti muzica. | ||
| Line 19: | Line 19: | ||
| <note> | <note> | ||
| Lista pieselor folosite: | Lista pieselor folosite: | ||
| - | * Unordered List Item | ||
| * Placa Atmega328p Xplained | * Placa Atmega328p Xplained | ||
| * Difuzor 2W 8 Ohm Reciclat | * Difuzor 2W 8 Ohm Reciclat | ||
| * Amplificator PAM8403 | * Amplificator PAM8403 | ||
| - | * Acumulator 2200mAh Galaxy Core 2 | + | * Acumulator 2200mAh Galaxy Core 2 Reciclat |
| * Modul TP4056 incarcare Acumulator Li-Ion | * Modul TP4056 incarcare Acumulator Li-Ion | ||
| * Modul KY-040 Encoder | * Modul KY-040 Encoder | ||
| Line 38: | Line 37: | ||
| {{:pm:prj2026:groza_mihai.roland:schema_electrica.png?nolink&650|}} | {{:pm:prj2026:groza_mihai.roland:schema_electrica.png?nolink&650|}} | ||
| - | Deoarece microcontroller-ul Atmega328p nu prezinta periferice cu iesiri analogice, sunetul este generat folosind un semnal modulat PWM. Frecventa este de 65kHz pentru a putea include intreaga banda sonora (20Hz - 22kHz). Semnalul este trecut printr-un filtru trece jos pentru a pastra doar componenta continua. Alegem frecventa de taiere ~ 7 kHz si punem un filtru de ordin 2 pentru a obtine o rejectie mai buna a armonicelor. | + | Bateria trebuie incarcata folosind un IC special TP4056 pentru a putea fi utilizata. Tensiunea este ridicata la 5V folosind un regulator in comutatie de tip boost, folosind chip-ul MT3608. Un comutator este folosit pentru a porni/opri alimentarea la boxa. |
| + | |||
| + | Deoarece microcontroller-ul Atmega328p nu prezinta iesiri analogice, sunetul este generat folosind un semnal modulat PWM. Frecventa este de 65kHz pentru a putea include intreaga banda sonora (20Hz - 22kHz). Semnalul este trecut printr-un filtru trece jos pentru a pastra doar componenta continua. Alegem frecventa de taiere ~ 7 kHz si punem un filtru de ordin 2 pentru a obtine o rejectie mai buna a armonicelor. In serie cu acesta se adauga un condensator pentru a recentra semnalul in jurul 0V. | ||
| + | |||
| + | ---- | ||
| {{:pm:prj2026:groza_mihai.roland:simulare_filtru_trece_jos.png?nolink&450| }} | {{:pm:prj2026:groza_mihai.roland:simulare_filtru_trece_jos.png?nolink&450| }} | ||
| - | Simulare unde se alterneaza duty-cycle-ul PWM pentru a genera un semnal analogic la iesire. Se poate observa ca | + | Simulare in [[https://www.falstad.com/circuit/|Falstad]] unde se alterneaza duty-cycle-ul PWM pentru a genera un semnal analogic la iesire. Se poate observa ca |
| filtrarea nu elimina zgomotul in totalitate insa difuzorul in sine functioneaza ca un filtru trece jos, deci rezultatul este acceptabil. | filtrarea nu elimina zgomotul in totalitate insa difuzorul in sine functioneaza ca un filtru trece jos, deci rezultatul este acceptabil. | ||
| </note> | </note> | ||
| + | |||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 50: | Line 54: | ||
| <note> | <note> | ||
| Pentru proiect am propus realizarea intregului cod bare-metal, fara sa utilizez librarii externe. Codul este realizat in Microchip Studio si Python pentru incarcarea pieselor pe cardul SD. | Pentru proiect am propus realizarea intregului cod bare-metal, fara sa utilizez librarii externe. Codul este realizat in Microchip Studio si Python pentru incarcarea pieselor pe cardul SD. | ||
| - | + | ||
| Incepand cu interfata hardware, am programat comunicarea prin I2C (i2c.h) cu display-ul cu controller SSD1306 (ssd1306.h), si am implementat o functii pentru afisarea liniilor text. Am creat propriul font, cu caractere de 6x8 pixeli, pentru a putea afisa text si imagini pe ecran. Fontul este realizat in excel si tradus ulterior in octeti. | Incepand cu interfata hardware, am programat comunicarea prin I2C (i2c.h) cu display-ul cu controller SSD1306 (ssd1306.h), si am implementat o functii pentru afisarea liniilor text. Am creat propriul font, cu caractere de 6x8 pixeli, pentru a putea afisa text si imagini pe ecran. Fontul este realizat in excel si tradus ulterior in octeti. | ||
| Line 64: | Line 68: | ||
| * (etapa 3) surse şi funcţii implementate | * (etapa 3) surse şi funcţii implementate | ||
| + | </note> | ||
| + | |||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| Line 84: | Line 90: | ||
| <note tip> | <note tip> | ||
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * 10 Aprilie - Am comandat piesele necesare |
| + | * 16 Aprilie - Am realizat toate conexiunile electrice conform schemei | ||
| + | * 25 Aprilie - Am finalizat testarea pentru fiecare component (Display, Sunet, Card SD, Encoder) | ||
| + | * 3 Mai - Inceput etapa de documentare a proiectului | ||
| </note> | </note> | ||