Hola controleros y controleras en el día de hoy vamos a aprender a usar la entrada AREF de Arduino y configurar la referencia analógica en la placa. Esto hace parte de la conversión análogo digital (ADC Arduino) que nos permitirá leer con mayor precisión determinados sensores analógicos.
Antes de comenzar, te hago la invitación para que veas nuestro CURSO GRATIS DE ARDUINO.
Entrada AREF Arduino
Toda placa de Arduino que tenga un voltaje de operación de 5v (UNO, Mini, Mega, Nano, Leonardo, Micro) por defecto su convertidor analógico digital ADC está preparado para recibir valores de 0 a 5v que como vimos em la entrada ADC Arduino, la lectura analógica de esos valores me entrega un valor entero de 0 – 1023.
Esto quiere decir que, en los pines analógicos del Arduino, lo más conveniente es conectar sensores que como máximo entreguen el mismo voltaje de operación de la placa.
¿Pero qué sucede si conectamos un sensor que entregue una tensión menor?
Generalmente, es común encontrar sensores que como máximo entreguen un voltaje de 0 a 3.3v, evidentemente, podemos conectar estos sensores a los pines analógicos del Arduino, sin embargo, notaremos que NO estaremos aprovechando toda la resolución del Arduino, pues dicha lectura analógica solo entregará un valor entero de 0 – 675.
Claro, podemos adaptar ese valor por programación para que muestre la variable deseada adecuadamente, sin embargo, no estamos aprovechando al máximo la resolución del convertidor ADC de Arduino.
Para eso utilizamos la función del pin AREF de Arduino, para informarle que el máximo valor leído en los puertos análogos será de 3.3v en lugar de 5v.
Con esto el Arduino nos va a entregar un valor entero de 0 – 1023 cuando el voltaje es de 0 – 3.3v y así poder aprovechar la resolución máxima del ADC y por ende tener una medida más precisa del sensor empleado.
Como Hacer un Control PID de Temperatura con Arduino
Como usar un Servomotor con Arduino (180° y 360°)
Arduino con Simulink
Referencia Analógica con Arduino
Antes de usar la función del pin AREF es necesario primero y, antes que nada, informarle a Arduino que vamos a utilizar la referencia externa para evitar hacer corto circuitos innecesarios.
Sin embargo, es importante destacar, que podemos cambiar la referencia analógica de Arduino a través de código sin necesidad de usar el pin AREF para determinados valores de voltaje. Vamos entonces entender la función analogReference().
Sintaxis
analogReference(TIPO);
la instrucción anterior sirve para configurar el voltaje de referencia del Arduino el cual posee las siguientes opciones configurables para la variable TIPO:
Para placas Arduino AVR (Uno, Mega, etc.)
- DEFAULT: coloca el voltaje por defecto de 5 voltios para placas alimentadas a 5 voltios o 3.3 voltios para placas Arduino de 3.3V.
- INTERNAL: utiliza la referencia interna de la placa de Arduino que es de 1.1v en los microcontroladores ATmega168 o ATmega328P y 2.56v para microcontroladores ATmega8 (esta función no disponible para Arduino Mega)
- INTERNAL1V1: referencia interna de 1.1V (apenas Arduino Mega)
- INTERNAL2V56: referencia interna de 2.56V (apenas Arduino Mega)
- EXTERNAL: esta es la instrucción que debemos activar para el caso en que queramos usar el pin AREF.
Recomendaciones Importantes
- Según la documentación disponible en el sitio oficial de Arduino, una vez se hace el cambio de referencia de las entradas análogas, las primeras lecturas del microcontrolador pueden ser imprecisas.
- NUNCA usar tensiones por debajo de 0v ni por encima de 5v en el pin AREF.
- Cuando use un voltaje externo de referencia en el pin AREF, primero llame la función analogReference(EXTERNAL) antes de llamar la función analogRead (). ¡¡De lo contrario se puede generar un CORTO CIRCUITO en el Arduino!!
Sensores disponibles en Amazon
Aprendiendo a utilizar la conversión ADC, puedes integrar cualquier tipo de sensor con tu placa de desarrollo del arduino para darle vida a tus proyectos, puedes darle un vistazo a los siguientes sensores que puedes encontrar en Amazon:
Pin AREF Arduino– Ejemplo
Conecte un Potenciometro al PIN A3 del Arduino y lea el voltaje entregado. El potenciomentro deberá ser alimentado con un voltaje de 3.3v. Conectar un LCD al Arduino sin utilizar el PIN RW (colocar a tierra) y mostrar el valor leído del ADC de Arduino. Compare la lectura análoga cuando se utiliza la referencia análoga externa (Pin AREF) y cuando no se utiliza. Además de mostrar el número entero, muestre el valor de voltaje del potenciómetro.
//Voltaje de Referencia usando el PIN AREF de Arduino //Definiciones const int POT = A3; // Define el pin Analógico (Potenciometro) int value; float volt; //Bibliotecas #include <LiquidCrystal.h> LiquidCrystal lcd(10, 8, 5, 4, 3, 2); //(RS, E, D4,D5, D6, D7) //Función que es ejecutada una vez cuando enciende o resetea el Arduino void setup() { lcd.begin(16, 2); // Inicia el LCD 16x02 (colunas,filas) //analogReference (DEFAULT); //Referencia analógica default (5v ou 3.3v) analogReference (EXTERNAL); //Referencia analógica PIN AREF } //Función que será ejecutada continuamente void loop() { //Lectura del Pin A3 (ADC) value=analogRead(POT); // Almacena el valor entero. //Convierte el valor enteiro en Tensión volt=(value*3.3/1023.0); //volt=(value*5/1023.0); //Visualiza en el LCD lcd.home(); // Coloca el cursor en las coordenadas (0,0) lcd.print("POT Int: "); // Escribe en el LCD lcd.print(value); // Escribe en el LCD lcd.setCursor(0,1); // Coloca el cursor en las coordenadas (0,0) lcd.print("POT (V): "); // Escribe en el LCD lcd.print(volt); // Escribe en el LCD delay(1000); lcd.clear(); //Limpia todo el LCD }
Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:
👉 Invitar a Sergio a un Café ☕️
Que esten muy bien, nos vemos en la siguiente entrada.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.