#include class LedControl { public: LedControl(int pin, int high = HIGH, int init = LOW) { _pin = pin; _high = high; pinMode(_pin, OUTPUT); (init == high) ? on() : off(); } void set(int state) { _state = state; digitalWrite(_pin, state); } void off() { set(!_high); } void on() { set(_high); } void toggle() { (_state == _high) ? off() : on(); } void blink(const unsigned long interval) { static unsigned long previous_millis = 0; unsigned long current_millis = millis(); if (current_millis - previous_millis >= interval) { previous_millis = current_millis; toggle(); } } private: int _state; int _high; int _pin; };