Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

En este tutorial de Arduino aprenderemos a usar el Módulo Reloj en Tiempo Real DS3231. Puedes ver el siguiente vídeo o leer el tutorial escrito a continuación.

Resumen

La primera pregunta que surge aquí es por qué realmente necesitamos un RTC separado para nuestro proyecto de Arduino cuando el propio Arduino tiene un cronómetro incorporado. Bueno, el punto 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.

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

DS3231 Reloj en Tiempo Real

El DS3231 es un Reloj en Tiempo Real de bajo costo y alta precisión que puede mantener horas, minutos y segundos, así como día, mes e información de año. También tiene compensación automática para años bisiestos y para meses con menos de 31 días.

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

El módulo puede funcionar tanto a 3,3 V como a 5 V, lo que lo hace adecuado para muchas plataformas de desarrollo o microcontroladores. La entrada de batería es de 3 V y una batería típica CR2032 de 3 V puede alimentar el módulo y mantener la información por más de un año.

El módulo usa el Protocolo de Comunicación I2C, lo que hace que la conexión a la placa Arduino sea muy fácil.

Aquí está el esquema del circuito:

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

Así que todo lo que necesitamos son 4 cables: los pines VCC y GND para alimentar el módulo, y los dos pines de comunicación I2C, SDA y SCL.

Puedes conseguir los componentes necesarios para este tutorial de Arduino en los enlaces a continuación:

  • Reloj en Tiempo Real DS3231……………..
  • Placa Arduino ……………………………
  • Protoboard y cables jumper ………

Programación

Una vez conectado el módulo, necesitamos programar la placa Arduino para trabajar 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 hay varias librerías para el RTC DS3231 que se pueden encontrar en internet.

Para este tutorial elegí usar la Librería hecha por Henning Karlsen que se puede encontrar y descargar de su sitio web, www.rinkydinkelectronics.com.

Así que una vez descargamos e instalamos la librería, podemos usar su primer ejemplo demo para activar inicialmente el reloj del módulo RTC. En la sección setup del código del ejemplo demo podemos notar que hay tres líneas que necesitamos descomentar para establecer inicialmente el día de la semana, la hora y la fecha.

// Código del Ejemplo Demo de la Librería DS3231
void setup() {
  // Configurar conexión Serial
  Serial.begin(115200);
  // Descomenta la siguiente línea si usas Arduino Leonardo
  //while (!Serial) {}
  // Inicializar el objeto rtc
  rtc.begin();
  // Las siguientes líneas pueden descomentarse para establecer fecha y hora
  //rtc.setDOW(WEDNESDAY); // Establecer Día-de-Semana a MIÉRCOLES
  //rtc.setTime(12, 0, 0); // Establecer hora a 12:00:00 (formato 24h)
  //rtc.setDate(1, 1, 2014); // Establecer fecha a 1 de Enero, 2014
}Lenguaje: Arduino (arduino)

La primera línea es para establecer el día de la semana, la segunda línea es para establecer la hora en horas, minutos y segundos, y la tercera línea es para establecer la fecha en días, meses y años.

Una vez subimos este código, necesitamos comentar de nuevo las tres líneas y volver a subir el código.

// Código del Ejemplo Demo de la Librería DS3231
void loop() {
  // Enviar Día-de-Semana
  Serial.print(rtc.getDOWStr());
  Serial.print(" ");
  // Enviar fecha
  Serial.print(rtc.getDateStr());
  Serial.print(" -- ");
  // Enviar hora
  Serial.println(rtc.getTimeStr());
  // Esperar un segundo antes de repetir
  delay(1000);
}Lenguaje: Arduino (arduino)

Si echamos un vistazo a la sección loop del código, podemos ver que ahora, usando las tres funciones personalizadas, obtenemos la información del RTC e la imprimimos en el Monitor Serial. Así es como aparecen en el Monitor Serial.

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

Ahora, incluso si desconectamos la alimentación del Arduino y luego la reconectamos y ejecutamos el Monitor Serial de nuevo, podemos notar que la hora sigue avanzando sin reiniciarse.

Así que ahora tenemos nuestro Reloj en Tiempo Real funcionando y podemos usarlo en cualquier proyecto de Arduino. Como segundo ejemplo, conecté una LCD al Arduino e imprimí la hora y la fecha en ella.

Domina Arduino con RTC DS3231: Tutorial paso a paso completo

Aquí está el código fuente de este ejemplo:

/* 
 * Tutorial Módulo Reloj en Tiempo Real Arduino DS3231 
 * Creado por Dejan Nedelkovski, www.HowToMechatronics.com 
 * Librería DS3231 hecha por Henning Karlsen, descargable en www.rinkydinkelectronics.com 
 */
#include <DS3231.h>
#include <LiquidCrystal.h> // incluye la librería LiquidCrystal
DS3231 rtc(SDA, SCL);
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Crea objeto LC. Parámetros: (rs, enable, d4, d5, d6, d7)
void setup() {
  rtc.begin(); // Inicializa el objeto rtc
  lcd.begin(16,2); // Inicializa la interfaz a la pantalla LCD, y especifica las dimensiones (ancho y alto) del display
}
void loop() {
  lcd.setCursor(0,0);
  lcd.print("Time: ");
  lcd.print(rtc.getTimeStr());
  lcd.setCursor(0,1);
  lcd.print("Date: ");
  lcd.print(rtc.getDateStr());
  delay(1000);
}Lenguaje: Arduino (arduino)

Eso es todo para este tutorial de Arduino, siéntete libre de hacer cualquier pregunta en la sección de comentarios a continuación.


Proceso de manufactura

  1. Reloj POV con Arduino: Construye una pantalla LED de persistencia de visión
  2. Crea un Cerrojo RFID Seguro con Arduino – Guía Paso a Paso
  3. Construye un Reloj Maestro LED Personalizado con Alarma – Visible desde 12 Metros
  4. Monitor de Temperatura y Reloj en Tiempo Real con Arduino Due y Pantalla TFT 3.2"
  5. Construye un Reloj Berlín con Arduino UNO – Reloj de Matriz LED DIY
  6. Reloj Digital TM1637 con Configuración de Hora y Alarma - Prototipo Arduino Nano
  7. eDOT: Reloj Preciso y Estación Meteorológica Arduino con Control IR Integrado
  8. Reloj Meteorológico Arduino en Tiempo Real: Pantalla OLED para Hora, Fecha y Temperatura
  9. Proyecto Sensor de Huella Dactilar con Arduino Nano – Tutorial Paso a Paso
  10. Construye un Portátil Raspberry Pi 3 y Arduino: Guía Paso a Paso
  11. Detección de Cambios 3D en Tiempo Real por Robot Mejora Seguridad del Soldado vía RA