Autor: Oscar Gonzalez
Tiempo de lectura: 7 minutos
Aprende a instalar nuevas librerías en Arduino IDE y aumentar sus funcionalidades
El gestor de librerías te permite administrar la instalación y actualización de las librerías de Arduino directamente desde el IDE de una forma muy cómoda. Lo puedes encontrar en Menú / Programa / Incluir Librería / Administrar bibliotecas
Menú Administrar bibliotecas de Arduino IDE
El gestor de librerías funciona de una forma muy similar al gestores de placas y dispone de un buscador para encontrar fácilmente lo que necesitamos.
Para realizar la instalación de nuevos cores, Arduino implementó el Gestor de Tarjetas (Boards Manager) como una herramienta para agregar núcleos a su IDE de Arduino y así poder programar muchas más variedad de placas. Si quieres saber más, te recomendamos el tutorial Cómo instalar nuevas placas en Arduino IDE
El administrador de librerías es muy sencillo de utilizar y lo usaremos de forma preferente siempre que nos falte alguna librería, en caso de descargar un proyecto de alguien o bien estemos desarrollando nuestra aplicación.
Si bien es posible instalar librerías de otras maneras como veremos más adelante, siempre es recomendable utilizar el gestor de librerías como primera opción. Eso hace que tengas librerías soportadas y de calidad y no tengas que preocuparte por los detalles técnicos de su instalación. Además si en el futuro existen actualizaciones, siempre podrás actualizarlas con un solo click y de forma segura.
Ventana del Gestor de librerías de Arduino
Vamos a suponer que quieres jugar con una tira de LED y para eso necesitas una librería. Una muy recomendada y muy bien recomendada es la librería FastLED. Como ya conocemos su nombre, lo introducimos en el buscador y veremos la última versión disponible. Vamos a instalarla pulsando el botón Instalar y veremos qué nos trae y cómo utilizarla en tu Sketch.
Instalación de librería FastLED
Una vez la tengamos instalada, vemos tendremos los ejemplos disponibles directamente desde el menú. Los ejemplos siempre son muy útiles para tener un punto de partida para nuestro programa o bien para probar las diferentes funcionalidades que pueda tener la librería.
Aunque puede haber algunas librerías raras, normalmente para utilizar una librería tan solo necesitas añadir una línea a tu programa que haga referencia al archivo de cabecera. Eso se hace mediante la instrucción #include y en el caso de la librería FastLED lo haremos tal que así arriba de todo, antes de cualquier función:
#include <FastLED.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
A partir de ahora ya podremos utilizar todas las funciones de la librería en nuestro Sketch, pero como como he dicho antes, siempre está bien abrir algún ejemplo para ver su funcionamiento básico. Para verlo más en detalle, vamos abrir el ejemplo Blink y veamos qué podemos hacer.
#include <FastLED.h>
// How many leds in your strip?
#define NUM_LEDS 1
// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 3
#define CLOCK_PIN 13
// Define the array of leds
CRGB leds[NUM_LEDS];
void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// ## Clockless types ##
FastLED.addLeds< NEOPIXEL, DATA_PIN >(leds, NUM_LEDS); // GRB ordering is assumed
}
void loop() {
// Turn the LED on, then pause
leds[0] = CRGB::Red;
FastLED.show();
delay(500);
// Now turn the LED off, then pause
leds[0] = CRGB::Black;
FastLED.show();
delay(500);
}
Recuerda que la mayoría de las veces, los ejemplos de las librerías incluyen la palabra #DEFINE que no es más que una referencia a una constante. Eso te permite ajustar los parámetros a tu proyecto. En el caso de la librería FastLED, necesitamos indicar cuántos LED tenemos (NUM_LED) y los dos pines de control DATA_PIN y CLOCK_PIN.
Esto es un ejemplo para tiras de LED de tipo WS2812, pero ésta librería, a partir de muy rápida y eficiente, soporta muchas otras variantes de tiras de LED.