Orodha ya maudhui:
Video: Kuweka DS3231 RTC (Saa Saa Saa) Sahihi, Haraka na Kujiendesha Kutumia Java (+ -1s): Hatua 3
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
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
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
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
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!