Hi,
Hope someone can help me on this.....
I'm trying to toggle an LED. I have written a function, but all my program does now is light the LED when the button(pin 8) is pressed and held. I can't see what I have done wrong. Can you help??
Thanks if you can!
Chris.
int paddockPin = 8;
int paddockLedPin1 = 13;
boolean currentButtonState = LOW;
boolean paddockGateState = LOW;
boolean ledPin1State = false;
void setup()
{
pinMode(paddockPin, INPUT);
pinMode(paddockLedPin1, OUTPUT);
}
boolean alarm(boolean alarmState, int alarmPin, boolean alarmLedState, int alarmLed)
{
boolean currentButtonState = LOW;
currentButtonState = debounce(alarmState, alarmPin);
if(alarmState == LOW && currentButtonState == HIGH)
{
alarmLedState = !alarmLedState;
alarmState = HIGH;
}
alarmState = currentButtonState;
digitalWrite(alarmLed, alarmLedState);
return alarmState, alarmLedState;
}
boolean debounce(boolean last, int pin)
{
boolean current = digitalRead(pin);
if(last != current)
{
delay(5);
current = digitalRead(pin);
}
return current;
}
void loop()
{
alarm(paddockGateState, paddockPin, paddockGateState, paddockLedPin1);
}