int analogInPin = A0;
float sensorValue = 0;
int buttonState = 1;
bool stateChanged = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(2, INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if(buttonState != digitalRead(2)) {
stateChanged = true;
}
buttonState = digitalRead(2);
sensorValue = analogRead(analogInPin);
if(buttonState == LOW) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
if(stateChanged) {
if(sensorValue < 102.3) {
delay(1000);
Serial.print("Delaying next changed by 1 second\n");
} else {
float delayAmt = map(sensorValue, 0, 1023, 0, 10);
Serial.print((String) "Delaying next change by " + delayAmt + " seconds\n");
delay(delayAmt * 1000);
}
stateChanged = false;
}
}