Introduction: Intel Edisson: Digital Ohmmeter (voltage Divider)

About: 31 years old tinker and diy hobbyist. From Oulu, Finland. IG @mkarvonen_instructables

This is how to make a simple digital Ohmmeter using Intel Edison, LCD screen, 1kOhm resistor and a few wires.

Voltage divider is based on Ohms law. Read more from here!

Step 1: Components.

You will need a Arduino based board. I used Intel Edison.

Then you will need a LCD screen if you want to view the output from somewhere else than serial.

A 1 kOhm resistor for the voltage divider and a few cables.

Step 2: Install

Install the wires like in the picture. (in the picture there is intel Galileo but the pins are the same)

R1 = 1 kOhm.

R2 = X = The resistor you are going to measure.

The R1 resistor can be almost anything but you will have to change the R1 value from the code.

Step 3: Coding

This ohmmeter works that the 2 resistors in series forms a voltage divider circuit. (R1+R2)

One end of the resistor pair is hooked up to Vcc +5V and the other end is hooked up to GND.

The 5 volts that the Arduino provides gets divided up between the 2 resistors.

The resistor which holds the greater resistance gets more of the voltage, according to ohm's law, V=IR, where V is Voltage, I is current and R is Resistance

The voltage that falls across a component is directly proportional to the amount of resistance it contains.

Using this principle, we can set up a mathematical model to determine the resistance, based on the voltage division.

The formula can be found directly from the code.


int analogPin= 0;
int reading= 0;
int Vin= 5;
float Vout= 0;
float R1= 1000;
float R2= 0;
float buffer= 0;

#include
#include "rgb_lcd.h"

rgb_lcd lcd;

const int colorR = 255;
const int colorG = 255;
const int colorB = 255;

void setup()
{
Serial.begin(115200);
lcd.begin(16, 2);

lcd.setRGB(colorR, colorG, colorB);
}

void loop()
{
reading= analogRead(analogPin);
if(reading)
{
buffer= reading * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
lcd.setCursor(0,1);
lcd.print(R2);
lcd.setCursor(0,0);
lcd.write(0b11110100);
delay(1000);
lcd.clear();
}
}

Step 4: Test It and Confirm That the Value Is Right.

That's it. Simple and effective.

Note that all the resistors hold a few % margin of error in the correct resistance. This apply's pretty much in every possible electrical component.

In the last few pictures you can see differend resistors tested. By looking the colors you can "read" the color code what it's supposed to be.

Thank you for reading!

If you like my project's be sure to follow me to get the latest build's first.

If you have any questions, i'm here for you. :)

Happy building!

On a Budget Contest

Participated in the
On a Budget Contest