Arduino - Lectura de voltaje analógico

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 × tablero
  • 1 × Arduino Uno R3
  • Resistencia variable 1 × 5K (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 que se muestra a continuación.

Potenciómetro

Un potenciómetro (o recipiente) es un simple transductor electromecánico. Convierte el movimiento rotatorio 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 enorme buque portacontenedores.

La olla como la conocemos originalmente se conocía como reóstato (esencialmente una resistencia bobinada variable). La variedad de macetas disponibles es ahora bastante asombrosa, 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 de la izquierda 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 lenguaje Arduino controlará su circuito. Abra un nuevo archivo de dibujo haciendo clic en Nuevo.

Código 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 esquema que se muestra 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 corresponda 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 multiplique eso por sensorValue -

float voltage= 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(voltage)

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.

Resultado

Verá un flujo constante de números que van desde 0.0 - 5.0. A medida que gira la olla, los valores cambiarán, correspondientes al voltaje en el pin A0.