Building A Capacitive Liquid Sensor
Building A Capacitive Liquid Sensor
Building A Capacitive Liquid Sensor
Table of Contents
Step 1: Parts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Step 2: Connecting the LCD and letting your creation talk to the world. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Step 7: Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Step 8: Stuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Intro: Building a Capacitive Liquid Sensor
A capacitive liquid sponsor relies on the fact the the capacitance or charge between 2 metal plates will change (in this case increase) depending on what material is
between them.
This allows us to create a level sensor that is safe for use with any liquid, this one will be used in a buggy with gasoline (petrol).
One plate is hooked to ground. The other connects to pin 23. There is a 820K ohm resistor from pin 22 to 23. The sensor works by charging the capacitor (the water
bottle) and measuring how long it takes to drain through the resistor.
Image Notes
1. A temperature sensor that I salvaged from a projector. It uses the I2C interface so I won't be getting into it in this instructable.
2. That's supposed to be a gas pump, looks better in person.
Step 1: Parts
1. A solder-less bread board is strictly not needed but make it a lot easier, especially if you plan to add other stuff later.
2. Arduino, I'm using an Arduino mega but a standard one should have just enough pins.
3. LCD character display.
4. Some odds and ends including some wire and a 1M? resistor.
5. A computer, you know, that thing your using to read my instructable with.
6. Patience.
Image Notes
1. It's a 820K ohm but you should use 1M ohm.
Step 2: Connecting the LCD and letting your creation talk to the world.
Like every step in this instructable there are many ways to do this. I will show you my favorite.
Your lcd has 16 throe hole solder pads so the first thing is to attach some pins. If your patent then I recommend purchasing a header like this
http://www.sparkfun.com/commerce/product_info.php?products_id=117. But if you want to get done as fast as possible (like me) then you can use wire.
Simple cut 16 pieces of wire at about 1/2" (13mm (longer is okay)). Then solder them to the board.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Image Notes
1. I soldered from the other side.
Pin 1 Ground
Pin 2 +5 Volt
Pin 3 Contrast adjust
Pin 4 RS
Pin 5 R/W Goes to Ground
Pin 6-14 Data
Pin 15 Back-light Power
Pin 16 Back-light Ground
Image Notes
1. 16
2. 15
3. 01
4. 02
5. 5
6. Contrast adjust pot.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Step 4: Data Lines
Now you need to connect the Arduino to the lcd.
It doesn't mater what pins you use, but I recommend following the schematic.
Image Notes
1. Not my image obtained form http://arduino.cc/en/
Image Notes
1. A Bit of a mess.
Image Notes
1. Ground
2. 5v out
3. 3.3v out
You can use any type of wire but any non shielded lines will provide poor performance.
Connect one side to ground and the other to a resister and 2 I/O pins.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Image Notes
1. Soldered on.
Image Notes
1. Ground
2. Receive
3. Send
Step 7: Programming
You need to add 2 library files to make this work
LiquidCrystal.h http://arduino.cc/en/Tutorial/LiquidCrystal
CapSense.h http://www.arduino.cc/playground/Main/CapSense
//This sets the pins for the lcd (RS, Enable, data 0-7)
LiquidCrystal lcd (53, 52, 51, 50, 49, 48,47,46,45,44);
#define Tempin 0x48
#define Tempout 0x49
CapSense cs_22_23 = CapSense(22,23);
lcd.setCursor(18,0);
lcd.print(4, BYTE);
lcd.setCursor(19,0);
lcd.print(5, BYTE);
lcd.setCursor(18,1);
lcd.print(6, BYTE);
lcd.setCursor(19,1);
lcd.print(7, BYTE);
lcd.setCursor(0,2);
lcd.print("Fuel ");
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
lcd.setCursor(0,3);
lcd.print("E");
}
void loop() {
long fuel;
lcd.createChar(2, block);
//Temratue makes a bit of a difrence so let it run for 5 min before tuning.
//Adjust this number so that the output is as close to zero as posible.
fuel = fuel - 7200;
//Then fill up the conataner
//Un-comment and adjust this so that the output, when the container is full,
//is as close to 100 as possible.
//fuel = fuel / 93;
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print(fuel);
if (fuel >= 6) {
lcd.setCursor(1,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(1,3);
lcd.print(" ");
}
if (fuel >= 12) {
lcd.setCursor(2,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(2,3);
lcd.print(" ");
}
if (fuel >= 17) {
lcd.setCursor(3,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(3,3);
lcd.print(" ");
}
if (fuel >= 23) {
lcd.setCursor(4,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(4,3);
lcd.print(" ");
}
if (fuel >= 28) {
lcd.setCursor(5,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(5,3);
lcd.print(" ");
}
if (fuel >= 34) {
lcd.setCursor(6,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(6,3);
lcd.print(" ");
}
if (fuel >= 39) {
lcd.setCursor(7,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(7,3);
lcd.print(" ");
}
if (fuel >= 44) {
lcd.setCursor(8,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(8,3);
lcd.print(" ");
}
if (fuel >= 50) {
lcd.setCursor(9,3);
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
lcd.print(2, BYTE);
} else {
lcd.setCursor(9,3);
lcd.print(" ");
}
if (fuel >= 55) {
lcd.setCursor(10,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(10,3);
lcd.print(" ");
}
if (fuel >= 60) {
lcd.setCursor(11,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(11,3);
lcd.print(" ");
}
if (fuel >= 64) {
lcd.setCursor(12,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(12,3);
lcd.print(" ");
}
if (fuel >= 69) {
lcd.setCursor(13,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(13,3);
lcd.print(" ");
}
if (fuel >= 74) {
lcd.setCursor(14,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(14,3);
lcd.print(" ");
}
if (fuel >= 78) {
lcd.setCursor(15,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(15,3);
lcd.print(" ");
}
if (fuel >= 83) {
lcd.setCursor(16,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(16,3);
lcd.print(" ");
}
if (fuel >= 87) {
lcd.setCursor(17,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(17,3);
lcd.print(" ");
}
if (fuel >= 92) {
lcd.setCursor(18,3);
lcd.print(2, BYTE);
} else {
lcd.setCursor(18,3);
lcd.print(" ");
}
if (fuel >= 96) {
lcd.setCursor(19,3);
lcd.print("F");
} else {
lcd.setCursor(19,3);
lcd.print(" ");
}
delay (50);
}
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Image Notes
1. Apple uses automated schnapps IVs.
Step 8: Stuff
This is perfect for measuring volatile liquids, even works inside a propane tank.
Have fun.
Any and all information is for educational purposes only and I can not be held responsible if you blow yourself up.
Related Instructables
Comments
25 comments Add Comment
It's a bit of a pain to solder aluminum foil but can be done. otherwise anything conductive.
I have pet cockatiels that love to backwash in their water dish. It doesn't take long for the water to get kinda nasty. I wonder if something like this could be
used to alert me when their water needs a change out.
Have you ever noticed a significant reaction to the electrolyte getting contaminated? Any tips you can offer would be much appreciated.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
Thanks for the inspiration.
Using an infrared led on one side and a receiver on the other could be used to detect when impuritys where in the water.
I considered the infrared idea but they like to bathe in the water too, so that might trip it. Plus, they like to break things, so I was hoping some
submerged concentric metals tubes would be beak proof.
Could anyone point me in the right direction? Maybe sink a pressure sensor to the bottom of the tank and read out the static pressure, using an Arduino?
Your best bet would be to use a couple metal pipes. one inside the other making shire they don't touch.
Another option is a simple float inside a tube, with a small magnet attached to it. Then put some read switches along the length of the pipe.
1: so the two aluminum sheets sit outside the container? one on either side of it?
2: would there not be a risk of the capacitor discharging and creating a spark?
Comment: NO METAL CONTAINERS!? I guess a keg level sensor is out of the picture lol.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/
makkan says: Jan 28, 2010. 11:44 PM REPLY
Just what I have been looking for to measure the coffee level in the office coffee machine.
I might just use the howl tank as in plate, plastic tank, plate.
http://www.instructables.com/id/Building-a-Capacitive-Liquid-Sensor/