🧰 EasyInterval
Pilnai suderinta su Metro: Arduino biblioteka skirta neblokuojamam laikui – su papildomomis funkcijomis!
🟢 Tiesioginis pakeitimas Metro bibliotekai
🟢 Papildyta palaikant delta laiko matavimus, dviejų fazių intervalus ir dinaminį valdymą
✅ Kodėl naudoti EasyInterval?
- Pilnai suderinama su Metro:
check()
,expired()
,reset()
,interval()
,checkCatchUp()
,running()
- Pridedama
get()
funkcija laikui matuoti nuo paskutinio iškvietimo - Pridedama
setPhases(onTime, offTime)
funkcija keičianti įtraukimo/atsijungimo laikotarpius - Pridedamos
.enable()
,.disable()
ir.isEnabled()
dinamiškai valdyti laikmačius - Saugu
millis()
persipildymui (~49,7 dienos) - Supaprastina neblokavimo kodo kūrimą: mirksinantys LED'ai, mygtukų debouncinimas, periodinės operacijos
🔄 Metro vs EasyInterval
Savybė | Metro | EasyInterval |
---|---|---|
check() |
✅ | ✅ |
expired() |
✅ | ✅ |
interval(ms) |
✅ | ✅ |
reset() |
✅ | ✅ |
checkCatchUp() |
✅ | ✅ |
running() |
✅ | ✅ |
get() |
❌ | ✅ |
setPhases() |
❌ | ✅ |
phase() |
❌ | ✅ |
enable() |
❌ | ✅ |
disable() |
❌ | ✅ |
isEnabled() |
❌ | ✅ |
🚀 Greitas pradžios pavyzdys: Mirksinti LED kas 1 sekundę
#include <EasyInterval.h>
const int ledPin = 13;
EasyInterval blink(1000); // 1 sekundė
// Metro blink(1000); // <- tik pakeiskite šią eilutę, jei naudojate Metro
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
if (blink.check()) {
digitalWrite(ledPin, !digitalRead(ledPin));
}
}
🔹 Pavyzdys: Dviejų fazių LED mirksėjimas (1s ON, 3s OFF)
#include <EasyInterval.h>
const int ledPin = 13;
EasyInterval timer;
void setup() {
pinMode(ledPin, OUTPUT);
timer.setPhases(1000, 3000); // ĮJUNGTA 1s, IŠJUNGTA 3s
}
void loop() {
if (timer.check()) {
digitalWrite(ledPin, timer.phase() == 0 ? HIGH : LOW);
}
}
Galima rasti Arduino bibliotekų tvarkyklėje ir Github EasyInterval