El siguiente proyecto de crear un ohmímetro con Arduino es realmente útil y fácil para todo aquél entusiasta de la electrónica.
Montaje físico de un ohmímetro con Arduino
El siguiente montaje es bastante simple.
Solo necesitarás una placa de Arduino, una resistencia la cual será la que mediremos y otra resistencia de prueba, con un valor previamente conocido.
A continuación, configuraremos un divisor de voltaje con ambas resistencias y procedemos a medir el voltaje entre ambas con nuestra placa Arduino.
Finalmente, ejecutaremos un código que calculará la resistencia a partir de la Ley de Ohm.
El montaje es el siguiente:

Código para el proyecto del ohmímetro con Arduino
Sube el siguiente Sketch en el IDE de Arduino:
int analogPin = 0;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 1000;
float R2 = 0;
float buffer = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
raw = analogRead(analogPin);
if(raw){
buffer = raw * Vin;
Vout = (buffer)/1024.0;
buffer = (Vin/Vout) - 1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
delay(1000);
}
}
R1, es el valor (en ohmios) de la resistencia con el valor conocido. El valor de dicha resistencia lo podrás modificar en la línea 5 del anterior Sketch.
En este caso, se ha usado una resistencia de un 1K Ohms (1000 Ohms).
Por esta razón, en la línea 5 se establece una variable de tipo flotante y se le asigna el número 1.000.
float R1 = 1000;
.
Se configura el pin analógico A0 el cual realizará una lectura de voltaje entre la resistencia de 1K y la resistencia que vamos a medir.
Sin embargo, pudieras utilizar otro pin analógico.
Finalmente obtendremos la salida en la pantalla de los valores de las resistencias. El programa ejecutado mostrará dos valores, R2
y Vout
.
R2
: es la resistencia de su resistencia desconocida en ohmios.Vout
: es la caída de voltaje a través de su resistencia desconocida.
Mostrando las lecturas en una pantalla LCD
Si deseas mostrar las medidas de la resistencia en una pantalla LCD solo debes cargar este programa en el Arduino:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int analogPin = 0;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R1 = 1000;
float R2 = 0;
float buffer = 0;
void setup(){
lcd.begin(16, 2);
}
void loop(){
raw = analogRead(analogPin);
if(raw){
buffer = raw * Vin;
Vout = (buffer)/1024.0;
buffer = (Vin/Vout) - 1;
R2 = R1 * buffer;
lcd.setCursor(0, 0);
lcd.print("Vout: ");
lcd.print(Vout);
lcd.setCursor(0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000);
}
}
¿Qué tan preciso es este ohmímetro?
Las siguientes lecturas se obtuvieron al medir una resistencia de de 200 ohmios:

Los valores arrojan un error de solo el 1,6%.
Este problema se solventa usando una resistencia conocida con un valor cercano a la resistencia desconocida.