bclose

Gestionando las librerías Arduino

Instalar y desinstalar librerías en Arduino

Objetivos

.

 

    • Aprender a instalar una librería cualquiera.
    • Conocer cómo se constituye una librería y que ficheros incluye.
    • Comprender los problemas que pueden ocurrir al instalar y esbozar vías de solución.
    • Mostrar como desinstalar una librería, de modo que nos libere espacio
 

Material requerido.

Imagen de Arduino UNO  Arduino UNO o equivalente.
Taza de café Un café cargadito siempre ayuda.

 

Las librerías

 

Hemos visto repetidamente en las sesiones previas, como instalar las librerías necesarias para utilizarlas como intermediarias entre nuestros programas y mucho del hardware que hay corriendo por ahí.

El uso de librerías estándar nos ayudan a manejar ciertos componentes sin necesidad de entrar en el detalle fino (y molesto) de tener que conocer cómo funciona cada una de las señales de ese componente o las características específicas del bus de control con el que se maneja.

Nunca demostraremos suficiente agradecimiento a esas personas anónimas que nos proporcionan estas librerías y que se molestan en tenerlas a punto y sacar actualizaciones de tanto en tanto.

No nos engañemos, Arduino es un procesador muy simpático pero es en las librerías de la comunidad donde está la auténtica potencia del sistema, y es en esa comunidad internacional de voluntarios sin ánimo de lucro, donde radica la fortaleza de nuestro Arduino.

La facilidad con que se puede montar un prototipo en Arduino en cuestión de días, se debe única y exclusivamente a que te puedes abstraer de los detalles de bajo nivel y sin mancharte de grasa, centrarte en la funcionalidad del programa a alto nivel.

Esto unido a la proliferación de componentes de gran tirada y bajo costo, están produciendo una revolución tranquila en todo el mundo tecnológico y la cultura del DIY (Do it Yourself o háztelo tú mismo) promete que cambiará la forma en como trabajamos y la oferta de productos y servicios tecnológicos, de un modo que es imposible de predecir ahora mismo.

Pero también cuantas más librerías instalamos más complicado se hace mantenerlas y ordenarlas, hasta que al fin, inevitablemente tendremos que borrar alguna para poder simplemente ver lo que tenemos instalado en un momento dado.

Por eso, en este capítulo, haremos una recopilación sobre como instalar una librería de nuevo y muy especialmente en cómo hacer para desinstalarla, bien cuando ya no te sea necesaria, o sencillamente porque ya no te caben más.

Una buena parte de las librerías que te descargas de Internet no se instala a la primera, sino que el IDE rehúsa aceptarlas, dejándonos con una particular cara de póker.

Dedicaremos unos comentarios  a ver los problemas típicos, que podéis encontrar a la hora de descargar e instalar estas  librerías y mostraremos algunas posibles soluciones.

 

Instalando una librería

 

Lo primero que tenemos que hacer es descargar la librería en cuestión. A poco que busquéis en Internet encontrareis de donde descargaros una librería concreta si conoces el nombre (Naturalmente la cosa se complica ligeramente si no sabéis que librería queréis).

El procedimiento para instalar una librería es muy sencillo y basta seguir unos pocos pasos para hacerlo con éxito.

Insistimos con los pasos precisos. Elegimos en el menú del IDE:

Arduino,Programa\Importar Librería\Añadir Librería

Menu arduino

Ahora nos pedirá la dirección del fichero descargado en formato xxx.zip.

Seleccionar libreria

Busca y selecciona la librería en cuestión.Cuando la pinchemos se debería instalar. Si no hay ningún problema podemos comprobar que aparece en la lista de librerías instaladas y que podemos pincharla.

Si por cualquier problema, el IDE rehúsa instalar la librería, tendremos que ver porqué y corregirlo. Vamos a ver algunas normas.

Arduino define un sistema simple para formar una librería y define una serie de ficheros que deben ir incluidos, así como los ejemplos que la acompañan y forman un paquete comprimido con ZIP para contener todo el conjunto.

Los ficheros que suele incluir una librería (Que llamaremos Biblos por ejemplo), y que podéis comprobar descomprimiendo aparte cualquiera de las nos hemos descargado, son:

 
  • Un fichero Biblos.h, de headers, donde se suelen definir las constantes , marcar includes que necesitara la librería y en muchas ocasiones las definiciones de las clases de las que depende la librería.
  • Un fichero Biblos.cpp, que es donde suele estar el peso del programa. Incluye normalmente, los métodos o funciones de una clase y las propiedades, así como cualquier función de apoyo que la librería necesite.
  • Un fichero o varios o ninguno, del tipo xxx.c con funciones y programas en C para apoyo
  • Un fichero keywords.txt donde indica una lista de palabras reservadas, léase que define la librería.
  • Un Readme.txt con las indicaciones de uso, el autor o autores y la página web donde se publican las actualizaciones.
  • Un directorio de ejemplos que son los que veremos luego en el IDE.
  • Podéis editar todos estos ficheros y ver su código, pero no hace falta que os diga que no cambies cosas si no estáis seguros de lo que hacéis. Podéis abrirlos desde Arduino con la opción de menú Programa\Añadir fichero, os abrirá una nueva pestaña en el IDE con el fichero formateado
 

Arduino establece que todo esto debe estar comprimido en un único fichero Zip que es capaz de importar con la instrucción Importar Librería.

 
  • Arduino espera que la librería solo incluya letras y números y no ningún carácter especial (Incluidos subrayados y similares). Además espera que el nombre de la librería coincida con el de los ficheros xxx.cpp y.xxx.h
  • Si esto no es así devolverá un error diciendo que nones y te tienes que buscar la vida, revisando que puñetas será lo que no le gusta.
  • En aplicación de las normas anti paletos y para evitar las cosas sencillas, en Arduino existe también la peculiar costumbre de no hacer coincidir el nombre del ZIP con el nombre interior de la librería, consiguiendo así, que el IDE rehusé instalarlo con un mensaje críptico.
  • Cuando esto ocurre no hay más remedio que deszipear el fichero en un directorio, entrar en ese directorio y zipear de nuevo todo con el nombre del fichero xx.cpp, y después pedirle al IDE que instale el nuevo fichero Asegúrate además de que no hay directorios encadenados.
  • Por este motivo, en nuestras sesiones siempre os incluyo una copia de la librería para vuestra descarga, que haya comprobado que se instala sin problemas.
 

Si a pesar de todo, la librería se niega a instalarse podemos hacerlo a la vieja usanza. Cerramos el IDE y copiamos el directorio con los ficheros descritos más arriba directamente al directorio de librerías, que es lo que hace la orden de importarla.

En Windows ese directorio suele estar en  \\Usuario\Documentos\Arduino\ libraries. Dentro de el encontrareis un directorio por cada librería instalada con los ficheros de cabecera y los ejemplos que podemos seleccionar desde el IDE.

En Mac OSX, este directorio se instala por defecto en Documentos/Arduino/libraries.

No tengo por aquí ningún Linux, pero me apunto para buscar su directorio de instalación.

 
  • ¿He dicho ya,  que es muy mala idea juguetear con estos ficheros, si no tenéis muy, pero que muy claro lo que estáis haciendo?
 

Tened en cuenta, también, que hay librerías de primera soportadas por la comunidad y con muchas instalaciones a sus espaldas, de modo que son de confianza y otras que son un ejercicio de buena voluntad y poco tiempo para soportarlas, lo que hace que algunas librerías y ejemplos rehúsen compilar y si pasa esto puede ser un problema de difícil solución.

Siempre recomiendo ser comprensivos con la gente que te regala su trabajo, no es fácil exigirles perfección.

 

Desinstalar una librería

 

El proceso para desinstalar una librería es más sencillo que el de instalarla, porque no es probable que surjan problemas.

Basta con cerrar el IDE Arduino e ir a los directorios donde se instalan las librerías. Ya dijimos que en Windows es en   \\Usuario\Documentos\Arduino\libraries\. SI vais con el explorador de archivos veréis algo como esto:

Estructura de la libreria

Lo que el IDE os muestra en el menú \\Programa\Importar\libreria es una copia de los directorios que aparecen aquí y para desinstalar una librería basta con que borréis el directorio en cuestión.

La próxima vez que arranque el IDE, la librería en cuestión habrá desaparecido.

 
  • Ni que decir tiene, que sería buena idea hacer una copia del directorio con su contenido antes de borrarlo. Un fichero ZIP o RAR con ello parece una buena solución, ya que suelen ocupar poco y así podremos recupera la librería en un futuro.
 
Si usas Mac, las libreris se instalan en Documentos/Arduino/libraries

Situacion de la libreria

Y puedes borrar igualmente la carpeta de la librería correspondiente para librarte de el.

 

Resumen de la sesión

.

 

 

    • Hemos visto, de nuevo, como instalar una librería con el IDE.
    • Hemos descrito que ficheros contiene la librería y la forma de importar un fichero único con el contenido en un Zip.
    • Vimos como instalar una librería sin comprimir, copiándola al directorio correspondiente.
    • Vimos como borrar una librería ed nuestroIDE.
 

 

 

 

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login

(31) Comments

  • Avatar for Charly
    • Ivan Uriarte

    Normalmente funcionan con el Marlin, una búsqueda rápida y lo encontrarás sin problema.

  • Avatar for Charly
    • Khalim Khalid

    hola por favor si puedes ayudarme tengo una impresora 3D anet A8 la placa es un Atmeg1284P queria saber donde puedo descargar la libreria
    gracias

  • Avatar for Charly
    • Prueba TPV TPV

    Daniel, puedes modificar las definiciones de pines en la libreria sin mas que editar el codigo fuente , pero tienes que asegurate de que funcionan correctamente con las modificaciones por separado antes d ejuntarlas ¿Vale?

  • Avatar for Charly
    • Daniel

    hola tengo un problema compre 2 modulos un SD y un rfid 522 ya los probe individualmente con sus respectivas librerias y funcionan bien pero caundo queiro que funcionen ambos en un solo programa mi error esta en que las librerias tienen en algunos casos los mismos pines
    digamos por ejemplo que la libreria del SD usa el pin 11 pero tambien lo usa la libreria del rfid como le hago para cambiar los pines de una libreria ?

  • Avatar for Charly
    • Ivan Uriarte

    Hola Fabian, lo mejor que puedes hacer es borrar todo y reinstalarlo.

  • Avatar for Charly
    • Fabian Sirera

    Hola amigo tengo un problema con mi Arduino UNO y es que le falta la librería (arduino_645864), me podrías indicar donde puedo conseguirla para asi realizar mi proyecto, un saludo desde España.

  • Avatar for Charly
    • Ivan Uriarte

    Hola Loky, lo que yo haría sería borrar la librería y descargar la última versión. Actualizar el IDE a la última versión y volver a cargar la librería. Un saludo.

  • Avatar for Charly
    • Loky

    hola, tengo el siguiente problema en la libreria de arduino, me paso al cargar la libreria DHT.h para ocupar sensores de medicion de humedad y temperatura, DHT22 y DHT11 me sale ese error en cada compilacion de codigo que hago, y al llamar a la libreria DHT.h no me deja complilar. alguna solucion x fa

    ATENCIÓN: Categoría ‘Sensor’ en librería Adafruit APDS9960 Library no es válida. Configurando a ‘Uncategorized’
    ATENCIÓN: Categoría ‘Sensor’ en librería Adafruit CCS811 Library no es válida. Configurando a ‘Uncategorized’

  • Avatar for Charly
    • Ivan

    Hola Manuel, pues no he usado ese firmware, pero así como recomendaciones generales te diría que actualices el IDE de Arduino a la versión más reciente a ver si se soluciona. También veo por ahí que tienes que renombrar la librería como “GRBL” Pruébalo y me cuentas a ver.

  • Avatar for Charly
    • Manuel Martos

    Hola Buenos dias , mi problema es el siguiente tengo arduino nano en una cnc con grbl 0.8c intento actualizar a grbl 0.9 o1.1 y me es imposible lo e intentado con xloader y desde el ide con xloader hace todo el proceso pero no me reconoce la librería y desde el ide tampoco , seguro estoy haciendo algo mal pero no se que es espero tu respuesta agradecido de antemano un saludo

  • Avatar for Charly
    • Admin

    Hola Jose,

    No recuerdo de omenria como definir una libreria claro, pero si antes podias incluirla en tus programas, deberia bastar con que incluyeras el directorio con tus programas en uno de los directorios estandard para contener libreras del IDE como \Documentos\arduino\|libraries y al arrancar el IDE te la mostarara como una libreria que podras incluir

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login