BIBLIOTECAS ARDUINO
Sebastian ZapataResumen30 de Enero de 2022
735 Palabras (3 Páginas)111 Visitas
LIBRERÍAS ARDUINO
Las librerias se define como códigos usados como sketch esto facilita la programación y permite que lo programas seas más sencillos y fácil de entender, estas disponen de archivos comprimidos ZIP que contiene:
- Un archivo .cpp (código de C++)
- Un archivo .h o encabezado de C, que contiene las propiedades y métodos o funciones de la librería.
- Un archivo Keywords.txt, que contiene las palabras clave que se resaltan en el IDE (opcional).
- Muy posiblemente la librería incluye un archivo readme con información adicional de lo que hace y con instrucciones de cómo usarla.
- Directorio denominado examples con varios sketchs de ejemplo que nos ayudará a entender cómo usar la librería (opcional).
Para usar una librería que acabamos de instalar, lo que hay que hacer es leer la documentación de esa librería si es que está disponible y luego leer y probar los ejemplos que dispone las librerías.
El listado de librerías se actualiza de internet y se guarda en:
- C:\Users\usuario\AppData\Local\Arduino15\library_index.json
Las placas se actualizan de internet (del gestor de tarjetas) y se guarda en:
- C:\Users\usuario\AppData\Local\Arduino15\package_index.json
El fichero library_index.json se actualiza al abrir el IDE y en caso de tener problemas, se puede borrar y se genera de nuevo al abrir el IDE. Además, podemos fácilmente actualizar nuestro repositorio de librerías con el comando PULL de git y poner una u otra versión en nuestro repositorio con el comando checkout
Una vez visto el manual de la librería, la librería Time de Arduino que nos ofrece funcionalidades para mantener la fecha y hora con un hardware externo o sin él. Nos permite obtener la fecha y hora como: segundo, minuto, hora, día, mes y año. También da el tiempo con el tipo de dato del estándar C time_t, siendo sencillo el cálculo del tiempo transcurrido.
También pueden verse los ficheros:
- library.json – Información de la librería
- library.properties – datos de la librería y clasificación que sale en el Gestor de Librerías
Un objeto TimeChangeRule que describe cuando la hora local cambia de hora estándar a hora de verano y viceversa. Un objeto Timezone que usa TimeChangeRule para hacer las conversiones y las funciones relacionadas. Es posible implementar varias zonas horarias definiendo varios objetos Timezone
Para una librería se necesitan al menos dos ficheros
Un fichero de cabecera con la extensión . Un fichero fuente con la extensión . En este caso la librería se va a llamar morse y generamos un fichero de cabecera llamado morse.
Una clase es una colección de funciones y variables que se guardan todas juntas en un solo lugar. Todas las clases tienen una función llamada constructor, que es usada para crear una instancia de la clase. En el fichero de cabecera de una librería es necesario la declaración #include que de acceso a los tipos y constantes estándar del lenguaje de Arduino.
La declaración debe ser:
- Versión IDE 1.x: #include “Arduino.h”
- Versión IDE 0.x: #include “WProgram.h
Lo siguiente es poner el constructor de la clase. Esto define que ocurre cuando se crea una instancia de la clase. Esto se ve en todas las funciones de la clase.
Guía de estilo para escribir una librería de Arduino
Para facilitar el entendimiento de las librerías o APIs de Arduino y hacer que el entorno de Arduino sea más homogéneo, desde arduino. Cc dan unas pautas para escribir librerías al «estilo Arduino». Algunas de estas prácticas van en contra de la programación programación profesional, pero esto hace posible a los principiantes comenzar a trabajar de forma sencilla con Arduino. Tener una modelo claro del concepto que va tratar la librería y las funciones que se van a implementar.
Un ejemplo es la librería https://github.com/adafruit/Adafruit-BMP085-Library. La función readPressure hace todos los pasos para obtener la presión final, siendo transparente para el usuario todos los complejos pasos intermedios. Usar palabras claras para escribir las librerías.
...