Arduino -Bibliothek zur Kontrolle von Standard -LEDs auf einfache Weise.
Easyled bietet einfache logische Methoden wie on() , off() , toggle() , flash() , isOn() , isOff() und reset() .
Diese Bibliothek hilft beim Schreiben von Cleaner -Code, der leicht zu lesen und zu verstehen ist.
Eine LED kann eingeschaltet werden, indem einfach die Anweisung led.on() verwendet werden. Wenn jemand diese Aussage liest, ist sofort klar, was es tut: Schalten Sie die LED ein. Mit Easyled müssen pinMode() , digitalWrite() , HIGH und LOW nicht mehr verwendet werden.
Ohne Easyled müssen Sie eine Anweisung wie digitalWrite(LED_PIN, LOW) verwenden, um eine LED einzuschalten (falls aktiv). Beim Lesen dieser Aussage wird nicht klar, ob sie die LED ein- oder ausschaltet. Dies macht es schwieriger, den Code zu lesen und zu verstehen. Sie müssen sich daran erinnern, ob HIGH oder LOW bedeutet, dass die LED ein- oder ausgeschaltet ist. Wenn sowohl aktive und aktive LEDs verwendet werden, wird der Code noch schwieriger zu lesen und zu verstehen.
LEDs werden als Instanz der EasyLed -Klasse definiert. Der Konstruktor benötigt zwei Parameter: pin , der GPIO-Pin, an dem die LED angeschlossen ist, und activeLevel was angibt, ob die LED aktiv oder aktiv ist. Enum Value EasyLed::ActiveLevel::Low repräsentiert aktiv und EasyLed::ActiveLevel::High Repräsentiert aktives High.
Für Ein- und Aus -Zustände werden ähnliche Auflaufwerte verwendet: EasyLed::State::On bedeutet, dass die LED eingeschaltet ist und EasyLed::State::Off bedeutet, dass es ausgeschaltet ist. Enum -Werte werden für den Zustand verwendet, da weder LOW noch HIGH einzigartig identifiziert werden, ob eine LED ein- oder ausgeschaltet ist.
Optional kann ein dritter Parameter initialState angegeben werden, um den Ausgangszustand auf ein einzustellen (Standard ist ausgeschaltet). Der vierte Parameter pinmode ist ebenfalls optional und stellt den Pin als Ausgang fest. Dies sollte normalerweise nicht geändert werden (außer wenn es Grund gibt, es für Architekturen in output_open_drain zu ändern, die es unterstützen) .
LEDs werden durch Programmieren des Zustands eines GPIO -PIN ein- und ausgeschaltet. Wenn Sie den GPIO -Pin auf einen niedrigen Niveau einstellen, können Sie eine LED entweder ein- oder ausschalten. Wenn die LED eingeschaltet ist, wenn der GPIO-Pinpegel niedrig ist, wird dies als aktiv-niedrig bezeichnet. Wenn die LED eingeschaltet ist, wenn der Pin-Level hoch ist, wird dies als aktiv-High bezeichnet. Ob eine LED aktiv oder aktiv ist, hängt davon ab, wie die LED physikalisch verbunden ist. Beide Typen werden in der Praxis verwendet.
EasyLed (
const uint8_t pin, // GPIO pin to which the LED is connected.
const ActiveLevel activeLevel, // The logic level when the LED is on.
const State initialState = State::Off, // Optional, default is off.
const uint8_t pinmode = OUTPUT // Optional, shall normally not be changed. enum class State {Off, On};
enum class ActiveLevel {Low = LOW, High = HIGH}; void on () // Switch LED on
void off() // Switch LED off
void toggle() // Toggle LED state.
void reset() // Reset LED state to initialState.
void flash( // Flash LED (all parameters are optional)
const uint8_t count = 2 , // Number of flashes
const uint16_t onTimeMs = 160 , // on-time duration in milliseconds
const uint16_t offTimeMs = 160 , // off-time duration in milliseconds
const uint16_t leadOffTimeMs = 200 , // off-time duration before first flash
const uint16_t trailOffTimeMs = 300 // off-time duration after last flash
// lead and trail time are only used when LED is on
)
bool isOn() // Returns true if LED is on, false otherwise
bool isOff() // Returns true if LED is off, false otherwise
EasyLed::State getState() // Returns the current state (On or Off)
void setState(EasyLed::State state) // Sets the current state
uint8_t pin() // Returns GPIO pin number as specified in constructor
EasyLed::ActiveLevel activeLevel() // Returns active-level as specified in constructor
EasyLed::State initialState() // Returns initialState as specified in constructorled-basics.ino - zeigt den grundlegenden Gebrauchled-advanced.ino - zeigt einen weiter fortgeschrittenen Gebrauchled-state.ino - zeigt, wie man den Zustand speichert und wiederherstelltled-activelevel-tester.ino -hilft festzustellen, ob LED aktiv oder aktiv ist# include " EasyLed.h "
EasyLed led (LED_BUILTIN, EasyLed::ActiveLevel::Low);
void setup ()
{
...
}
void loop ()
{
readSensors ();
led. on ();
transmitSensorData ();
led. off ();
...
}