Библиотека Arduino для легкого управления стандартными светодиодами.
Easyled обеспечивает простые логические методы, такие как on() , off() , toggle() , flash() , isOn() , isOff() и reset() .
Эта библиотека поможет написать более чистый код, который легко читать и понять.
Светодиод может быть включен, просто используя оператор led.on() . Когда кто -то читает это утверждение, мгновенно очистит, что он делает: включите светодиод. С Easyled нет необходимости использовать pinMode() , digitalWrite() , HIGH и LOW .
Без Easyled вам придется использовать оператор, такой как digitalWrite(LED_PIN, LOW) , чтобы включить светодиод (если Active-Low). При чтении этого оператора он не станет ясным, если оно включит или выключите светодиод. Это затрудняет чтение и понимание кода. Вы должны помнить, HIGH или LOW означает, что светодиод включен или выключен. Когда используются как активные , так и активные светодиоды, которые затрудняют чтение и понимание кода.
Светодиоды определяются как экземпляр EasyLed класса. Конструктор нуждается в двух параметрах: pin , который представляет собой контакт GPIO, к которому подключен светодиод и activeLevel , что указывает, является ли светодиод активным или активным. Enum value EasyLed::ActiveLevel::Low представляет активное низкое и EasyLed::ActiveLevel::High представляет активное.
Для и за ее пределами используются аналогичные значения перечисления: EasyLed::State::On означает, что светодиод включен и EasyLed::State::Off означает, что он выключен. Значения перечисления используются для состояния, потому что ни LOW , ни HIGH уникальный идентифицируют, включен ли светодиод или выключен.
Необязательно может быть указан третий параметр initialState может быть указан для установки начального состояния на ON (по умолчанию выключено). Четвертый параметр pinmode также является необязательным и устанавливает вывод в качестве выхода. Обычно это не должно быть изменено (за исключением случаев, когда есть основания изменить его на output_open_drain для архитектур, которые поддерживают его) .
Светодиоды включаются и выключаются путем программирования состояния штифта GPIO. Установка штифта GPIO до низкого уровня может включить светодиод или выключить. Если светодиод включен, когда уровень штифта GPIO низкий, это называется Active-Low. Если светодиод включен, когда уровень штифта высок, это называется активным. Независимо от того, является ли светодиод активным или активным, зависит от того, как светодиод физически связан. Оба типа используются на практике.
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 - Демонстрирует базовое использованиеled-advanced.ino - демонстрирует более продвинутое использованиеled-state.ino - демонстрирует, как сохранить и восстановить состояниеled-activelevel-tester.ino -Помогает определить, является ли светодиод активным или активным# include " EasyLed.h "
EasyLed led (LED_BUILTIN, EasyLed::ActiveLevel::Low);
void setup ()
{
...
}
void loop ()
{
readSensors ();
led. on ();
transmitSensorData ();
led. off ();
...
}