¿Qué es una librería?

Las Librerías Arduino son capaces de convertir funciones de programación complejas en funciones más fáciles de usar. Los usuarios de Arduino han escrito un montón de interesantes librerias para Arduino. Por ejemplo, la utilización de un sensor capacitivo en muestreo de tiempos y pulsos por los pines digitales. Podemos escribir el código desde cero, o podemos apoyarnos sobre los hombros de grandes personas con mas experiencia que nosotros.

Un sensor capacitivo touch es una interfaz muy popular. La librería CapacitiveSensor (puedes descargar esta librea en este link de aquí) se encarga de todo para que nosotros no tengamos que escribir un  código como este:

*sOut &= ~sBit; // set Send Pin Register low
 *rReg &= ~rBit; // set receivePin to input
 *rOut &= ~rBit; // set receivePin Register low to make sure pullups are off
 *rReg |= rBit; // set pin to OUTPUT - pin is now LOW AND OUTPUT
 *rReg &= ~rBit; // set pin to INPUT
 *sOut |= sBit; // set send Pin High
 interrupts(); // enable interrupts

while ( !(*rIn & rBit) && (total < CS_Timeout_Millis) ) { total++; 
}
if (total > CS_Timeout_Millis)
return -2; // total variable over timeout

// set receive pin HIGH briefly to charge up fully
noInterrupts(); // disable interrupts

*rOut |= rBit; // set receive pin HIGH - turns on pullup
*rReg |= rBit; // set pin to OUTPUT - pin is now HIGH AND OUTPUT
*rReg &= ~rBit; // set pin to INPUT
*rOut &= ~rBit; // turn off pullup
*sOut &= ~sBit; // set send Pin LOW
interrupts(); // re-enable interrupts

while ((*rIn & rBit) && (total < CS_Timeout_Millis)) {
 total++;
}
if (total >= CS_Timeout_Millis)
 return -2; // total variable over timeout
 else
 return 1; 
}

Todo ese código puede ser reemplazado en una linea de programación mucho más fácil de usar y de entender tal como:

senseReading = myCapPad.capacitiveSensor(30);

myCapPad.capacitiveSensor () se encarga de todo el trabajo pesado donde la variable senseReading contiene el valor percibido por nuestro sensor capacitivo touch. Las librerías convierten las tareas complejas en tareas más fáciles para que podamos centrarnos en proyectos más grandes.

¡Hay miles de librerías por ahí! Y por suerte es bastante fácil instalarlas. Este tutorial te mostrará cómo usar una  librería Arduino v1.0.5 pero debería aplicarse para muchas versiones de Arduino del pasado, presente y futuro.

Lecturas Sugeridas

Asegúrate de que tiene un buen entendimiento de los siguientes conceptos antes de continuar con este tutorial:

Uso del Administrador de librerías

El gestor de librerías se añadió desde versiones Arduino IDE 1.5 y superior (1.6.x) . Se encuentra en el menú “Sketch” en “Incluir Libreria, “Administrar librerías…”

Librerias Arduino 1

 Arduino 1.5 + Opción de administrador de menú de Librería

Librerias Arduino 2

Al abrir el Administrador de Librería se encuentra una larga lista de librerías  disponibles para instalar con un solo clic. Para encontrar una librería  para tu dispositivo, busqua el nombre del producto o una palabra clave como “tipo k ‘o’ digitalizador “, y la librería que buscas debería aparecer. Haz clic en la librería que buscas y aparecerá el botón ‘Instalar’. Haz clic en ese botón, y la librería debería instalarse automáticamente. Cuando la instalación finalice, cierra el Administrador de Librería.

Librería en el administrador de librería, listo para instalarse

Ahora que la librería ha sido instalada, un ejemplo de sketch puede ser encontrado en el submenú “ejemplos”.

Librerias Arduino 3

Sketch Ejemplo

Dado que esta es una característica relativamente nueva en el IDE de Arduino, en el momento de escribir estas líneas no todos los productos tendrán librerías en el gestor de librerías. Se están añadiendo nuevos productos y trabajando también con productos más antiguos. Si no encuentras la librería que necesitas en el administrador o por alguna razón no se puede instalar una de las versiones nuevas del IDE, sigue las instrucciones en las siguientes secciones.

Instalación de una Librería – Windows

Esta sección te explicara como realizar la instalación de una librería para el IDE de Arduino bajo el entorno Windows.

A continuación vamos a utilizar la librería CapacitiveSense, la cual puedes descargar desde este link de aquí. Ve a la página de la librería y descarga el archivo zip.

Librerias Arduino 4

 Los contenidos del archivo .zip de Capacitive Sense

Encuentra el archivo .zip en el equipo (dondequiera que los archivos descargados terminan). Bajo Windows, deberías ser capaz de hacer doble clic en el archivo para abrirlo.

Esta librería particular contiene las librerías tanto para el Arduino básico (UNO) y el Arduino Due que es más avanzado. Puedes usar ambos si quieres, pero, para este ejemplo, vamos a copiar e instalar sólo la carpeta CapacitiveSensor.

Librerias Arduino 5

Las librerías van a contener usualmente un archivo .cpp y un archivo .h; la mayoría también tendrá una carpeta de ejemplos.

Librerias Arduino 6

En Windows, Arduino almacena todas las librerías complemento dentro de la carpeta “Mis documentos”. A continuación veremos la ubicación de la carpeta de librerías Arduino. Abre una ventana del explorador y ve a la carpeta de librerías en Mis documentos. Ahora copia la carpeta nueva CapacitiveSensor a la carpeta de librerías.

Librerias Arduino 7

Nota: Arduino no permite que las carpetas de librería contengan símbolos tales como comillas ‘-’. Arduino lanzará un error al inicio. Si la librería que está instalando tiene un  nombre de carpeta extraño, entonces este es el momento para cambiarlo.

Librerias Arduino 8

Para verificar que la librería se ha instalado correctamente, abre la carpeta “Ejemplos” bajo el archivo.

Espere. ¿Dónde está el ejemplo CapacitiveSensor? ¿Dejaste el programa Arduino abierto mientras copiabas y pegabas el directorio? Arduino comprueba el directorio de la librería en el arranque por lo que si ya tienes Arduino abierto, tendrás que reiniciarlo cada vez que se agregues al directorio una nueva librerías. Si no puedes vre el ejemplo CapacitiveSensor trate de cerrar y volver a abrir Arduino.

Librerias Arduino 9

¡Ahí está! Abre el ejemplo propuesto en nuestra librería.

Librerias Arduino 10

¡Los ejemplos son lo mejor de las librerías! Las librerías mas completas tendrán ejemplos escritos muy utilies que muestran cómo utilizar la librería. Estos sketches son recursos maravillosos, por ejemplo para codificar y aprender cómo escribir bien un código para Arduino.

¡Tienes ahora la librería del sensor capacitivo instalada! Siéntete libre para empezar desde el sketch ejemplo, o comenzar a escribir tu propio código usando las funciones proporcionadas por la librería. Una librería suele tener la documentación, ya sea donde se descarga, descomprime o escrito en los archivos léame y código ejemplo. En general, para aprender rápidamente cómo utilizar una librería puedes dar un vistazo al código ejemplo.

Instalación de una Librería – Mac

Esta sección cubre la instalación de una librería en el entorno Mac OS X. Si eres un alumno estudiante de códigos de programación, puedes darle un vistazo al tutorial de Arduino de instalación de librerías.

Vamos a utilizar la librería Capacitive Sense para este ejemplo. Ve a la página de la librería y descargua el archivo zip.

Encuentra el archivo .zip en el equipo (dondequiera que los archivos descargados terminan). Descomprímelo, y ve el contenido de la carpeta.

Librerias Arduino 11

Los contenidos del archivo .zip de Capacitive Sense. Las librerias usualmente contienen un archivo .cpp y un archivo .h. La mayoría también tendrá una carpeta de ejemplos.

Esta librería particular contiene las librerías, tanto para el Arduino básico (UNO) y el más avanzado Arduino Due. Puede usar ambos si quiere, pero, para este ejemplo, vamos a copiar e instalar sólo la carpeta CapacitiveSensor.

Ahora tenemos que añadir esta carpeta a la carpeta Librerías de Arduino. Esta carpeta está oculta en OS X. Para llegar allí se puede hacer dos cosas. La primera opción, haga clic en el icono de Arduino situado en el Dock. Ve a “Opciones”, luego haga clic en “Mostrar en Finder”.

Librerias Arduino 12

Opción dos, encuentra la aplicación Arduino ubicada en la carpeta de aplicaciones dentro de “Finder”.

Cualquiera de las dos opciones debería llevarte a este punto. Ahora haga click derecho en la aplicación Arduino y seleccione “Mostrar Paquete de Contenidos”.

Librerias Arduino 13

Navega a través de las siguientes carpetas, “Contenidos-> Recursos -> Java”, hasta que llegues a la carpeta “librerías”. Nota: si no tienes la carpeta “librerías”, simplemente crea una ahí.

Librerias Arduino 14

Dentro de la carpeta librerías es donde debes copiar o mover la carpeta librería que recién descargaste y descomprimiste. También notaras que es aquí donde todas las librerías viven por defecto, al igual que cualquier otra librería que el propio programa Arduino IDE incorpore.

Librerias Arduino 15

Nota: Arduino no permite que las carpetas de librería contengan símbolos tales como comillas ‘-’. Arduino lanzará un error al inicio. Si la librería que está instalando tiene un nombre de carpeta extraño, entonces este es el momento para cambiarlo. Asegúrate de que el nombre de su carpeta coincida con el nombre de los archivos que se encuentran dentro de la carpeta librería.

A continuación asegúrate de reiniciar Arduino IDE si este estaba abierto cuando instalaste la librería. Esto es muy importante y normalmente es un procedimiento que se pasa por alto. Si no reiniciste el programa, la librería que instalaste recién no se encontrará disponible en Arduino IDE.

Para verificar que la librería se instaló correctamente, abre la carpeta “ejemplos” en el Arduino IDE.

Librerias Arduino 16

¡Ahí está! Abramos el ejemplo que viene con nuestra nueva librería.

Librerias Arduino 17

¡Los ejemplos son lo mejor de las librerías! Las buenas librerías tendrán excelentes ejemplos de programación que muestran cómo utilizar la librería. Estos sketches son recursos maravillosos por ejemplo para codificar y aprender cómo escribir buen código bajo Arduino.

¡Tienes ahora la librería del sensor capacitivo instalada! Siéntete libre para empezar desde el sketch ejemplo, o comenzar a escribir su propio código usando las funciones proporcionadas por la librería. Una librería suele tener la documentación, ya sea en tu sitio o escrito en los archivos léame y código ejemplo. En general, para aprender rápidamente cómo utilizar una librería, puedes dar un vistazo al código ejemplo.

Librerías Construidas incluidas en el IDE Arduino

Puede que no te des cuenta, pero probablemente ya estás usando librerías! Si has usado:

Serial.print(“Hello world!”);

Entonces estás usando la librería Serial() construida en Arduino. Arduino tiene varias librerías construidas. Acá hay un listado de librerías que puedes comenzar a usar inmediatamente!

https://www.arduino.cc/en/Reference/Libraries