Bibliothèque Arduino pour contrôler les LED standard d'une manière facile.
Easyled fournit des méthodes logiques simples comme on() , off() , toggle() , flash() , isOn() , isOff() et reset() .
Cette bibliothèque aidera à rédiger un code plus propre qui est facile à lire et à comprendre.
Une LED peut être allumée en utilisant simplement la led.on() . Lorsque quelqu'un lit cette déclaration, il est instantanément clair ce qu'il fait: activez la LED. Avec Easyled, il n'est plus nécessaire d'utiliser pinMode() , digitalWrite() , HIGH et LOW .
Sans Easyled, vous devrez utiliser une instruction comme digitalWrite(LED_PIN, LOW) pour activer une LED (si active-low). Lors de la lecture de cette déclaration, il ne devient pas clair s'il réticule la LED activée ou désactivée. Cela rend plus difficile de lire et de comprendre le code. Vous devez vous rappeler si HIGH ou LOW signifie que la LED est allumée ou désactivée. Lorsque des LED à faiblesse et à hauteur active sont utilisées, cela rendra le code encore plus difficile à lire et à comprendre.
Les LED sont définies comme l'instance de la classe EasyLed . Le constructeur a besoin de deux paramètres: pin , qui est la broche GPIO à laquelle la LED est connectée et activeLevel ce qui indique si la LED est active-bas ou active-hauteur. Enum Value EasyLed::ActiveLevel::Low Représente Active-Low et EasyLed::ActiveLevel::High Représente Active-High.
Pour les états de marche et d'arrêt, des valeurs d'énumération similaires sont utilisées: EasyLed::State::On signifie que la LED est allumée et EasyLed::State::Off signifie qu'elle est désactivée. Les valeurs d'énumération sont utilisées pour l'état car ni LOW ni HIGH identifier de manière unique si une LED est activée ou désactivée.
Éventuellement, un troisième paramètre initialState peut être spécifié pour définir l'état initial sur ON (par défaut est désactivé). Le quatrième paramètre pinmode est également facultatif et définit la broche sous forme de sortie. Cela ne devrait normalement pas être modifié (sauf lorsqu'il y a des raisons de le changer en Output_Open_DRAIN pour les architectures qui le prennent en charge) .
Les LED sont activées et éteintes en programmant l'état d'une broche GPIO. La définition de la broche GPIO à un niveau bas peut activer ou désactiver une LED. Si la LED est activée lorsque le niveau de broche GPIO est faible, cela est appelé actif-bas. Si la LED est allumée lorsque le niveau de broche est élevé, cela est appelé actif-élevé. Le fait qu'une LED soit active-bas ou active-hauteur dépend de la façon dont la LED est physiquement connectée. Les deux types sont utilisés dans la pratique.
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 - démontre une utilisation de baseled-advanced.ino - démontre une utilisation plus avancéeled-state.ino - montre comment enregistrer et restaurer l'étatled-activelevel-tester.ino - Aide à déterminer si la LED est active-bas ou active-High# include " EasyLed.h "
EasyLed led (LED_BUILTIN, EasyLed::ActiveLevel::Low);
void setup ()
{
...
}
void loop ()
{
readSensors ();
led. on ();
transmitSensorData ();
led. off ();
...
}