Kazalo:

Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s): 3 koraki
Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s): 3 koraki

Video: Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s): 3 koraki

Video: Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s): 3 koraki
Video: Как построить ПЛК Arduino с модулем часов реального времени и поворотным энкодером 2024, November
Anonim
Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s)
Nastavitev DS3231 RTC (ura v realnem času) natančno, hitro in avtomatizirano z uporabo Java (+-1 s)

Ta Instructable vam bo pokazal, kako nastaviti uro na realnem času DS3231 z uporabo Arduina in majhne aplikacije Java, ki uporablja serijsko povezavo Arduina.

Osnovna logika tega programa:

1. Arduino pošlje serijsko zahtevo.

2. Program Java preveri, kateri dan/mesec/… je arduino zahteval in pošlje ustrezne podatke nazaj.

3. Ko so zbrane vse potrebne informacije, arduino shrani podatke v DS3231.

Modul RTC DS3231

Modul RTC DS3231 je relativno poceni modul RTC z visoko natančnostjo. (nekaj minut na leto)

Obstajajo različne sorte, katerih osnovna funkcionalnost je enaka, le z manjšimi razlikami.

Podrobno primerjavo najdete tukaj: Primerjava DS323x | maximintegrated.com

Kupite DS3231: DS3231 | ebay.com

Podatkovni list: Podatkovni list DS3231 | maximintegrated.com

Podatkovni list: DS1307 Podatkovni list | maximintegrated.com

Potrebni deli

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

4x mostične žice

1x modul DS3231 (modul DS1307)

1. korak: Ožičenje

Ožičenje
Ožičenje

Povežite DS3231, kot je prikazano na zgornji sliki. Seveda lahko to storite brez uporabe mize, vendar bo nekoliko bolj zapleteno. Za predstavitev sem uporabil Arduino Nano, vendar bi morala delovati tudi Uno ali MEGA. (Morda bodo delovali tudi drugi, vendar sem len, da potrdim)

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

2. korak: Koda Arduino

Koda Arduino
Koda Arduino

Prenesite datoteko.ino od spodaj in jo naložite v svoj Arduino (v mojem primeru Nano).

Za pravilno delovanje skice so potrebne naslednje knjižnice:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Vadnico o tem, kako naložiti kodo na svoj arduino, najdete tukaj (arduino.cc).

V Arduino IDE preverite, ali je bila koda pravilno predložena. (Nalaganje končano)

Vaš Arduino je zdaj pripravljen prejemati informacije o času

Kodo prenesite tukaj: DS3231TimeSync.zip (mediafire.com)

Prenesite vir tukaj: DS3231TimeSyncSRC.zip (mediafire.com)

Skladišče GitHub: DS3213 RTC Time Sync (github.com)

Skladišče Bitbucket: DS3231 RTC Time Sync (bitbucket.com)

3. korak: Aplikacija Java

Aplikacija Java
Aplikacija Java

1. Zaženite "DS3231Sync.jar", ki ste ga prej naložili, tako da ga dvokliknete

2. Odprlo se bo majhno pogovorno okno, ki vas bo prosilo za vrata vašega arduina

Če niste prepričani o vratih, ki jih uporablja vaš arduino, poglejte v Arduino IDE spodaj desno.

(Glej slike zgoraj)

3. Odprlo se bo drugo pogovorno okno in vas prosilo za zamik časovnega pasu

Odmik je odvisen od lokalnega časa vašega računalnika. Če želite RTC nastaviti na lokalni čas, vnesite +00: 00.

Pomembno je, da zamik časovnega pasu vnesete v določeni obliki!

Splošni format je +hh: mm ali -hhh: mm. Vedno vključite vodilne ničle!

(Npr.: -03: 00; -06: 00; +09: 00; +02: 30)

4. Java aplikacija bo odprla majhno okno z izhodom konzole

Bodite pozorni na potrditvena sporočila, kot so: "Čas je nastavljen"

Ko se postopek nastavitve časa konča, bo koda vsakih 5 sekund natisnila trenutni čas na DS3231. Lahko potrdite, da je čas pravilno nastavljen.

Če po ~ 20 sekundah ne dobite izhoda, pritisnite gumb za ponastavitev na arduinu in znova počakajte.

Če še vedno ne deluje, preverite skico na Arduinu in/ali jo naložite znova. (Pomembno: Preden naložite v Arduino, zaprite vrata v aplikaciji Java; sicer bodo blokirali serijska vrata!) Nato ponastavite povezavo v programu Java.

(Program Java uporablja LocalDateTime za pridobitev trenutnega datuma.)

Čas je zdaj nastavljen. Zabavaj se

Če imate kakršne koli nerešljive težave pri nastavitvi časa, komentirajte spodaj in delite svoj log.txt (v isti mapi kot kozarec) z mano. Najlepša hvala!