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);
}

Enrique Gómez

Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Friki de Star Wars, cuenta más de lo que parece. Puedes saber más sobre mi y sobre mis trabajos en enrique.rinconingenieril.es

Leave a Reply

avatar
  Suscribete  
Notificame
Cerrar menú