En ocasiones es necesario que nuestros proyectos, robots, sistemas inmóticos, etc. sepan que hora es y/o que día es, conseguir esto es relativamente simple, aunque lo podemos hacer de varias formas, por ejemplo pidiéndole la información a un servidor, en esta ocasión vamos a usar un RTC.
Un RTC (Real Time Clock) es un integrado que es capaz de contar y mantener en su memoria la hora y la fecha exacta. Esto es un gran avance y extremadamente útil. La gran mayoría de RTCs se controlan mediante el standar I2C lo que implica que solo dos cables son necesarios para comunicarse con la placa. Pero vamos a dejarnos de explicaciones y vamos a ver como funciona en el siguiente vídeo. Un poco más abajo tienes el código que puedes usar y recuerda una cosa, tienes que instalar la librería RTClib.
Vídeo
Código
#include <Wire.h> #include "RTClib.h" RTC_DS1307 RTC; void setup () { Serial.begin(57600); Wire.begin(); RTC.begin(); RTC.adjust(DateTime(__DATE__, __TIME__)); if (! RTC.isrunning()) { Serial.println("RTC is NOT running!"); // following line sets the RTC to the date & time this sketch was compiled //RTC.adjust(DateTime(2014,10,17,0,47,00)); } } 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.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.print(now.second(), DEC); Serial.println(); Serial.println(); delay(3000); }