Librerías Arduino

Las librerías son trozos de código reutilizables hechos por terceros que usamos en nuestro sketch. Esto nos facilita mucho la programación y hace que nuestro programa sea más sencillo de hacer y de entender. En este curso no veremos como hacer o modificar una librería pero debemos ser capaces de buscar una librería, instalarla, aprender a usar cualquier librería y usarla en un sketch.

Las librerías son entre otras cosas colecciones de código que facilitan la interconexión de sensores, pantallas, módulos electrónicos, etc. El entorno de arduino ya incluye algunas librerías de manera que facilita, por ejemplo, mostrar texto en pantallas LCD.

Cuando compramos un sensor o un dispositivo nuevo es importante ver la librería que necesitamos para manejarlos. Por ejemplo:

Existen infinidad de librerías desarrolladas por terceros en internet con sus correspondientes forks, que nos ayudarán a conectar prácticamente cualquier dispositivo a los Arduinos de forma muy sencilla o hacer tareas de programación complejas.

Estructura de una Librería Arduino

Las librerías incluyen los siguientes archivos comprimidos en un archivo ZIP o dentro de un directorio:

  • Un archivo .cpp (código de C++). Al menos uno pero puede haber más.
  • Un archivo .h o encabezado de C (header), que contiene las propiedades y métodos o funciones de la librería. Cada archivo .cpp tiene su correspondiente archivo .h. Al menos uno pero puede haber más.
  • Un archivo Keywords.txt, que contiene las palabras clave que se resaltan en el IDE (opcional).
  • Un archivo README.md con información adicional de lo que hace y con instrucciones de como usarla. (opcional)
  • Directorio denominado examples con varios sketchs de ejemplo que nos ayudará a entender cómo usar la librería (opcional).
  • Adicionalmente puede haber otros archivos menos importantes como el de la licencia y otros.

Instalación de Librerías

Como instalar librerías: http://arduino.cc/en/Guide/Libraries

Hay varios métodos de instalar librerías:

  • Desde el gestor de librerías. A partir de la versión 1.6.2 del IDE de Arduino se incorpora el gestor de librerías que facilita el trabajo. Esta herramienta es accesible desde Programa → Incluir Librería → Gestionar Librerías. Desde aquí podemos ver las librerías instaladas, buscar librerías disponibles, instalar librerías y actualizarlas.
    Esta herramienta también nos permite gestionar las librerías instaladas manualmente.
    Desde C:\Users\nombre_usuario\AppData\Local\Arduino15, podemos ver en formato json el listado de librerías desde el gestor de librerías o desde http://www.arduinolibraries.info/.
  • Mediante el IDE de Arduino de forma automática. Admite la instalación desde un fichero zip o desde una carpeta ya descomprimida. Es el método adecuado para aquellas librerías que no están disponibles desde el gestor de librerías.
  • Instalación Manual. Descomprimiendo en un directorio la librería y copiandolo en el directorio de librerías. Generalmente es el directorio Mis Documentos – Arduino – libraries. Aquí se guardan las librerías contribuidas por el usuario como lo denomina el IDE.
    En caso de instalación manual, es necesario reiniciar el IDE antes de poder utilizar la librería.

Este enlace explica como actualizar una librería: https://github.com/firmata/arduino#updating-firmata-in-the-arduino-ide—arduino-164-and-higher

IMPORTANTE: Un listado de todas las librerías disponibles en el arduino library manager: https://www.arduino.cc/en/Guide/Libraries se puede ver en http://www.arduinolibraries.info/. En esta web se pueden buscar librerías por categoría, tipo, arquitectura o autor. Por ejemplo sobre timing tenemos http://www.arduinolibraries.info/categories/timing

El propio IDE de Arduino ya trae integradas varias librerías, pero además podemos descargar otras e incorporarlas a nuestro IDE y luego usarlas en nuestros programas.

La librerías instaladas por nosotros por cualquiera de los métodos anteriores, se guardan en el directorio indicado desde las preferencias del IDE.

El listado de librerías incluidas en el IDE, tanto las propias como las de terceros, podemos verlo en este enlace y acceder a la documentación de cada una de ellas para saber como usarlas: http://arduino.cc/en/Reference/Libraries. Estas librerías ya están instaladas en el IDE de Arduino y no es necesario instalarlas.

La librerías incluidas en el IDE tienen ejemplos para comprender su uso. Toda la información en: http://www.arduino.cc/en/Tutorial/LibraryExamples

Por ejemplo, la librería para trabajar con pantallas LCD. En este enlace está la documentación para el uso de esta librería así como los métodos que nos facilita para trabajar con este tipo de pantallas: http://arduino.cc/en/Reference/LiquidCrystal

En el Arduino Playground también tenemos un listado mucho más amplio de librerías, ordenadas por categorías: http://playground.arduino.cc/Main/LibraryList

También tenemos información de como interactuar con diferente HW en http://playground.arduino.cc/Main/InterfacingWithHardware y un conjunto de ejemplos y snippets para usar con Arduino en http://playground.arduino.cc/Main/SketchList

Incluir Librerías en Sketch

IMPORTANTE: Para añadir una librería a nuestro proyecto simplemente se añade a nuestro código la palabra clave #include seguido del nombre de la librería.

Esto también se puede hacer desde el IDE en el menú Programa – Incluir Librería y seleccionar la librería que deseamos incluir y está instalada.

Generalmente cada dispositivo que compramos, shield, sensor, actuador, etc… viene con su propia librería que debemos instalar para poder usarlo. Estas librerías podemos verlas, modificarlas o incluso añadir funcionalidades.

A la hora de elegir un elemento de hardware, uno de los argumentos importantes es la librería que nos ofrece el fabricante o la comunidad y su facilidad de uso.

Por ejemplo si compramos una sonda de temperatura y humedad de tipo DHT11 como esta: http://www.adafruit.com/product/386, para usarla necesitaremos su librería correspondiente.

En la web del fabricante o el vendedor deberemos tener disponible la librería y el datasheet del dispositivo, en este caso.

17 comentarios en “Librerías Arduino

  1. Pingback: Librerías Arduino | Aprendiendo Arduino

  2. Pingback: Crear Librerías Arduino | Aprendiendo Arduino

  3. Pingback: Saber Más Iniciación Arduino 2017 | Aprendiendo Arduino

  4. Pingback: Saber Más Arduino Empresas | Aprendiendo Arduino

  5. Pingback: Saber Más Iniciación Arduino 2018 | Aprendiendo Arduino

  6. jecrespom Autor

    Hola,
    Puedes vate un VU meter directamente con Arduino como en este instructable https://www.instructables.com/id/How-to-Make-a-VU-Meter-Using-Arduino/ pero si quiere usar un shift register como 74HC595 debes usar la función shiftout() https://www.arduino.cc/reference/en/language/functions/advanced-io/shiftout/ y puedes encontrar un fantástico tutorial en https://www.arduino.cc/en/Tutorial/ShiftOut

    Puedes preguntarme también en aprendiendoarduino@gmail.com

    Me gusta

    Responder
  7. Pingback: Arduino en IoT | Aprendiendo Arduino

  8. Pingback: Saber Más Iniciación Arduino 2019 | Aprendiendo Arduino

  9. Pingback: Saber Más Gestión de Proyectos con Arduino | Aprendiendo Arduino

  10. Pingback: Funciones Definidas por Usuario Avanzado | Aprendiendo Arduino

  11. Pingback: Saber Más Programación Arduino 2019 | Aprendiendo Arduino

  12. Pingback: IoT en 90 Minutos | Aprendiendo Arduino

  13. Pingback: Arduino en IoT | Aprendiendo Arduino

  14. Pingback: Saber Más Fundamentos IoT para Formación Profesional | Aprendiendo Arduino

  15. Pingback: Programación Arduino | Aprendiendo Arduino

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.