Cómo descargar la librería rtclib.h para arduino y su uso

13/01/2019

En el entorno de la programación de Arduino, la gestión del tiempo es fundamental para muchas aplicaciones. Para ello, la librería RTClib.h se convierte en una herramienta esencial, permitiendo la interacción con relojes de tiempo real (RTC).

Esta información te explicará qué es RTClib.h, cómo descargar la librería RTClib.h, cómo instalarla y ejemplos de su uso. Aprenderás a utilizar sus funciones para obtener la fecha y hora, configurar el reloj y mucho más.

Temario

¿Qué es RTClib.h?

RTClib.h es una librería de Arduino ampliamente utilizada para interactuar con módulos de Relojes de Tiempo Real (RTC). Esta librería, un fork de la librería original de JeeLabs, facilita la lectura y escritura de la fecha y hora en estos módulos, simplificando significativamente el proceso de programación.

Es compatible con una gran variedad de módulos RTC, especialmente con los breakoutsRTC de Adafruit. Una característica importante a tener en cuenta es que la función dayOfTheWeek()devuelve valores del 0 al 6, donde 0 representa el domingo.

Compatibilidad de RTClib.h

La librería RTClib.h ha sido probada con éxito en una amplia gama de microcontroladores Arduino. La siguiente tabla muestra la compatibilidad:

MCU Probado Funciona No Funciona Notas
Atmega328 @ 16MHz X X
Atmega328 @ 12MHz X X
Atmega32u4 @ 16MHz X X Use SDA/SCL en pines D3 & D2
Atmega32u4 @ 8MHz X X Use SDA/SCL en pines D3 & D2
ESP8266 X X SDA/SCL por defecto en pines 4 & 5, pero se pueden asignar otros pines usando Wire.begin(SDA,SCL)
Atmega2560 @ 16MHz X X Use SDA/SCL en pines 20 & 21
ATSAM3X8E X X Use SDA1 y SCL1
ATSAM21D X X
ATtiny85 @ 16MHz X X
ATtiny85 @ 8MHz X X
Intel Curie @ 32MHz X X
STM32F2 X X

Algunos ejemplos de placas Arduino compatibles:

  • Atmega328 @ 16MHz: Arduino UNO, Adafruit Pro Trinket 5V, Adafruit Metro 328, Adafruit Metro Mini
  • Atmega328 @ 12MHz: Adafruit Pro Trinket 3V
  • Atmega32u4 @ 16MHz: Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 0
  • Atmega32u4 @ 8MHz: Adafruit Flora, Bluefruit Micro
  • ESP8266: Adafruit Huzzah
  • Atmega2560 @ 16MHz: Arduino Mega
  • ATSAM3X8E: Arduino Due
  • ATSAM21D: Arduino Zero, M0 Pro
  • ATtiny85 @ 16MHz: Adafruit Trinket 5V
  • ATtiny85 @ 8MHz: Adafruit Gemma, Arduino Gemma, Adafruit Trinket 3V

Cómo descargar la librería RTClib.h

La forma más sencilla de descargar la librería RTClib.h es a través del Administrador de Librerías de Arduino IDE. Sigue estos pasos:

  1. Abre el Arduino IDE.
  2. Ve a "Sketch" > "Include Library" > "Manage Libraries…".
  3. En la ventana del Administrador de Librerías, busca " RTClib ".
  4. Selecciona la librería " RTClib " de Adafruit Industries y haz clic en "Install".
  5. Espera a que se complete la instalación. Una vez instalada, la librería estará disponible para su uso en tus proyectos.

Recuerda que descargar la librería RTClib.h no es suficiente; debes incluirla en tu código para utilizarla.

Inclusión de la librería en tu código

Para utilizar las funcionalidades de RTClib.h, debes incluirla al principio de tu archivo .ino. La sintaxis es sencilla:

#include <RTClib.h>

Después de esta línea, puedes utilizar las funciones de la librería para interactuar con tu módulo RTC.

Ejemplos de uso de RTClib.h

A continuación, te presentamos algunos ejemplos de cómo utilizar la librería RTClib.h para obtener la fecha y hora, y configurar el reloj:

Obtener la fecha y hora

#include <RTClib.h>RTC_DS3231 rtc;void setup () { Serial.begin(9600); if (! rtc.begin()) { Serial.println("Couldn't find RTC"); while (1); } if (rtc.lostPower()) { Serial.println("RTC lost power, lets set the time!"); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); }}void loop () { DateTime now = rtc.now(); Serial.print(now.year(), DEC); Serial.print('/'); Serial.print(now.month(), DEC); Serial.print('/'); Serial.print(now.day(), DEC); Serial.print(" ("); Serial.print(now.dayOfTheWeek()); Serial.print(") "); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); delay(1000);}

Configurar la hora

#include <RTClib.h>RTC_DS3231 rtc;void setup () { Serial.begin(9600); if (! rtc.begin()) { Serial.println("Couldn't find RTC"); while (1); } rtc.adjust(DateTime(2024, 1, 26, 10, 30, 0)); //Ajustar fecha y hora}void loop () { // ... Resto del código}

Dependencias y Contribuciones

RTClib.h es una librería de código abierto bajo licencia MIT. Se aceptan contribuciones para mejorar la librería. Para más detalles sobre contribuciones, consulta la documentación.

Documentación y Doxygen

Para una documentación API detallada, consulta la documentación generada con Doxygen. Esta documentación proporciona información exhaustiva sobre las funciones y el uso de la librería.

Formato del código

El código de la librería sigue los estándares de codificación LLVM, utilizando la herramienta clang-format para asegurar la consistencia del estilo de código.

Descargar la librería RTClib.h y aprender a usarla es esencial para cualquier desarrollador de Arduino que trabaje con proyectos que requieren una gestión precisa del tiempo. Su facilidad de uso, amplia compatibilidad y activa comunidad de desarrollo la convierten en una herramienta invaluable para una gran variedad de aplicaciones.

Recuerda explorar la documentación completa para descubrir todas las funcionalidades que RTClib.h ofrece. Con esta tutorial y la práctica, podrás dominar esta poderosa librería y llevar tus proyectos de Arduino al siguiente nivel.

Si quieres conocer otros artículos parecidos a Cómo descargar la librería rtclib.h para arduino y su uso puedes visitar la categoría Libros y Librerías.

Subir