Tabla de contenido:

Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s): 3 pasos
Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s): 3 pasos

Video: Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s): 3 pasos

Video: Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s): 3 pasos
Video: ✅ Que es un Reloj de Tiempo Real (RTC) como se usa? 2024, Mes de julio
Anonim
Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s)
Configuración del DS3231 RTC (reloj en tiempo real) de forma precisa, rápida y automatizada mediante Java (+ -1 s)

Este Instructable le mostrará cómo configurar la hora en un reloj de tiempo real DS3231 usando un Arduino y una pequeña aplicación Java que usa la conexión serial del Arduino.

La lógica básica de este programa:

1. El Arduino envía una solicitud en serie.

2. El programa Java busca qué día / mes /… el arduino solicitó y envía los datos relevantes.

3. Una vez recopilada toda la información necesaria, el arduino almacena los datos en el DS3231.

El módulo DS3231 RTC

El módulo RTC DS3231 es un módulo RTC relativamente económico con una alta precisión. (unos minutos al año)

Existen diferentes variedades cuya funcionalidad básica es la misma con solo pequeñas diferencias.

Puede encontrar una comparación detallada aquí: Comparación DS323x | maximintegrated.com

Comprar DS3231: DS3231 | ebay.com

Hoja de datos: DS3231 Hoja de datos | maximintegrated.com

Hoja de datos: DS1307 Hoja de datos | maximintegrated.com

Piezas necesarias

1x Arduino (Nano, Uno, MEGA, etc.)

4 cables de puente.

1x módulo DS3231 (módulo DS1307)

Paso 1: cableado

Alambrado
Alambrado

Conecte el DS3231 como se muestra en la imagen de arriba. Por supuesto, puede hacerlo sin el uso de una placa de pruebas, pero será un poco más complicado. He usado un Arduino Nano para la demostración, pero un Uno o un MEGA también deberían funcionar. (Otros también pueden funcionar, pero soy demasiado vago para confirmar)

  • Arduino -> DS3231
  • A4 -> SCL
  • A5 -> SDA
  • 5V -> VCC
  • GND -> GND

Paso 2: el código Arduino

El código Arduino
El código Arduino

Descargue el archivo.ino desde abajo y cárguelo en su Arduino (en mi caso, un Nano).

El boceto necesita las siguientes bibliotecas instaladas para funcionar correctamente:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Puede encontrar un tutorial sobre cómo cargar código en su arduino aquí (arduino.cc).

En el IDE de Arduino, verifique que el código se envió correctamente. (Terminado de cargar)

Su Arduino ahora está listo para recibir información de tiempo

Descargue el código aquí: DS3231TimeSync.zip (mediafire.com)

Descargue la fuente aquí: DS3231TimeSyncSRC.zip (mediafire.com)

Repositorio de GitHub: DS3213 RTC Time Sync (github.com)

Repositorio de Bitbucket: DS3231 RTC Time Sync (bitbucket.com)

Paso 3: la aplicación Java

La aplicación Java
La aplicación Java

1. Ejecute "DS3231Sync.jar" descargado antes haciendo doble clic en él

2. Se abrirá un pequeño cuadro de diálogo que le pedirá el puerto de su arduino

Si no está seguro del puerto utilizado por su arduino, eche un vistazo al IDE de Arduino en la parte inferior derecha.

(Ver imágenes arriba)

3. Se abrirá otro cuadro de diálogo que le pedirá una diferencia de zona horaria

El desplazamiento es relativo a la hora local de su computadora. Para configurar el RTC a su hora local, simplemente ingrese +00: 00.

¡Es fundamental que ingrese el desplazamiento de la zona horaria en un formato específico!

El formato general es + hh: mm o -hh: mm. ¡Incluya siempre ceros a la izquierda!

(Por ejemplo: -03: 00; -06: 00; +09: 00; +02: 30)

4. La aplicación Java lanzará una pequeña ventana con salida de consola

Esté atento a los mensajes de confirmación como: "Hora finalizada"

Cuando finalice el proceso de ajuste de la hora, el código imprimirá la hora actual en el DS3231 cada 5 segundos. Puede confirmar que la hora está configurada correctamente.

Si no obtiene ninguna salida después de ~ 20 segundos, presione el botón de reinicio en su arduino y espere nuevamente.

Si aún no funciona, verifique el boceto en el Arduino y / o cárguelo nuevamente. (Importante: cierre el puerto en la aplicación Java antes de cargarla en Arduino; de lo contrario, bloqueará el puerto serie). Luego, restablezca la conexión en el programa Java.

(El programa Java utiliza LocalDateTime para obtener la fecha actual).

La hora está ahora fijada. ¡Divertirse

Si tiene algún problema sin solución para establecer la hora, comente a continuación y comparta su log.txt (en la misma carpeta que el frasco) conmigo. ¡Muchas gracias!