Paso 1: Problema y solución
Usted no será capaz de obtener buena calibración fuera un simple Arduino con trimmers para ello: no hay ningún filtro de paso bajo de la AVCC entrada placas Arduino, genuino o no. La única variación de Arduino que he encontrado que tiene se describe en este instructable.
En Arduinos habitual, la entrada AVCC está conectada directamente a la VCC normal de entrada, que significa que las fluctuaciones de tensión cuando el Arduino está haciendo otra cosa mientras revisa entradas analógicas. Concretamente, esto conduce a un montón de ruido en las lecturas de analogRead cuando la prueba de LEDs.
Como no podrás instalar un inductor en la entrada AVCC en Arduino, tendrás que usar algún otro puente. Hay tres maneras fáciles de hacerlo.
1. poner un condensador de 100nF entre pin AREF y GND. De hecho, este enfoque está claramente definido en la hoja de datos del Atmega, pero de alguna manera no hace a la documentación de Arduino. Es una buena idea para mantener la tapa allí si estás usando a ADC (analogReads) en sus proyectos, ya que permite lecturas más fiables. Sin embargo, 'más confiable' no significa 'exacta', todavía tendrás algún ruido, pero no es una crítica. En particular, todavía no podrás obtener ceros y 1023s en la salida, y, de hecho, estos errores varían cada vez conecta el Arduino.
2. use una fuente de alimentación separada de 5 v para las entradas del ADC. Es decir, conectarlo a la baranda que los trimmers son sus 5v no te olvides de conectar entre sí los GNDs de ambas fuentes de alimentación. Asegúrese de que conectar la energía externa después de encender el Arduino, por si acaso. Este método proporcionará lecturas aún mejor, sin embargo, algunos errores son posibles debido a la diferencia entre voltajes exactos de dos fuentes como (4.98v de Arduino) y 5.23v en la alimentación externa. Este método es más fiable, usted podrá ver ceros y 1023s, pero habrá ruido (ver la imagen de arriba).
Es posible conectar este voltaje externo al pin AREF, establecer analogReference() externo (así cambiando el registro ADMUX en consecuencia). Una palabra de ADVERTENCIA: no lo recomiendo ya que es posible dañar el chip Atmega, si haces algo mal. Compruebe las instrucciones aquí.
3. los mejores resultados se logran si se utilizan dos Arduinos separados, uno para cosas de ADC, el segundo para la prueba de LEDs. Puede parecer una exageración, pero de hecho, es la mejor opción por dos razones. ¿En primer lugar, la mayoría de nosotros aficionados de Arduino tiene siempre un montón de Nanos chino barato ahí, derecho? En segundo lugar y más importante aún, la práctica de dedicar diferentes controladores para diferentes tareas es realmente recomendado. Especialmente si estas tareas son tan diferentes como en nuestro caso: tratando de exacta resulta de un bastante débil ADC del Atmega, los otros LEDs de funcionamiento hambrientos de poder. Compruebe la salida constante de la imagen de arriba.