Link video demostrativoImplementación del proyecto Arduino
1) Código pruebas de audio
Read moreEs necesario hacer pruebas a la entrada analógica, ya que la señal entregada por el amplificador LM386 podría ser tenue o estar saturada para el rango de 0~5V como se muestra en la imagen.
Haciendo uso del código de pruebas y el potenciómetro para ajusta la ganancia del integrado LM386 se calibra la entrada analógica.
/* Código de pruebas de audio, chequeo gráfico de la salida delLM386 */
int VotajeDigital; // Voltaje de en la entrada analógica A0 (0~1023)
void setup(){
Serial.begin(9600); // para poder mostrar la señál por el monitor serial.
}
void loop(){
VotajeDigital = analogRead(A0); // Lectura digital de la entradaanalógica A0
Serial.println(VotajeDigital); // Para graficar y chechear el la lectura de VotajeDigital
}
2) EcualizadorEn el caso de la matriz NeoPixel 8×8 se implementaron 8 bandas por cada columna usando 8 muestras de la FFT (Trasformada rápida de Fourier).
// Ecualizador de bandas de frecuencia de la más grave a la más aguda
Band[1] = map(vReal[Muestras/2-1], 0, 2700, 0, 255);
Band[2] = map(vReal[Muestras/2-2], 0, 2500, 0, 255);
Band[3] = map(vReal[Muestras/2-3], 0, 2000, 0, 255);
Band[4] = map(vReal[Muestras/2-4], 0, 2900, 0, 255);
Band[5] = map(vReal[Muestras/2-5], 0, 2500, 0, 255);
Band[6] = map(vReal[Muestras/2-6], 0, 3000, 0, 255);
Band[7] = map(vReal[Muestras/2-7], 0, 2700, 0, 255);
Band[8] = map(vReal[Muestras/2-8], 0, 2500, 0, 255);
Se recomienda también calibrar las ganancias de las bandas del espectro en frecuencia con un generador de tono online.
Comments