Arduino - Función de E / S avanzada

En este capítulo, aprenderemos algunas funciones avanzadas de entrada y salida.

Función analogReference ()

Configura la tensión de referencia utilizada para la entrada analógica (es decir, el valor utilizado como el máximo del rango de entrada). Las opciones son:

  • DEFAULT - La referencia analógica predeterminada de 5 voltios (en placas Arduino de 5 V) o 3,3 voltios (en placas Arduino de 3,3 V)

  • INTERNAL - Una referencia incorporada, igual a 1.1 voltios en el ATmega168 o ATmega328 y 2.56 voltios en el ATmega8 (no disponible en el Arduino Mega)

  • INTERNAL1V1 - Una referencia incorporada de 1,1 V (solo Arduino Mega)

  • INTERNAL2V56 - Una referencia incorporada de 2.56V (solo Arduino Mega)

  • EXTERNAL - El voltaje aplicado al pin AREF (0 a 5V solamente) se usa como referencia

Sintaxis de la función analogReference ()

analogReference (type);

type - puede utilizar cualquier tipo de seguimiento (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL)

No use nada menos de 0 V o más de 5 V para voltaje de referencia externo en el pin AREF. Si está utilizando una referencia externa en el pin AREF, debe establecer la referencia analógica en EXTERNAL antes de llamar alanalogRead()función. De lo contrario, acortará el voltaje de referencia activo (generado internamente) y el pin AREF, posiblemente dañando el microcontrolador en su placa Arduino.

Alternativamente, puede conectar el voltaje de referencia externo al pin AREF a través de una resistencia de 5K, lo que le permite cambiar entre voltajes de referencia externos e internos.

Tenga en cuenta que la resistencia alterará el voltaje que se utiliza como referencia porque hay una resistencia interna de 32K en el pin AREF. Los dos actúan como divisores de voltaje. Por ejemplo, 2.5V aplicados a través de la resistencia producirán 2.5 * 32 / (32 + 5) = ~ 2.2V en el pin AREF.

Example

int analogPin = 3;// potentiometer wiper (middle terminal) connected to analog pin 3 
int val = 0; // variable to store the read value

void setup() {
   Serial.begin(9600); // setup serial
   analogReference(EXTERNAL); // the voltage applied to the AREF pin (0 to 5V only) 
      // is used as the reference.
}

void loop() {
   val = analogRead(analogPin); // read the input pin
   Serial.println(val); // debug value
}