/*
this sketch run the Pin13 built-in LED andcontrol interval blinking by using TaskScheduler.h API
you can change the slider sate and change interval by change the slider position.
ElkanaM
*/
#include <TaskScheduler.h>
long intervalBlink = 1000;
void ledOffCallback();
void ledOnCallback();
void sliderCallback();
Scheduler ts;
Task tLedBlinker (intervalBlink , TASK_FOREVER, &ledOnCallback, &ts, true);
Task tSlider(1023, TASK_FOREVER, &sliderCallback, &ts, true);
void sliderCallback(){
intervalBlink = analogRead(A0);
Serial.println(analogRead(A0));
// tLedBlinker.setInterval(analogRead(A0));
// tSlider.setInterval(analogRead(A0));
tLedBlinker.enable();
}
void ledOnCallback()
{
digitalWrite(13, HIGH);
Serial.print(millis());
Serial.println(" : LED ON");
tLedBlinker.delay(intervalBlink);
tLedBlinker.setCallback(&ledOffCallback);
}
void ledOffCallback()
{
digitalWrite(13, LOW);
Serial.print(millis());
Serial.println(" : LED OFF");
tLedBlinker.delay(intervalBlink);
tLedBlinker.setCallback(&ledOnCallback);
}
void setup(){
pinMode(13, OUTPUT);
pinMode(A0, INPUT);
Serial.begin(115200);
}
void loop ()
{
ts.execute();
// delay(1);
}