¿Cuál es el rango de voltaje en un pin Arduino cuando se hace analogRead ()?

Sé lo que un ADC de Arduino genera un número con 10 bits de resolución (0 a 1023). ¿Cómo se genera este número? ¿Hay un voltaje mínimo y máximo al que asignará 0 y 1023, respectivamente?

Recibo entrada de un micrófono electret amplificado.
Además, cuando doy la entrada de Arduino, el valor no es 0 cuando no estoy haciendo ruido en el micrófono. A veces es alrededor de 500, a veces alrededor de 300, cambia. ¿Cuál podría ser la razón de ésto?

Le sugiero que lea el capítulo sobre el ADC en la hoja de datos del controlador de su Arduino.
¡Gracias! Es de 0 a 5 voltios (correspondiente a 0 a 1023) para cualquiera que también se lo pregunte.

Respuestas (1)

La mayoría de los ADC de microcontrolador tienen un pin para el voltaje de referencia ADC positivo, y algunos también tendrán uno para la referencia negativa. Aquellos que no lo hagan, utilizarán el suelo como referencia inferior. Entonces la lectura del ADC es V I norte V R mi F V R mi F + V R mi F × METRO a X i metro tu metro   r mi a d i norte gramo . Si la lectura máxima es 1023, entonces V I norte = V R mi F te dará 0, y V I norte = V R mi F + dará como resultado una lectura de 1023.

En cuanto a los valores inesperados que ve, consulte esta respuesta .

El uso del pin AREF depende de cómo esté configurado el ADC. Los controladores ATmega también pueden usar la fuente de alimentación analógica AVCC o una referencia de banda prohibida interna de 1,1 V.
Gracias steven, esto explica cómo funciona, y encontré la respuesta en el sitio de referencia de arduino.