This article illustrates the construction and working of a liquid/water level indicator. Such an indicator is used in tanks to indicate the level of liquids and alert us when the tank is full. So by this circuit we can monitor the various levels of the tank and can avoid spillage of water and also we can configure our supplies according to the various levels of tank. Such module or circuit can be installed in big buildings where manual monitor of tanks is difficult and its indicator can be placed at some centralized place.
This water level indicator circuit works on the principle that water conducts electricity. A wire connected to VCC and four other wires are dipped in tank at different levels namely quarter, half, three-fourth, full and their output are taken on pins P3.0, P3.1, P3.2, P3.3 via a transistor BC547. Port P2 is connected to data pins of LCD and P1.0, P1.1, P1.2 are respectively connected to RS, RW, and EN pins of LCD.
Initially when the tank is empty LCD will show the message VACANT. As the tank starts filling up wire at different levels get some positive voltage, due to conducting nature of water. This voltage is then fed to their corresponding pins on controller. When level reaches to quarter level, LCD displays the messageQUARTER. On further rise of level, HALF and 3/4 QUARTER are displayed on LCD. When tank gets full LCD shows the message FULL CLOSE TAP. A buzzer is also provided to produce a alert the user when the tank gets filled. This buzzer can be made off by pressing the switch connected between pin 15 of controller and VCC.
// Program to make a Liquid level indicator using LCD #include<reg51.h> sbit rs=P1^0; //register select pin sbit rw=P1^1; //read/write pin sbit e=P1^2; //enable pin sbit quat=P3^0; //pin connected to quater level of tank sbit half=P3^1; //pin connected to half level of tank sbit quat_3=P3^2; //pin connected to three -fourth level of tank sbit full=P3^3; //pin connected to full level of tank sbit spkr_on=P3^4; sbit spkr_off=P3^5; // pin to off speaker void delay(int k) //delay function { int i,j; for(i=0;i<k;i++) for(j=0;j<1275;j++); } void write(int j) //write function { rs=1; //selecting command register rw=0; //selecting to write P2=j; //putting value on the pins e=1; //strobe the enable pin delay(1); e=0; return; } void cmd(int j) //command function { P2=j; //put the value on pins rs=0; //selecting command register rw=0; //selecting to write e=1; //strobe enable pin delay(1); e=0; return; } void puts(char *a) //puts function to print a string { unsigned int p=0; for(;a[p]!=0;p++) write(a[p]); } void lcd_init(void) // function to initialise the LCD { cmd(0x38); //setting 8-bit interface, 2 lines, 5*7 Pixels delay(1); cmd(0x0e); //turning on underline visible cursor delay(1); cmd(0x01); //clearing screen cmd(0x80); //moving cursor to the begining of line 1 of LCD } void main() { quat=half=quat_3=full=spkr_off=1; //configuring as input pins quat=half=quat_3=full=spkr_off=0; //lowering input pins spkr_on=1; // making speaker on pin high,as it works on negative logic while(1) { while(quat==0&&half==0&&quat_3==0&&full==0&&spkr_off==0) //condition when tank is empty { lcd_init(); // initialising LCD puts("VACANT"); //printing VACANT on lcd } while(quat==1&&half==0&&quat_3==0&&full==0&&spkr_off==0) //condition when tank is quater { lcd_init(); puts("QUATER"); //printing QUATER on lcd } while(quat==1&&half==1&&quat_3==0&&full==0&&spkr_off==0) //condition when tank is half { lcd_init(); puts("HALF"); //printing HALF on lcd } while(quat==1&&half==1&&quat_3==1&&full==0&&spkr_off==0) //condition when tank is three-fourth { lcd_init(); puts("3/4 FULL"); //printing 3/4 FULL on lcd } while(quat==1&&half==1&&quat_3==1&&full==1&&spkr_off==0) //condition when tank is full { lcd_init(); puts("FULL;CLOSE TAP"); //printing FULL;CLOSE TAP on lcd spkr_on=0;// Enabling speaker } while(quat==1&&half==1&&quat_3==1&&full==1&&spkr_on==0&&spkr_off==1)//enabling high speaker_off pin { spkr_on=1;//disabling speaker } } }
Source: http://www.engineersgarage.com/
Thanks for sharing the source code. I have been looking for alarms for water level indicator.
ReplyDeleteWelcome Luke.. Hope It Works For You..
DeleteVisit Again..
I WANT TO FEED THIS INTEL 8051 MICROCONTROLLER IN HEX CODE.PLEASE TELL ME HOW TO DO IT
ReplyDeleteusing keil convert you c program into hex file...then flash that hex file in your microcontroller using any programmer ( Unipro or USBasp) .
ReplyDeletecan you please give the code in assembly language
ReplyDeletenot working
ReplyDeleteAwesome info
ReplyDeleteUseful circuit.Here is an ic based 6 led water level circuit with motor dry run alert.
ReplyDeletehttps://www.kjmindia.in/2018/06/6-led-water-level-indtr-with-mtr-dry.html
Nice Blog, Visit for the best SEO Service and Website Designing and Development for your business.
ReplyDeletePPC Company in Delhi
For the best Mutual fund Investment and for the best Mutual fund Schemes Visit Mutualfundwala.
ReplyDeleteMutual Fund Agent
Mutual Funds India
For best sound and audio engineering course visit our website spingurus.
ReplyDeleteaudio engineering courses
Hi, Do you know Optima Tech
DeleteOptima Tech is leading company in the electronics industry. We provide complete printed circuit board assembly & PCB Design services. We are the manufacturer of PCB circuit board & specialize in PCB assembly & engineering services.
A Professional mobile app development Canada company offering Android & iOS app development services. I like its sharing. Thanks you
ReplyDeleteThanks, you guys that is a great explanation. keep up the good work in your granite blog.
ReplyDeletewe have provide best technical support for eamil :-
ReplyDeleteforgot yahoo password
forgot aol password
forgot outlook password
at&t phone password reset
forgot roadrunner password
forgot yahoo password
ReplyDeleteforgot aol password
forgot outlook password
at&t phone password reset
forgot roadrunner password
Icon Process Controls offers the industries best Submersible Level Sensor device which is usually used to monitor water/wastewater or the quality of moving forward in a designation. The sensor measurement applications are usually quite versatile and abundant and each one of them has to abide by engineering and constructional constraints and requirements.
ReplyDeleteWhat are some of the cheapest places to travel to in the world? From Asia to Africa and 123movies
ReplyDeleteThanks for sharing
ReplyDeleteflats for sale in uttam nager
flats for sale in uttam nager east
flats for sale in janakpuri
flats for sale in nawada metro station
flats for sale in dwarka mor
Hi
ReplyDeleteThank for sharing New Blog, your all blog is informative and i am waiting your nuw blog, thank again for sharing blog.
[URL="https://insurevic.com/en/car-insurance-oman/"]car insurance[/URL] | [URL="https://insurevic.com/"]insurance company in oman[/URL]
[URL="https://insurevic.com/en/travel-insurance/"]travel insurance in oman[/URL]
Really Nice Blog! I want to say thanks for your time for this great blog, Keep it up Water level sensor
ReplyDelete