Microcontroller › AVR › water level controller › the motor is turning on at
the motor is turning on at lower level. but it is not getting off. it is getting stuck inside the while loop…
while(1)
{
adc_init();
adcout=adc_getvalue(0);
_delay_ms(1);
LCD_cmd(0xc0);
char ready[50];
itoa(adcout,ready,10);
LCD_write_string(ready);
LCD_write_string(“% “);
_delay_ms(1);
PORTD=0xF0; //set all the input to one
value=PIND; //get the PORTD value in variable “value”
if(value!=0xf0) //if no key is pressed value changed
{
key=’0′;
check1();
check2();
check3();
check4();
if (key==’M’)
{
Menu();
}
else if (key==’0′)
{
}
else
{
ctrl=(1<<buzz);
_delay_ms(100);
ctrl=(0<<buzz);
_delay_ms(1);
}
}
if (adcout<00001010)
{
while (adcout<=00101100)
{
ctrl=(1<<motr)|(1<<led);
_delay_ms(1);
adc_init();
adcout=adc_getvalue(0);
_delay_ms(1);
}
ctrl=(0<<motr)|(0<<led);
}
else
{
ctrl=(0<<motr)|(0<<led);
}
}
}
if motor is once turned on, i should have to reset to turn it off even after lelev cross higher level
pls help