Wednesday, 22 March 2017

WATER LEVEL INDICATOR

DEC 5052 EMBEDDED SYSTEM APPLICATIONS

LECTURER : DR. HJ  HASNIM BIN HARUN

CLASS : EMSA

GROUP MEMBERS : ANIS SYUHADA BINTI AMRAN (01DIS15F1080)
                                   NOR IZATY BINTI ROSLAN (01DIS15F1039)
                                   NURUL HUSNA BINTI ABU BAKAR (01DIS15F1017)
                                   SITI SHUHADA BINTI JEFRIDIN (01DIS15F1028)

SYNOPSIS :
The Water Level Indicator employs a simple mechanism to detect and indicate the water level in an overhead tank or any other water container.
The sensing is done by using a set of three probes which are placed at three different levels on the tank walls (with probe 3 to probe 1 placed in increasing order of height, common probe (i.e. a supply carrying probe) is placed at the base of the tank). 
In this project we show the water level indicator using three transistors which conducts as level rises, a buzzer is also added which will automatically start as the water level becomes full, auto buzzer start with the help of microcontroller. With the help of this project we not only show the level of water on seven segment display but also indicate the water full condition using a buzzer.
a) list of hardware and software
hardware : 1. buzzer 
                  2. 7segment common cathode
                  3. transistor (BC547) 
                  4. resistor (270k, 100r, 470r) 
                  5. wire jumper
                  6. PIC16F877A
 software : 1. MPLAB IDE v8.83 
                   2. Proteus 8 Professional


b) Circuit diagram for this project 

  • when the container is empty, the output at 7segment is "E".



  • when water is medium, the output at 7segment is "C" and buzzer sound with delay 500ms.





  • when water is full, the output at 7segment is "F" and buzzer sound non stop.



c) Coding
#include<htc.h>

void delay(unsigned long);

int main(void)
{
//0-output 1-input
TRISB=0xff; //PORTB pins as input
PORTB=0xff;
TRISC=0x00; //PORTC as output
PORTC=0xff;
TRISD=0x00; //PORTD as output
PORTD=0xff;

unsigned char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};
while(1)
{
 if(PORTB == 0b00000011) //3rd probe, Tank full
{
RC1=1;
RC2=0;
RC3=0;

PORTD = 0b01110001;

RC0=1;;
}
 else if(PORTB == 0b00000101) //2nd probe, Half tank
{
RC1=0;
RC2=1;
RC3=0;

PORTD = 0b00111001;

RC0=1;
delay(500);
RC0=0;
delay(500);
}
 else if(PORTB == 0b00000110) //1st probe, Empty Tank
{
  RC0=0;

RC1=0;
RC2=0;
RC3=1;

PORTD = 0b01111001;
}
 else if (PORTB == 0b00000111)
{
RC0=0;

RC1=0;
RC2=0;
RC3=0;

PORTD = 0b00111111;
}
}
}

void delay(unsigned long x)
{
unsigned long i;
for(i=0;i<5000;i++)
for(;x>0;x--);
}
d) video





















e) Conclusion
  1. Easy installation.
  2. Low maintenance.
  3. Compact elegant design.
  4. The Automatic water level controller ensures no overflows or dry running of pump there by saves electricity and water.
  5. Avoid seepage of roofs and walls due to overflowing tanks.
  6. Fully automatic, saves man power.
  7. Consume very little energy, ideal for continuous operation.
  8. Automatic water level controller provides you the flexibility to decide for yourself the water levels for operations of pump set.
  9. Shows clear indication of water levels in the overhead tank.








No comments:

Post a Comment