Orodha ya maudhui:

Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3
Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3

Video: Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3

Video: Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3
Video: Lesson 99: Building Arduino Digital Clock using DS3231 LCD and Seven Segment Display 2024, Novemba
Anonim
Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, haraka na kiotomatiki Kutumia Java (+ -1s)
Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, haraka na kiotomatiki Kutumia Java (+ -1s)

Hii inayoweza kufundishwa itaonyesha jinsi ya kuweka wakati kwenye Saa Saa halisi ya DS3231 ukitumia Arduino na programu ndogo ya Java inayotumia unganisho la serial la Arduino.

Mantiki ya kimsingi ya programu hii:

1. Arduino hutuma ombi la mfululizo.

2. Programu ya Java inaonekana ni siku gani / mwezi gani /… arduino aliomba na kutuma data ya kurudisha nyuma.

3. Baada ya habari zote zinazohitajika kukusanywa arduino huhifadhi data katika DS3231.

Moduli ya DS3231 RTC

Moduli ya DS3231 RTC ni moduli ya bei rahisi ya RTC na usahihi wa hali ya juu. (dakika chache kwa mwaka)

Kuna aina tofauti ambazo utendaji wa kimsingi ni sawa na tofauti ndogo tu.

Ulinganisho wa kina unaweza kupatikana hapa: DS323x Kulinganisha | upendeleo.com

Nunua DS3231: DS3231 | ebay.com

Hati ya data: Jedwali la DS3231 | upendeleo.com

Hati ya data: DS1307 Hati ya Takwimu | upendeleo.com

Sehemu Zinazohitajika

1x Arduino (Nano, Uno, MEGA, n.k.)

Waya 4 za Jumper

Moduli ya 1x DS3231 (Moduli ya DS1307)

Hatua ya 1: Wiring

Wiring
Wiring

Waya DS3231 kama inavyoonekana kwenye picha hapo juu. Kwa kweli unaweza kuifanya bila kutumia ubao wa mkate, lakini itakuwa messier kidogo. Nimetumia Arduino Nano kwa maonyesho lakini Uno au MEGA inapaswa kufanya kazi pia. (Wengine wanaweza pia kufanya kazi lakini mimi ni mvivu kudhibitisha)

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

Hatua ya 2: Nambari ya Arduino

Nambari ya Arduino
Nambari ya Arduino

Pakua faili ya.ino kutoka chini na uipakie kwa Arduino yako (kwa upande wangu Nano).

Mchoro unahitaji maktaba zifuatazo zilizowekwa ili kufanya kazi kwa usahihi:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Mafunzo ya jinsi ya kupakia nambari kwenye arduino yako yanaweza kupatikana hapa (arduino.cc).

Katika Arduino IDE thibitisha kuwa nambari hiyo iliwasilishwa kwa usahihi. (Imemaliza kupakia)

Arduino yako iko tayari kupokea habari za wakati

Pakua nambari hapa: DS3231TimeSync.zip (mediafire.com)

Pakua chanzo hapa: DS3231TimeSyncSRC.zip (mediafire.com)

Hifadhi ya GitHub: Usawazishaji wa Saa ya DS3213 RTC (github.com)

Hifadhi ya Bitbucket: Usawazishaji wa Saa ya DS3231 RTC (bitbucket.com)

Hatua ya 3: Maombi ya Java

Maombi ya Java
Maombi ya Java

1. Run "DS3231Sync.jar" iliyopakuliwa kabla kwa kubonyeza mara mbili

2. Mazungumzo madogo yatafunguliwa yakikuuliza kwa bandari ya arduino yako

Ikiwa hautakuwa na uhakika juu ya bandari inayotumiwa na arduino yako angalia Arduino IDE chini kulia.

(Tazama picha hapo juu)

3. Mazungumzo mengine yatafunguliwa na kukuuliza upeanaji wa eneo la wakati

Malipo ni sawa na wakati wa kompyuta yako. Kuweka RTC kwa wakati wako wa ndani ingiza tu +00: 00.

Ni muhimu kwamba uingie upeo wa eneo la wakati katika muundo maalum!

Muundo wa jumla ni + hh: mm au -hh: mm. Daima ni pamoja na zero zinazoongoza!

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

4. Maombi ya Java itazindua dirisha dogo na pato la kiweko

Fuatilia ujumbe wa uthibitisho kama: "Muda umekamilika"

Mchakato wa kuweka wakati ukimaliza nambari itachapisha wakati wa sasa kwenye DS3231 kila sekunde 5. Unaweza kuthibitisha kuwa wakati umewekwa kwa usahihi.

Ikiwa hautapata pato lolote baada ya ~ 20s bonyeza kitufe cha kuweka upya kwenye arduino yako na subiri tena.

Ikiwa bado haifanyi kazi thibitisha mchoro kwenye Arduino na / au upakie tena. (Muhimu: Funga Bandari katika programu ya Java kabla ya kupakia kwenye Arduino; Vinginevyo itazuia bandari ya serial!) Kisha weka upya unganisho katika programu ya Java.

(Programu ya Java inatumia LocalDateTime kupata tarehe ya sasa.)

Wakati sasa umepangwa. Furahiya

Shoud una shida yoyote isiyoweza kutatuliwa kuweka wakati tafadhali toa maoni hapa chini na ushiriki log.txt yako (kwenye folda sawa na jar) nami. Asante sana!