Hej!
Jag kör ett litet program på en NodeMCU där jag via ESP8266 HelloServer sätter igång och stänger av bl.a. en blinkslinga. Inte den snyggaste lösning troligtvis men den funkar, så när som på att jag vill att det sista som händer när jag stänger av blinken är att den släcker min diod. I dagsläget stannar den perfekt när jag klickar, är dioden släckt så förblir den släck MEN är dioden tänd precis vid klicket så förblir den tänd. Jag har testat åtta olika lösningar jag kunde komma på men ingen funkar. Tänker att det borde finnas någon smidig lösning som jag missar.
// ###################### ESP8266-KOD ########################
const int smokePin = 2;
int smokeState = LOW;
unsigned long previousMillis = 0;
const long interval = 500;
int runit = LOW;
// ###################### ESP8266-KOD ########################
void turnOn(){
runit = HIGH;
}
void turnOff(){
smokeState = LOW;
runit = LOW;
digitalWrite(smokePin, smokeState);
}
void loop(void) {
server.handleClient();
// check to see if it's time to blink the LED; that is, if the difference
// between the current time and last time you blinked the LED is bigger than
// the interval at which you want to blink the LED.
unsigned long currentMillis = millis();
if ((runit == HIGH) && (currentMillis - previousMillis >= interval)) {
// save the last time you blinked the LED
previousMillis = currentMillis;
// if the LED is off turn it on and vice-versa:
if (smokeState == LOW) {
smokeState = HIGH;
} else {
smokeState = LOW;
}
// set the LED with the smokeState of the variable:
digitalWrite(smokePin, smokeState);
}
}
↧