¿Quiero conectar el micrófono a la salida de audio en arduino?

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?

¿De cuantos bits es tu ADC? ¿Qué circuito tienes en el pin analógico? Si el circuito correcto está en el pin de entrada del ADC y su o/p en digital es 1023, se deduce que está utilizando un ADC de 11 bits. Sin embargo, si está utilizando un ADC de 10 bits, su circuito analógico necesita reparación.
La función "tono" de Arduino en su ejemplo espera una frecuencia como su segundo argumento ("val"). Sin embargo, el valor que obtiene del ADC interno a través de analogRead no es una frecuencia, sino una simple "instantánea" del voltaje en el pin.

Respuestas (2)

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.