Biblioteca Blinker para a plataforma Arduino.
NOVO: Esta biblioteca agora suporta LEDs neopixels .
Esta biblioteca permite que você execute operações piscantes com LEDs. Como também opera com o Neopixels, depende da biblioteca Adafruit_Neopixels, para que você seja instalado em seu ambiente para que ele compile.
A biblioteca oferece três classes:
Esta aula permite que você pisque um LED.
Esta classe permite que você pisque um neopixel .
Esta classe permite criar um objeto colorido para a classe PixelBlinker .
A classe LedBlinker permite criar uma instância do LED que você deseja operar. O construtor de classe toma dois valores como argumentos. O primeiro argumento é o pino em que o LED está conectado. O segundo argumento é opcional para definir a polaridade do LED. Se esse argumento não for fornecido, a polaridade do LED será definida como negativa comum por padrão.
/* LedBlinker Instance.
* First argument: The pin where the LED is connected.
* Second argument: Optional argument to define the LED polarity.
Allowed values:
COMMON_NEGATIVE
COMMON_POSITIVE
*/
LedBlinker myBlueLed ( 13 , COMMON_POSITIVE); /* Set the pin where the LED is connected. */
myBlueLed.setPin(pin); /* Set the LED polarity.
* Allowed values: COMMON_NEGATIVE, COMMON_POSITIVE.
*/
myBlueLed.setPolarity(COMMON_NEGATIVE); /* Turn On the LED. */
myBlueLed.on(); /* Turn Off the LED. */
myBlueLed.off(); /* Turn On the LED for the time of "onDuration" then call the "onFinished" method. */
myBlueLed.onUntil(onDuration, onFinished); /* Turn Off the LED for the time of "offDuration" then call the "onFinished" method. */
myBlueLed.offUntil(offDuration, onFinished); /* Blink the LED.
* The LED will be On for the time of "onDuration".
* The LED will be Off for the time of "offDuration".
* That blink will be repeated the number of times defined by "blinks".
* Then a pause define by "pauseDuration".
* That sequency will repeat as many time as defined by "sequences".
* At the end of all sequences the "onFinished" method will be called.
*/
myBlueLed.blink(onDuration, offDuration, blinks, pauseDuration, sequences, onFinished); /* Allways call this method in the loop. */
myBlueLed.update();A classe PixelBlinker permite criar uma instância do neopixel que você deseja operar. O construtor de classe pega três valores como argumentos. O primeiro argumento é o pino em que o neopixel está conectado. O segundo argumento é a quantidade de neopixels conectados. O terceiro argumento é opcional para definir o tipo de neopixel .
/* PixelBlinker Instance.
* First argument: The number of the pin where the NeoPixel is connected.
* Second argument: The amount of NeoPixel connected together.
* Third argument: Optional argument to define the NeoPixel type.
Pixel types:
NEO_GRB + NEO_KHZ800
NEO_GRB + NEO_KHZ400
NEO_RGB + NEO_KHZ800
NEO_RGB + NEO_KHZ400
If this argument is not provided the NeoPixel type will be set to NEO_GRB + NEO_KHZ800 by default.
*/
PixelBlinker myNeoPixel (pixelPin, pixels, NEO_GRB + NEO_KHZ800); /* Set the pin where the NeoPixel is connected. */
myNeoPixel.setPin(pin); /* Set the amount of Pixel connected. */
myNeoPixel.setNumPixels(numPixels); /* Set the Pixel that you want to operate. */
myNeoPixel.setPixel(pixelId); /* Set the color of the Pixel. The argument must be a PixelColor object. */
myNeoPixel.setPixelColor(pixelColor); /* Set the Pixel brightness, 0 - 255 value. */
myNeoPixel.setPixelBrightness(pixelBrightness); /* Set the Pixel brightness using percentage. */
myNeoPixel.setPixelBrightnessPercent(pixelBrightnessPercent); /* Turn On the Pixel. */
myNeoPixel.on(); /* Turn On the Pixel by it's Id. */
myNeoPixel.on(pixelId); /* Turn Off the Pixel. */
myNeoPixel.off(); /* Turn Off the Pixel by it's Id. */
myNeoPixel.off(pixelId); /* Turn On the Pixel for the time of "onDuration" then call the "onFinished" method. */
myNeoPixel.onUntil(onDuration, onFinished); /* Turn On the Pixel by it's Id, for the time of "onDuration" then call the "onFinished" method. */
myNeoPixel.onUntil(pixelId, onDuration, onFinished); /* Turn Off the Pixel for the time of "offDuration" then call the "onFinished" method. */
myNeoPixel.offUntil(offDuration, onFinished); /* Turn Off the Pixel by it's Id, for the time of "onDuration" then call the "onFinished" method. */
myNeoPixel.offUntil(pixelId, offDuration, onFinished); /* Blink the Pixel.
* Argument "onDuration": The time that the pixel will be On in the cycle.
* Argument "offDuration": The time that the pixel will be Off in the cycle.
* Argument "blinks": The number of times to blink the Pixel.
* Argument "pauseDuration": The time to wait between sequences.
* Argument "sequences": The number of times to repeat the sequence.
* Argument "onFinished": The function to call when finished.
*/
myNeoPixel.blink(onDuration, offDuration, blinks, pauseDuration, sequences, onFinished); /* It is always necessary to call this method in the loop. */
myNeoPixel.update();A classe PixelColor permite criar um objeto colorido para ser usado com a classe PixelBlinker. Você pode criar tantos objetos coloridos quanto precisar com seus valores de cores personalizados.
/* Red color object to be used by PixelBlinker */
PixelColor red ( 255 , 0 , 0 ); /* Green color object to be used by PixelBlinker */
PixelColor green ( 0 , 255 , 0 ); /* Blue color object to be used by PixelBlinker */
PixelColor blue ( 0 , 0 , 255 ); /* Custom color object to be used by PixelBlinker */
PixelColor myCustomColor ( 100 , 100 , 255 );O uso normal desta classe não requer o uso de nenhum desses métodos.
/* Returns the red value of the color. */
myCustomColor.r(); /* Returns the green value of the color. */
myCustomColor.g(); /* Returns the blue value of the color. */
myCustomColor.b(); /* Returns the packed value of the color in RGB format. */
myCustomColor.getPackedRGB(); /* Returns the packed value of the color in GRB format. */
myCustomColor.getPackedGRB();Mit © Evert Arias