#include "Arduino.h" #include "Ticker.h" #define LED1 2 #define LED2 4 #define LED3 12 #define LED4 14 #define LED5 15 class ExampleClass { public: ExampleClass(int pin, int duration) : _pin(pin), _duration(duration) { pinMode(_pin, OUTPUT); _myTicker.attach_ms(_duration, std::bind(&ExampleClass::classBlink, this)); } ~ExampleClass() {}; int _pin, _duration; Ticker _myTicker; void classBlink() { digitalWrite(_pin, !digitalRead(_pin)); } }; void staticBlink() { digitalWrite(LED2, !digitalRead(LED2)); } void scheduledBlink() { digitalWrite(LED3, !digitalRead(LED2)); } void parameterBlink(int p) { digitalWrite(p, !digitalRead(p)); } Ticker staticTicker; Ticker scheduledTicker; Ticker parameterTicker; Ticker lambdaTicker; ExampleClass example(LED1, 100); void setup() { pinMode(LED2, OUTPUT); staticTicker.attach_ms(100, staticBlink); pinMode(LED3, OUTPUT); scheduledTicker.attach_ms_scheduled(100, scheduledBlink); pinMode(LED4, OUTPUT); parameterTicker.attach_ms(100, std::bind(parameterBlink, LED4)); pinMode(LED5, OUTPUT); lambdaTicker.attach_ms(100, []() { digitalWrite(LED5, !digitalRead(LED5)); }); } void loop() { }