[Básico] Medir Una Resistencia Con Arduino

Introduction: [Básico] Medir Una Resistencia Con Arduino

En Arduino existen únicamente dos formas de captar datos del mundo exterior:

- Digital: sus valores pueden ser 0 o 1, dependiendo de si se aplica o no un voltaje al conector que se está leyendo como entrada.

- Analógica: sus valores pueden ser entre 0 y 1023, dependiendo del voltaje aplicado entre 0 y el voltaje de alimentación de la placa (normalmente 5V, pero puede ser 3.3V).

En ambos casos hablamos de una medida de voltaje, no de resistencia, amperaje, capacitancia, inductancia... únicamente voltaje.

Es por ello que para hacer otro tipo de mediciones con una placa Arduino (y en general cualquier microcontrolador), debemos buscar la forma de transformar el valor medido en un valor de voltaje.

La resistencia es el caso más sencillo para ello.

Step 1: Divisor De Voltaje

Un divisor de tensión o voltaje es una configuración de elementos en un circuito eléctrico que actúa dividiendo una tensión entrante y devolviendo una tensión de salida calculable.

En nuestro caso hablaremos de un divisor de voltaje resistivo, en el que emplearemos 2 resistencias. Como nuestro objetivo es calcular una de ellas, la otra debe ser de un valor conocido.

La ecuación que define el comportamiento del división de voltaje es la que podemos ver en las imágenes.

Lo mejor para familiarizarnos es ver un par de ejemplos de cálculos.

Step 2: Ejemplo

Supongamos que queremos calcular R1[Ver esquema del paso anterior]

Sabemos que R2 tiene un valor de 10KΩ, sabemos que Vin tiene un valor de 5V (lo que normalmente nos encontramos en el entorno Arduino) y que la lectura de Vout en un pin analógico de Arduino es de 750.

1º- Sabemos que la resolución de la ADC de Arduino es de 10 bits, lo que significa que tiene 1024 divisiones posibles (2 elevado a 10) para un valor de entrada entre 0V y 5V. Por lo tanto si ponemos 5V en un pin analógico, su valor será 1023 (no será 1024, recordemos que empieza a contar en 0, no en 1); si ponemos 0V en el pin, su valor será 0 y si por ejemplo ponemos 2,5V su valor será 511.

Por lo tanto, si el valor que nos da la lectura analógica del pin en su valor digital es 750, podemos ya calcular el Vout, el voltaje de salida del divisor de voltaje.

>> 5V / 1024 divisiones = 0,00488V / división

>> 0,00488 voltios/división · 750 divisiones = 3.66V

2º- Podemos ya despejar R1, que era la incógnita:

>> Vout = ( R2 / R1+R2 ) · Vin

>> 3.66 V = ( 10KΩ / R1 + 10KΩ) · 5V

>> R1 + 10KΩ = 10KΩ · 5V / 3.66V

>> R1 = ( 10KΩ · 5V / 3.66V ) - 10KΩ = 3.66


En general, podemos calcular el valor de R1 como:

>> R1 = ( R2 · Vin / Vout ) - R2

Step 3: Ejemplo De Código

Poniendo en práctica todo lo que hemos explicado antes, dejamos aquí un ejemplo de código que calcula R1 leyendo el voltaje mediante la entrada analógica A0, simplemente aportando el valor de R2.

Share

    Recommendations

    • Water Contest

      Water Contest
    • Creative Misuse Contest

      Creative Misuse Contest
    • Fix It! Contest

      Fix It! Contest

    3 Discussions

    Hola muy buena la entrada y perfecta explicación. Solo una duda: No entiendo que son esos 750 que lee una entrada analógica en Vout. ¿Me ayudas? Gracias.

    Saludos.

    //programacao do arduino corrigida

    int sensorPin = A5;

    int valorSensor;

    float voltaje, r1, r2;

    void setup() {

    pinMode(sensorPin,INPUT);

    Serial.begin(9600);

    r2 = 10000; // R2 = 10KΩ

    }

    void loop() {

    valorSensor= analogRead(sensorPin); // Lee el valor del pin analogico A0

    voltaje = (valorSensor*5.0/1023.0); // Calcula el voltaje

    r1 = (voltaje*r2)/(5-voltaje);

    /*

    // Otra forma de calcular R1, sera ignorar el voltaje y tomar las divisiones directamente del valor medido

    r1 = ((r2*1024)/valorsensor)-r2;

    */

    Serial.print("Vout = ");

    Serial.print(voltaje);

    Serial.print("V | R1 = ");

    Serial.print(r1);

    Serial.println("Ω");

    delay(1000);

    }

    0
    None
    GrisI

    1 year ago

    Una fotito del circuito y una de la salida del serial sería espectacular