Modulo de tiempo real arduino

Modulo de tiempo real arduino

Modulo de tiempo real arduino

Arduino reloj de tiempo real ds3231

El Arduino es un dispositivo increíble. Es útil para la creación de prototipos y también se puede utilizar para construir un proyecto completo. Tiene un convertidor analógico-digital (ADC), pines de E/S digitales, maneja interrupciones y puede comunicarse a través de un puerto serie, SPI e I2C.
Un «reloj en tiempo real» es esencialmente un reloj digital cuya salida puede ser leída por un ordenador o microcontrolador.    Tiene su propio oscilador que utiliza para contar el tiempo y tiene registros que le permiten establecer la hora y la fecha actuales.
El dispositivo que está utilizando para leer este artículo probablemente tenga un reloj de tiempo real y si está conectado a Internet probablemente lo esté sincronizando con un servidor de tiempo de red (si su dispositivo es un teléfono puede estar sincronizado con la señal de su compañía telefónica).
La hora de Unix es el número de segundos que han transcurrido desde la medianoche del 1 de enero de 1970 (que fue un jueves si te interesa).    Si estás en Linux (o en el terminal de un Mac, que utiliza Unix como sistema operativo subyacente) puedes escribir «date +%s» para obtener la hora Unix actual.

Biblioteca ds3231

Un reloj en tiempo real (RTC) es un reloj de ordenador (casi siempre en forma de circuito integrado) que lleva la cuenta de la hora actual.El término se utiliza para evitar la confusión con los relojes de hardware ordinarios que son sólo señales que gobiernan la electrónica digital, y no cuentan el tiempo en unidades humanas.
En comparación con los módulos RTC baratos del mercado actual, este módulo de reloj en tiempo real SD2403 es una solución de bajo consumo y alta precisión. El consumo típico de energía es de aproximadamente 1,0uA. La precisión del reloj es de unos 5 ppm, lo que significa que incluso si se mantiene en funcionamiento un año, la desviación de este módulo RTC debe ser inferior a 2,5 minutos sin la calibración. Suministra los datos de tiempo a través de la interfaz I2C y el formato de tiempo es configurable para ser cambiado entre 12 horas y 24 horas. Sin embargo, otra buena característica es la función de alarma de tiempo a través de la salida de eventos de interrupción. Así que vale la pena probar esta solución RTC.
Este módulo soporta tanto 3.3v/5v, lo que lo hace compatible con ambos sistemas Gadgeteer/Arduino DUE 3.3v y Arduino Standard 5v. La inclusión de cabezales de 5 pines proporciona la forma más fácil de conectar el módulo a los microcontroladores Arduino.

Ds1302 módulo de reloj de tiempo real

La primera pregunta que surge aquí es por qué necesitamos un RTC separado para nuestro proyecto Arduino cuando el propio Arduino tiene un cronómetro incorporado. Bueno, la cuestión es que el módulo RTC funciona con una batería y puede mantener la hora incluso si reprogramamos el microcontrolador o desconectamos la alimentación principal.
El DS3231 es un reloj de tiempo real de bajo coste y gran precisión que puede mantener la información de horas, minutos y segundos, así como la del día, mes y año. Además, tiene compensación automática para los años bisiestos y para los meses con menos de 31 días.
El módulo puede funcionar tanto a 3,3 como a 5 V, lo que lo hace adecuado para muchas plataformas de desarrollo o microcontroladores. La entrada de la batería es de 3V y una típica batería CR2032 de 3V puede alimentar el módulo y mantener la información durante más de un año.
Una vez que conectamos el módulo necesitamos programar la placa Arduino para que funcione con el reloj en tiempo real. Sin embargo, cuando se trata de programar una comunicación entre Arduino y un módulo I2C el código no es tan pequeño y fácil. Por suerte, ya existen varias librerías para el RTC DS3231 que se pueden encontrar en internet.

Arduino rtc ds3231 ajustar la hora desde el pc

Se accede al RTC DS1307 a través del protocolo I2C. Hemos escrito un banco de pruebas para programar los módulos, este código debería darte una idea de cómo interconectar el módulo con cualquier microcontrolador usando nuestro software de ejemplo I2C y rutinas BCD.
El voltaje de alimentación para el RTC DS1307 necesita tener una entrada de 5V por lo que no es directamente compatible con un dispositivo de 3,3V (como un Arduino de 3,3V o una Raspberry Pi). Tendrías que hacer algunas modificaciones para poder utilizarlo con un sistema de 3,3V.
El I2C de Arduino parece bloquearse a veces cuando intenta comunicarse con el DS1307. Hay una librería I2C modificada aquí para detectar cuando esto ocurre y resetea el reloj => http://www.paulodowd.com/2015/04/ds1307-woes-i2c-freezes-and-locks.html
Nivel de habilidad: Noob – Se requiere algo de soldadura básica, pero se limita a unos pocos pines, soldadura básica de agujeros pasantes, y un par (si alguno) de componentes polarizados. Un soldador básico es todo lo que debería necesitar.
Nivel de habilidad: Competente – La cadena de herramientas para la programación es un poco más compleja y los ejemplos pueden no ser proporcionados explícitamente para usted. Deberá tener conocimientos básicos de programación y deberá aportar su propio código. Es posible que tenga que modificar las bibliotecas o el código existentes para que funcionen con su hardware específico. Las interfaces de los sensores y del hardware serán SPI o I2C.

Acerca del autor

admin

Ver todos los artículos