This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:constantin.baltag [2026/05/15 21:29] constantin.baltag |
pm:prj2026:bianca.popa1106:constantin.baltag [2026/05/15 21:31] (current) constantin.baltag |
||
|---|---|---|---|
| Line 12: | Line 12: | ||
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| Arhitectura sistemului este formată din trei module principale: | Arhitectura sistemului este formată din trei module principale: | ||
| - | * **Input:** O tastatură matriceală 4x4 citește notele muzicale și comenzile sistemului (ex. schimbare octavă, schimbare efect). Două potențiometre de 10kΩ sunt citite prin convertorul analog-digital (ADC) pentru a ajusta volumul și parametrii efectului activ în timp real. | + | * **Input:** O tastatură matriceală 4x4 citește notele muzicale și comenzile sistemului (ex. schimbare octavă, schimbare efect). Un potențiometru de 10kΩ este citit prin convertorul analog-digital (ADC) pentru a ajusta parametrii efectului activ sau pitch-ul în timp real. |
| - | * **Procesare:** Microcontrolerul ATmega328P orchestrează întregul sistem. Acesta calculează frecvențele notelor, citește inputurile folosind întreruperi pentru a nu bloca generarea sunetului și aplică algoritmii DSP (ex. buffere de delay în RAM pentru reverb, modulație de frecvență prin timer pentru vibrato). | + | * **Procesare:** Microcontrolerul ATmega328P orchestrează întregul sistem. Acesta calculează frecvențele notelor, citește inputurile folosind întreruperi pentru a nu bloca generarea sunetului și aplică algoritmii DSP (ex. buffere de delay în RAM pentru reverb, modulație de frecvență prin timer pentru vibrato). |
| - | * **Output:** Un buzzer pasiv generează semnalul audio folosind semnale Fast PWM. Un ecran LCD TFT SPI ST7735 oferă feedback vizual utilizatorului, afișând nota curentă, octava curentă și efectul activ. | + | * **Output:** Un buzzer pasiv generează semnalul audio folosind semnale Fast PWM. Un ecran LCD TFT SPI ST7735 oferă feedback vizual utilizatorului, afișând nota curentă, octava curentă și efectul activ. |
| + | {{ :pm:prj2026:bianca.popa1106:schema_bloc_baltag_constantin.jpeg?600 | Schema Bloc a Sistemului }} | ||
| //Figura 1: Schema Bloc a fluxurilor de date// | //Figura 1: Schema Bloc a fluxurilor de date// | ||
| - | {{ :pm:prj2026:bianca.popa1106:schema_bloc_baltag_constantin.jpeg?300 |}} | ||
| - | |||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| **Listă de componente:** | **Listă de componente:** | ||
| - | * 1 x Arduino Uno (ATmega328P) | + | * 1 x Arduino Uno (ATmega328P) |
| - | * 1 x Tastatură matriceală 4x4 | + | * 1 x Tastatură matriceală 4x4 |
| - | * 1 x LCD TFT SPI ST7735 (240x320 pixeli) | + | * 1 x LCD TFT SPI ST7735 (240x320 pixeli) |
| - | * 1 x Buzzer pasiv | + | * 1 x Buzzer pasiv |
| - | * 2 x Potențiometru 10kΩ (Wiper connected to A0 and A1) | + | * 1 x Potențiometru 10kΩ (Wiper connected to A0) |
| - | * 6 x Rezistor 330Ω (pentru protecție fire date LCD) | + | * 6 x Rezistor 330Ω (pentru protecție fire date LCD) |
| - | * 1 x Baterie 9V + clip | + | * 1 x Baterie 9V + clip |
| - | * Breadboard și fire de legătură | + | * Breadboard și fire de legătură |
| ==== Schemă Electronică ==== | ==== Schemă Electronică ==== | ||
| Line 48: | Line 46: | ||
| **Conectare Buzzer pasiv:** | **Conectare Buzzer pasiv:** | ||
| - | * **+** -> Rezistor 330Ω -> **D9** (Pin PWM dedicated pentru audio) | + | * **+** -> Rezistor 330Ω -> **D9** (Pin PWM dedicat pentru audio) |
| - | * **-** -> **GND** | + | * **-** -> **GND** |
| ===== Software Design ===== | ===== Software Design ===== | ||
| **Biblioteci folosite:** | **Biblioteci folosite:** | ||
| - | * [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit GFX]]: O bibliotecă grafică universală. | + | * [[https://github.com/adafruit/Adafruit-GFX-Library|Adafruit GFX]]: O bibliotecă grafică universală. |
| - | * [[https://github.com/adafruit/Adafruit-ST7735-Library|Adafruit ST7735]]: Driver specific pentru cipul ST7735 al ecranului. | + | * [[https://github.com/adafruit/Adafruit-ST7735-Library|Adafruit ST7735]]: Driver specific pentru cipul ST7735 al ecranului. |
| - | * [[https://www.arduino.cc/reference/en/language/functions/communication/spi/|SPI]]: Biblioteca nativă pentru comunicarea hardware rapidă. | + | * [[https://www.arduino.cc/reference/en/language/functions/communication/spi/|SPI]]: Biblioteca nativă pentru comunicarea hardware rapidă. |
| Logica software folosește o buclă principală `loop()` care scanează tastatura și citește ADC-ul. Generarea sunetului se face asincron folosind un Timer pentru a nu bloca execuția graficii. Algoritmii DSP sunt implementați în integer-math pentru a maximiza performanța pe procesorul ATmega328P. | Logica software folosește o buclă principală `loop()` care scanează tastatura și citește ADC-ul. Generarea sunetului se face asincron folosind un Timer pentru a nu bloca execuția graficii. Algoritmii DSP sunt implementați în integer-math pentru a maximiza performanța pe procesorul ATmega328P. | ||
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] | + | * [[https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|Datasheet ATmega328P]] |