Esta lección no vamos a programar mucho, pero te va a venir muy bien para aprender a reciclar código en forma de librerías.
Seguro que recuerdas que en la lección sobre las partes en que se organiza el código hablamos de una zona reservada para las librerías, pero ¿qué son exactamente estos archivos? ¿por qué querríamos utilizar estos extraños “objetos”?
Las librerías o bibliotecas nos permiten utilizar funcionalidades extra sin necesidad de programarlas. Las podremos incluir en nuestros proyectos para reutilizar código de otras personas o nuestro propio código de forma más organizada ya que en las librerías se agrupan las funciones según su aplicación. Con sólo añadir la librería al proyecto, podremos utilizar todos los recursos que contenga.
Es interesante saber que podemos añadir cuantas librerías queramos a nuestros programas, ¡sin límites! A pesar de ello no debes abusar, no tiene sentido añadir librerías que no se van a utilizar ya que un exceso de éstas supondrá gastar más memoria y más tiempo de procesado.
Incluyendo librerías
Para incluirlas bastará con utilizar la instrucción #include y poner el nombre de la librería que queramos incluir entre comillas o entre < > de la siguiente manera:
1 2 |
#include "milibreria.h" #include |
- Cuando ponemos el nombre de la librería entre “” se buscarán los ficheros de dicha librería en el mismo directorio/carpeta donde tenemos el código del programa. Si guardas el proyecto en la carpeta Escritorio/miPrograma, se buscará en esa misma carpeta los archivos de la librería que deberían estar junto con tu proyecto miPrograma.ino.
- Cuando se añaden las librerías entre <>, se buscan los ficheros en la carpeta del sistema reservada con tal propósito donde están guardadas las librerías que vienen por defecto con Arduino.
Estructura de una librería
¿Y cómo es una librería por dentro? Para verlo sigue el siguiente enlace para ir al repositorio donde están guardadas todas las librerías que nos ayudarán con los componentes del Zum Kit, lo explicaremos teniendo una de ellas delante. El siguiente botón te llevará a un repositorio o carpeta online donde se guardan y actualizan las librerías de Bitbloq:
Esta estructura es la que tienen la mayoría de las librerías y nos ayuda a organizar el código de forma correcta: en el archivo .h se declara la librería, funciones y variables que usará internamente pero sin escribir el código de las mismas, sin definirlas. Es decir, hacemos una “lista de la compra” con todo lo que contendrá la librería. Cuando ya se han declarado vamos al archivo .cpp donde se programan estas funciones, es decir, se definen.
Como esto es parte de programación avanzada bastará con que recuerdes que las librerías contienen funciones, y en muchos casos nuevos tipos de variables u objetos que podremos utilizar en nuestro código. Además de la variables int o float podremos utilizar objetos definidos en dichas librerías como por ejemplo objetos tipo servo o LCD. Casi todas las funciones que usamos al programar están contenidas en el núcleo de Arduino: Arduino.h. Esto significa que todas las funciones que utilizamos (digitalRead(), delay(), etc.) han sido previamente programadas por otra persona para que nosotros podamos utilizarlas sin más preocupación.
Ya verás que útil es esto de las librerías y los objetos añadidos. Puedes mirar en la página de Arduino el listado de Librerías y empezar a explotar algunas de las posibilidades que ofrecen.