Discussion in "New Ideas regarding projects" started by    coolmirza143    Nov 26, 2010.
Sun Nov 28 2010, 02:19 pm
#21
i think commercial r available but normally used in industry automation not in general use
so its costly too
Mon Nov 29 2010, 12:21 am
#22


hi all, about the sensor used in the schematic is that not a real comercial sensor available in the market?
as i have read its only stainless steel probs or chrome?

romel_emperado


This type of circuit is often used in items like hot water boilers that fill themselves and
switch heaters to control the temperature.

The probes are always stainless steel, but that may be a food safety issue.
I think almost any non corroding metal will do.
Note.. for drinking water, chrome plating can use toxic metals, so best avoided.

The size is not important as the circuit is very sensitive.
Spacing depends on the use, so you don't see "standard" contact pairs.
 romel_emperado like this.
Mon Nov 29 2010, 12:52 am
#23



hi all, about the sensor used in the schematic is that not a real comercial sensor available in the market?
as i have read its only stainless steel probs or chrome?

romel_emperado


This type of circuit is often used in items like hot water boilers that fill themselves and
switch heaters to control the temperature.

The probes are always stainless steel, but that may be a food safety issue.
I think almost any non corroding metal will do.
Note.. for drinking water, chrome plating can use toxic metals, so best avoided.

The size is not important as the circuit is very sensitive.
Spacing depends on the use, so you don't see "standard" contact pairs.

ExperimenterUK




thanks... you answer my doubts...
Mon Nov 29 2010, 10:05 am
#24
Project drawing... power portion is not included in this diagram........



i am using six sensor to detect water level and two more sensors are used one for flow detection and one to detect water intake....

using port zero to sens output of level detector sensors and for this i am using pull down resistor to detect 5v at an pin of Port 0.

8 LEDs are connected vertically with Port 1 and these will show the status of Tank....

LCD to show Tank status in numeric values like 10% full, 50 % full...etc.
Mon Nov 29 2010, 11:24 am
#25
hi coolmirza143
lcd can be replace with 2 or 3 7-seg if u want with multiplexing module to minimize the cost
Mon Nov 29 2010, 11:39 am
#26
Here is complete code now i am making Proteus simulation...... code is working fine no errors....

#include<reg51.h>

sbit level1=P0^0;
sbit level2=P0^1;
sbit level3=P0^2;
sbit level4=P0^3;
sbit level5=P0^4;
sbit level6=P0^5;
sbit flow=P0^6;
sbit intake=P0^7;
sbit rs=P3^0;
sbit rw=P3^1;
sbit E=P3^2;
sbit sw=P3^3;
sbit lamp=P3^4;
sbit buzzer=P3^5;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit led5=P1^4;
sbit led6=P1^5;
void delay_ms(unsigned int x);
void lcd_cmd(unsigned char x);
void lcd_data(unsigned char x);
void lcd_str(unsigned char *str);
void lcd_init();
void main(){
while(1){
		P0=0x00;   //setting port zero low to monitor sensor o/p.
		lcd_init();
		delay_ms(20);

	if(level1==1){
	lcd_str("Tank Full");
	lcd_cmd(0xc0);
	lcd_str("100 %");
	led1=1;                // LED 1 ON.
	buzzer=1;			  //buzzer ON
	lamp=0;               //flow detection lamp Off
	delay_ms(3000);       // 3 sec Delay.
	buzzer=0;             //buzzer OFF.
	sw=0;                 // Water pump OFF.
											
	}

	if(level2==1){
	lcd_str("Tank Status");
	lcd_cmd(0xc0);
	lcd_str("85 %");
	led2=1;
   	}

	if(level3==1){
	lcd_str("Tank Status");
	lcd_cmd(0xc0);
	lcd_str("66 %");
	led3=1;
	}

	if(level4==1){
	lcd_str("Tank Status");
	lcd_cmd(0xc0);
	lcd_str("50 %");
	led4=1;
	}

	if(level5==1){
	lcd_str("Tank Status");
	lcd_cmd(0xc0);
	lcd_str("25 %");
	led5=1;
	}

	if(level6==1){
	lcd_str("Tank Status");
	lcd_cmd(0xc0);
	lcd_str("15 %");
	led6=1;
	if(intake==1){
	sw=1;
	}
	}
	
	if(flow==1){
	lamp=1;
	sw=1;
	}
	else{
	sw=0;
	lamp=0;
	}	   

}//while

}//main

/////////////////Functions///////////

void lcd_init(){
        lcd_cmd(0x38);
 	lcd_cmd(0x0C);
 	lcd_cmd(0x01);
}
void delay_ms(unsigned int x){
unsigned int i,j;
for(i=0; i<=x; i++){
for(j=0; j<=1000; j++){
;
}
}
}
void lcd_data(unsigned char x){
 rw=0;
 rs=1;
 P2=x;
 E=1;
 delay_ms(1);
 E=0;
 delay_ms(1);
 }
void lcd_cmd(unsigned char x){
 rw=0;
 rs=0;
 P2=x;
 E=1;
 delay_ms(1);
 E=0;
 delay_ms(1);
 }
void lcd_str (unsigned char *str)
{
 while(*str){
  lcd_data(*str++);
  delay_ms(10);
 }
}


[ Edited Mon Nov 29 2010, 11:53 am ]
Mon Nov 29 2010, 02:13 pm
#27
nice work mirza..

mirza u can also use the 0x00 method in defining your I/0 ports to avoid using many sbit initialization.. your code will look short and simple..
Mon Nov 29 2010, 02:18 pm
#28
romel any example for doing this ??? I didnt understand wat u wanna say!!
Mon Nov 29 2010, 02:37 pm
#29
here.

main()
{
while(1)
{
if(level==0x01){
lcd_str("Tank Full");
lcd_cmd(0xc0);
lcd_str("100 %");}
if(level==0x02)
lcd_str("level status2");
lcd_cmd(0xc0);
lcd_str("85 %");}
}



Mon Nov 29 2010, 02:41 pm
#30


here.


#include<reg51.h>

# define level P0    // instead of sbit it can simply declare like this

main()
{
  while(1)
  {
    if(level==0x01){           
      lcd_str("Tank Full");
        lcd_cmd(0xc0);
        lcd_str("100 %");}

    if(level==0x02)
      lcd_str("tank status");
        lcd_cmd(0xc0);
        lcd_str("85 %");}
   }





romel_emperado




[ Edited Mon Nov 29 2010, 02:46 pm ]

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Bobbyerilar
Thu Mar 28 2024, 08:08 am
pb58
Thu Mar 28 2024, 05:54 am
Clarazkafup
Thu Mar 28 2024, 02:24 am
Walterkic
Thu Mar 28 2024, 01:19 am
Davidusawn
Wed Mar 27 2024, 08:30 pm
Richardsop
Tue Mar 26 2024, 10:33 pm
Stevencog
Tue Mar 26 2024, 04:26 pm
Bernardwarge
Tue Mar 26 2024, 11:15 am