Taula de continguts:

Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1s): 3 passos
Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1s): 3 passos

Vídeo: Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1s): 3 passos

Vídeo: Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1s): 3 passos
Vídeo: Pwnagotchi: установка Pwnagetty: инструкции 2024, Desembre
Anonim
Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1 s)
Configuració del DS3231 RTC (rellotge en temps real) de manera precisa, ràpida i automatitzada mitjançant Java (+ -1 s)

Aquesta instrucció us mostrarà com configurar l'hora en un rellotge en temps real DS3231 mitjançant un Arduino i una petita aplicació Java que utilitza la connexió sèrie de l'Arduino.

La lògica bàsica d’aquest programa:

1. L'Arduino envia una sol·licitud en sèrie.

2. El programa Java busca quin dia / mes / … l’arduino va sol·licitar i li torna les dades rellevants.

3. Després de reunir tota la informació necessària, arduino emmagatzema les dades al DS3231.

El mòdul RTC DS3231

El mòdul RTC DS3231 és un mòdul RTC relativament barat amb una alta precisió. (uns minuts a l'any)

Hi ha diferents varietats la funcionalitat bàsica de les quals és la mateixa amb diferències menors.

Podeu trobar una comparació detallada aquí: Comparació DS323x | maximintegrated.com

Comprar DS3231: DS3231 | ebay.com

Full de dades: DS3231 Full de dades | maximintegrated.com

Full de dades: DS1307 Full de dades | maximintegrated.com

Parts necessàries

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

4x cables de pont

1 mòdul DS3231 (mòdul DS1307)

Pas 1: cablejat

Cablejat
Cablejat

Connecteu el DS3231 tal com es mostra a la imatge superior. Per descomptat, podeu fer-ho sense fer servir una taula de treball, però serà una mica més desordenat. He utilitzat un Arduino Nano per a demostracions, però un Uno o un MEGA també haurien de funcionar. (Pot ser que altres també funcionin, però em fa mandra confirmar-ho)

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

Pas 2: el codi Arduino

El codi Arduino
El codi Arduino

Descarregueu el fitxer.ino des de baix i pengeu-lo al vostre Arduino (en el meu cas un Nano).

L'esbós necessita les biblioteques següents instal·lades per funcionar correctament:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Aquí es pot trobar un tutorial sobre com penjar codi al vostre arduino (arduino.cc).

A l'IDE d'Arduino comproveu que el codi s'ha enviat correctament. (S'ha fet la càrrega)

El vostre Arduino ja està a punt per rebre informació horària

Baixeu-vos el codi aquí: DS3231TimeSync.zip (mediafire.com)

Descarregueu la font aquí: DS3231TimeSyncSRC.zip (mediafire.com)

Dipòsit de GitHub: DS3213 RTC Time Sync (github.com)

Dipòsit de Bitbucket: DS3231 RTC Time Sync (bitbucket.com)

Pas 3: l'aplicació Java

L’aplicació Java
L’aplicació Java

1. Executeu "DS3231Sync.jar" descarregat abans fent doble clic

2. S'obrirà un petit diàleg que us demanarà el port del vostre arduino

Si no teniu dubtes sobre el port que fa servir el vostre arduino, doneu un cop d'ull a l'IDE Arduino a la part inferior dreta.

(Veure imatges més amunt)

3. S'obrirà un altre diàleg i us demanarà un desplaçament de la zona horària

El desplaçament és relatiu a l'hora local de l'ordinador. Per configurar el RTC a la vostra hora local, només cal que introduïu +00: 00.

És fonamental que introduïu el desplaçament de la zona horària en un format específic.

El format general és + hh: mm o -hh: mm. Incloeu sempre zeros inicials.

(Per exemple: -03: 00; -06: 00; +09: 00; +02: 30)

4. L’aplicació Java obrirà una petita finestra amb sortida de consola

Vigileu els missatges de confirmació com ara: "S'ha acabat el temps"

Quan finalitzi el procés de temps, el codi imprimirà l'hora actual al DS3231 cada 5 segons. Podeu confirmar que l'hora s'estableix correctament.

Si no obteniu cap sortida després dels 20 anys, premeu el botó de restabliment del vostre arduino i espereu de nou.

Si encara no funciona, verifiqueu l'esbós a l'Arduino i / o torneu-lo a penjar. (Important: tanqueu el port a l'aplicació Java abans de carregar-lo a l'Arduino; en cas contrari bloquejarà el port sèrie!) A continuació, restableix la connexió al programa Java.

(El programa Java utilitza LocalDateTime per obtenir la data actual.)

Ara s’ha establert l’hora. Diverteix-te

Sabíeu que teniu algun problema que no es pot solucionar quan definiu l'hora, si us plau, comenteu-ho a continuació i compartiu-me el log.txt (a la mateixa carpeta que el pot). Moltes gràcies!