Full Mecánica

Para todos los amantes de la Tecnología Mecánica

Definiciones y conceptos de Mecánica ==>>

El comando analogRead() en arduino

El comando "AnalogRead( )" en Aduino

Si Ud. quiere leer los datos provenientes de un sensor u otro dispositivo analógico, Arduino tiene dos funciones: analogReference y analogRead. Para estas instrucciones es necesario conocer el voltaje analógico máximo que puede ser leído por el pin, por defecto este valor es de 5V para el Arduino Mega, esto significa que puede distinguir solo entradas comprendidas entre 0V-5V

 

Syntaxis:

          analogRead(#pin)

 

La sintaxis de digitalRead, y analogRead son similares, ambos retornan un entero “int”. Sin embargo, hay dos grandes diferencias.

 

  1. El entero (int) devuelto por analogRead tiene valores de entre 0-1023, donde 0 representa un voltaje de 0V y 1023 representa el voltaje máximo.

 

  1. AnalogRead se aplica solo a los pines de entrada analógicos especialmente configurados para este propósito (fig9.1), en el caso del Arduino mega, este tiene 16 pines de entrada analógicos, A0-A15.

 

El siguiente código lee el voltaje analógico del pin 5 y le asigna a la variable "AnalogV"

 

AnalogV = analogRead(5)

 

Una característica de los pines analógicos es que pueden ser accedidos por las funciones digitales, digitalRead y digitalWrite por ejemplo, el siguiente código lee el nivel de voltaje digital desde el Pin A5:

 

DigitalV=digitalRead(A5);

 

El siguiente código toma la lectura del pin A0 y le llama “rawReading”.

 

ü  int analogPin=A0; // llama analogPin al pin A0 y lo define como entero, significa 

                                //que analogPin tomara el valor leído en A0

 

ü  int rawReading = analogRead (analogPin); // rawReading tomara a su vez el valor

                                                    //de analogPin

 

Al igual que los pines digitales, los pines analógicos están configurados por defecto como entradas (INPUT), pero pueden ser configurados como salidas con la función pinMode, en los modos OUTPUT o INPUT_PULLUP.

 

  • No hace falta declarar un pin como entrada, porque cuando corras el programa en el IDE este mostrara error.

 

 "analogRead", lee el valor proveniente de un pin analógico. Como se dijo anteriormente, un sensor analógico entrega al pin señales de voltaje de entre 0-5v, esta señal es dividida por el microprocesador en 1024 unidades donde el cero equivale a cero voltios y 1023 equivale a 5 voltios (0=0v, y 1023=5v), que es como se muestra en la pantalla. esto da una resolución de 5/1024=4mv/unidad. Puede escribirse una instrucción que convierta las unidades en voltios (v=4mv x #unidades) para ser mostrados en la pantalla.

 

 

NOTA

El voltaje máximo que puede aceptar un pin de lectura puede ser cambiado con la función analogReference, cuyo argumento puede tomar uno de los cuatro valores siguientes:

 

           DEFAULT - El valor por defecto de 5V

           INTERNAL1V1 - Un máximo de 1.1V

           INTERNAL2V56 - Un máximo de 2.56V

           EXTERNAL - El máximo es fijado por el voltaje en el pin.

 

Syntaxis:

 

analogReference(EXTERNAL);

 

en este caso, los pines analógicos leerán voltajes de entrada entre comprendidos entre 0V y el voltaje seleccionado máximo hasta de 5V. AREF es el nombre de uno de los pines de la tarjeta de Arduino.

  •          Si conectas una tensión externa de referencia, no llames a analogRead() antes de ejecutar la instrucción analogReference(EXTERNAL), porque harías un cortocircuito entre la señal de comparación interna y la tensión externa en AREF.
  •      No conectes al pin “AREF” a tensiones de menos de 1V ni más de 5V.

Ambato 190617

                                     

Fullmecanica 2014 - Todos los Derechos Reservados