Leer un valor analogico con Arduino

Este ejemplo le mostrará cómo leer una entrada analógica en el pin analógico 0.

Este ejemplo le mostrará cómo leer una entrada analógica en el pin analógico 0. La entrada se convierte de analogRead () en voltaje, y se imprime en el monitor en serie del software Arduino (IDE).

Componentes requeridos

Necesitará los siguientes componentes:

1 × placa de pruebas

1 × Arduino Uno R3

1 × 5K resistencia variable (potenciómetro)

2 × puente


Procedimiento

Siga el diagrama del circuito y conecte los componentes en la placa de pruebas como se muestra en la imagen a continuación.

 

Potenciómetro

Un potenciómetro (o pote) es un transductor electromecánico simple. Convierte el movimiento rotativo o lineal del operador de entrada en un cambio de resistencia. Este cambio se usa (o puede usarse) para controlar cualquier cosa, desde el volumen de un sistema de alta fidelidad hasta la dirección de un gran barco de contenedores.

El pot como lo conocemos originalmente se conocía como un reóstato (esencialmente una resistencia variable de bobinado). La variedad de macetas disponibles ahora es bastante sorprendente, y puede ser muy difícil para el principiante (en particular) determinar qué tipo es adecuado para una tarea determinada. Algunos tipos de macetas diferentes, que se pueden usar para la misma tarea, dificultan el trabajo.


 

La imagen arriba muestra el símbolo esquemático estándar de una olla. La imagen de la derecha es el potenciómetro.

Bosquejo

Abra el software Arduino IDE en su computadora. La codificación en el idioma Arduino controlará su circuito. Abra un nuevo archivo de boceto haciendo clic en Nuevo.


Codigo Arduino

/*

   ReadAnalogVoltage

   Reads an analog input on pin 0, converts it to voltage, 

   and prints the result to the serial monitor.

   Graphical representation is available using serial plotter (Tools > Serial Plotter menu)

   Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

*/


// the setup routine runs once when you press reset:


void setup() {

   // initialize serial communication at 9600 bits per second:

   Serial.begin(9600);

}


// the loop routine runs over and over again forever:


void loop() {

   // read the input on analog pin 0:

   int sensorValue = analogRead(A0);

   // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):

   float voltage = sensorValue * (5.0 / 1023.0);

   // print out the value you read:

   Serial.println(voltage);

}

Código a tener en cuenta

En el programa o boceto que se proporciona a continuación, lo primero que debe hacer en la función de configuración es comenzar las comunicaciones en serie, a 9600 bits por segundo, entre su placa y su computadora con la línea:

Serial.begin (9600);

En el bucle principal de su código, debe establecer una variable para almacenar el valor de resistencia (que estará entre 0 y 1023, perfecto para un tipo de datos int) proveniente de su potenciómetro:

int sensorValue = analogRead (A0);

Para cambiar los valores de 0-1023 a un rango que corresponde al voltaje, el pin está leyendo, debe crear otra variable, un flotador y hacer un pequeño cálculo. Para escalar los números entre 0.0 y 5.0, divida 5.0 por 1023.0 y multiplíquelo por sensorValue -

voltaje de flotación = sensorValue * (5.0 / 1023.0);

Finalmente, necesita imprimir esta información en su ventana serial. Puede hacer esto con el comando Serial.println () en su última línea de código:

Serial.println (voltaje)

Ahora, abra Serial Monitor en Arduino IDE haciendo clic en el icono en el lado derecho de la barra verde superior o presionando Ctrl + Shift + M.


Monitor en serie

Resultado

Verá un flujo constante de números que van desde 0.0 a 5.0. A medida que gira el potenciómetro, los valores cambiarán, correspondiente al voltaje en el pin A0.