Mi conocimiento en electrónica es pobre.
Quiero enviar una transmisión de audio desde el micrófono al audio y uso el siguiente código en Arduino
val = analogRead(analogPin);
Serial.println((int)val);
tone(SND_PIN, val);
Produce algún valor, por ejemplo 1023, ¿qué es esto? ¿Es correcto este código y podemos conectarnos al micrófono directamente desde arduino?
El valor es la salida de la lectura de un sensor de un convertidor de analógico a digital ( ADC ). Un ADC convierte valores del mundo real a algo que el microprocesador puede entender, una serie de bits.
Entonces, una descripción general rápida de cómo funciona un ADC: lo alimenta con un voltaje Vref y una señal. Se supone que esa señal está entre GND y su Vref. Luego le da una representación binaria de qué voltaje era su señal. La cantidad de bits de su ADC es la cantidad de granularidad que puede brindarle. Entonces, digamos que su Vref es de 5 V y alimenta la señal con una onda sinusoidal que va de 1 V a 3 V. Ahora supongamos que también tiene un ADC de 10 bits. Su valor oscilará entre (1/5 * 1024) y (3/5 * 1024).
Entonces eso es lo que obtienes cuando imprimes val en el puerto serie. Ahora, en cuanto a si su micrófono y equipo de audio se pueden conectar directamente a los pines de un arduino, probablemente necesitemos más información para responder. Háganos saber qué parte #s tiene y cualquier detalle que tenga sobre ellos, etc. y podemos proporcionarle más información al respecto. Por ejemplo, es posible que necesite un amplificador u otras piezas de apoyo. Para comenzar, consulte este ejemplo de un arduino con un micrófono electret.
Verifique que el voltaje en el pin ADC esté variando. Use un potenciómetro para variar su valor de CC hasta que pueda ver que el número de salida de impresión varía según lo esperado.
Entonces prueba el micrófono. Lo más probable es que vea valores cercanos a la mitad del rango del ADC con muy poca variación. Eso indicaría que necesita más ganancia: un amplificador entre el micrófono y el ADC donde puede variar la ganancia: una ganancia de voltaje de 40dB o 100x sería una primera suposición sin conocer su micrófono o los niveles de sonido.
Andy alias
fm_andreas