This is an old revision of the document!


Sintetizator cu efecte

Autor: Baltag Constantin, 335CA

Introducere

Sintetizatorul cu efecte este un instrument muzical digital bazat pe microcontrolerul Arduino Uno. Acesta folosește o tastatură matriceală 4×4 pe post de claviatură pentru a reda note și aplică efecte audio în timp real, cum ar fi reverb simplu, vibrato și distorsion.

Scopul acestui proiect este de a explora concepte hardware de nivel scăzut (Timere, PWM, Întreruperi, ADC) și procesarea digitală a semnalelor (DSP) de bază, pentru a genera și manipula semnale audio fără a avea nevoie de echipament audio dedicat costisitor.

Ideea a pornit din dorința de a transforma componente electronice standard într-un instrument interactiv, creând o punte între programarea low-level a unui microcontroler și zona creativă a muzicii.

Descriere generală

Arhitectura sistemului este formată din trei module principale:   * Input: O tastatură matriceală 4×4 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.   * 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.

Figura 1: Schema Bloc a fluxurilor de date

Hardware Design

Listă de componente:   * 1 x Arduino Uno (ATmega328P)   * 1 x Tastatură matriceală 4×4   * 1 x LCD TFT SPI ST7735 (240×320 pixeli)   * 1 x Buzzer pasiv   * 2 x Potențiometru 10kΩ (Wiper connected to A0 and A1)   * 6 x Rezistor 330Ω (pentru protecție fire date LCD)   * 1 x Baterie 9V + clip   * Breadboard și fire de legătură

Schemă Electronică

Cablajul sistemului folosește magistrala de SPI hardware a plăcii Arduino Uno pentru ecran și pinii PWM dedicat pentru buzzer.

Conectare Ecran LCD TFT ST7735 (prin rezistoare de 330Ω):

Pin Ecran Pin Arduino Descriere
VCC 5V Alimentare Logică
GND GND Masă
CS D10 SPI Chip Select
RESET D3 Reset Ecran
DC D8 Data/Command Select
SDI (MOSI) D11 SPI Master Out Slave In
SCK D13 SPI Serial Clock
LED 3.3V Alimentare Lumină Fundal
SDO (MISO) D12 SPI Master In Slave Out (Touch)

Conectare Buzzer pasiv: * + → Rezistor 330Ω → D9 (Pin PWM dedicated pentru audio) * -GND

Software Design

Biblioteci folosite:   * Adafruit GFX: O bibliotecă grafică universală.   * Adafruit ST7735: Driver specific pentru cipul ST7735 al ecranului.   * 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.

Bibliografie/Resurse

pm/prj2026/bianca.popa1106/constantin.baltag.1778869759.txt.gz · Last modified: 2026/05/15 21:29 by constantin.baltag
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