I'm constructing a device which measures an analogue input.
when the analogue input is below a threshold, an output goes high once, until the analogue input goes above a threshold.
int sensorPin = A0; // select the input pin for the detector
unsigned int count = 0;
byte latch = 0; //initial variable
unsigned int sensorValue = 0; // variable to store the value coming from the detector
void setup()
{
pinMode(13, OUTPUT);
//Start Serial port
Serial.begin(9600);
count=0;
}
void loop()
{
// read the value from the soil detector:
sensorValue = analogRead(sensorPin);
if(count==0&&sensorValue<500)
digitalWrite(13, HIGH);
delay(1000); // 1 second delay
++count;// this increments the count by 1
Serial.println(sensorValue);
Serial.println(count);
digitalWrite(13, LOW);
if(sensorValue>600)
count=0;
}
The problems I have..
the count variable displays a "1" when held high.... and when running, why isn't it 0 as per initialisation.
When taking A0 low the count keeps incrementing, ignoring the "count==0", why not just +1,
When taking A0 HIGH the count displays a "1" not 0 ?
thanks for any help
David