Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2026:tarik_ilhan.omer:mihai_roland.groza [2026/05/03 04:26]
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 12: Line 12:
 Boxa prezinta o lista de cantece preincarcate pe cardul SD. Cantecele sunt scrise bare-metal, direct pe cardul SD, folosind un script in Python de pe Laptop si interfata seriala. Aceasta este afisata pe ecran de unde utilizatorul poate, folosind encoderul rotativ, selecta piesa dorita. Odata ce este selectata o piesa, se poate regla volumul, pune pauza, sau se poate reveni la meniul anterior. Boxa prezinta o lista de cantece preincarcate pe cardul SD. Cantecele sunt scrise bare-metal, direct pe cardul SD, folosind un script in Python de pe Laptop si interfata seriala. Aceasta este afisata pe ecran de unde utilizatorul poate, folosind encoderul rotativ, selecta piesa dorita. Odata ce este selectata o piesa, se poate regla volumul, pune pauza, sau se poate reveni la meniul anterior.
 <note tip> <note tip>
-{{:​pm:​prj2026:​tarik_ilhan.omer:​diagrama_bloc.png?​nolink&​600|}}+{{:​pm:​prj2026:​groza_mihai.roland:​diagrama_bloc.png?​nolink&​600|}}
 </​note>​ </​note>​
  
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 36: Line 35:
   * Condensator electrolitic 47uF   * Condensator electrolitic 47uF
  
-{{:​pm:​prj2026:​tarik_ilhan.omer:​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 banda sonora (20Hz - 22kHz)Semnalul ​este trecut printr-un filtru trece jos pentru a pastra doar componenta continuaAlegem 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 utilizataTensiunea ​este ridicata la 5V folosind un regulator in comutatie de tip boost, folosind chip-ul MT3608Un comutator este folosit ​pentru a porni/opri alimentarea la boxa.
  
-{{:​pm:​prj2026:​tarik_ilhan.omer:​simulare_filtru_trece_jos.png?​nolink&​450| }}+Deoarece microcontroller-ul Atmega328p nu prezinta iesiri analogice, sunetul este generat folosind un semnal modulat PWMFrecventa 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.
  
-Simulare unde se alterneaza duty-cycle-ul PWM pentru a genera un semnal ​alternativ ​la iesire. Se poate observa ca+---- 
 + 
 +{{:​pm:​prj2026:​groza_mihai.roland:​simulare_filtru_trece_jos.png?​nolink&​450| }} 
 + 
 +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.  ​
 +
 +{{ :​pm:​prj2026:​groza_mihai.roland:​font_custom.png?​nolink&​200|}}
  
 Pentru a stoca piesele, am programat o interfata SPI (spi.h), precum si instructiunile necesare comunicarii cu cardul SD (sd.h), conform SD Card Physical Specification. Fiecare fisier stocat are un header ce contine nr. total de esantioane si titlul piesei, urmat de esantioanele cantecului. Acestea sunt codificate la o rezolutie de 8 biti, 20k sample-uri pe secunda, pe un singur canal. Fiecare fisier este localizat la o locatie specifica in memorie, pentru a putea fi gasit usor. Pentru a stoca piesele, am programat o interfata SPI (spi.h), precum si instructiunile necesare comunicarii cu cardul SD (sd.h), conform SD Card Physical Specification. Fiecare fisier stocat are un header ce contine nr. total de esantioane si titlul piesei, urmat de esantioanele cantecului. Acestea sunt codificate la o rezolutie de 8 biti, 20k sample-uri pe secunda, pe un singur canal. Fiecare fisier este localizat la o locatie specifica in memorie, pentru a putea fi gasit usor.
Line 62: Line 68:
  
   * (etapa 3) surse şi funcţii implementate   * (etapa 3) surse şi funcţii implementate
 +</​note>​
 +
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 82: 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>​
  
pm/prj2026/tarik_ilhan.omer/mihai_roland.groza.1777771616.txt.gz · Last modified: 2026/05/03 04:26 by mihai_roland.groza
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