Բովանդակություն:

DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s) ՝ 3 քայլ
DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s) ՝ 3 քայլ

Video: DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s) ՝ 3 քայլ

Video: DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s) ՝ 3 քայլ
Video: Ավտոմատ Start-Stop վերահսկիչ DS3231 իրական ժամանակի ժամացույցով 2024, Նոյեմբեր
Anonim
DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s)
DS3231 RTC (Իրական ժամանակի ժամացույց) ճշգրիտ, արագ և ավտոմատացված ՝ օգտագործելով Java (+-1s)

Այս Instructable- ը ձեզ ցույց կտա, թե ինչպես կարելի է ժամանակ սահմանել DS3231 իրական ժամանակի ժամացույցի վրա `օգտագործելով Arduino- ն և փոքր Java հավելվածը, որն օգտագործում է Arduino- ի սերիական կապը:

Այս ծրագրի հիմնական տրամաբանությունը

1. Arduino- ն սերիական հարցում է ուղարկում:

2. Java ծրագիրը տեսնում է, թե որ օր/ամիս/… է arduino- ն պահանջել և հետ ուղարկում համապատասխան տվյալները:

3. Բոլոր անհրաժեշտ տեղեկատվության հավաքումից հետո arduino- ն տվյալները պահում է DS3231- ում:

DS3231 RTC մոդուլը

DS3231 RTC մոդուլը համեմատաբար էժան RTC մոդուլ է ՝ բարձր ճշգրտությամբ: (տարեկան մի քանի րոպե)

Կան տարբեր սորտեր, որոնց հիմնական ֆունկցիոնալությունը նույնն է ՝ չնչին տարբերություններով:

Մանրամասն համեմատությունը կարելի է գտնել այստեղ ՝ DS323x Համեմատություն | maximintegrated.com

Գնել DS3231: DS3231 | ebay.com

Տվյալների թերթ ՝ DS3231 Տվյալների թերթ | maximintegrated.com

Տվյալների թերթ ՝ DS1307 Տվյալների թերթ | maximintegrated.com

Պահանջվող մասեր

1x Arduino (Nano, Uno, MEGA և այլն)

4x Jumper լարեր

1x DS3231 մոդուլ (DS1307 մոդուլ)

Քայլ 1: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր

Լարացրեք DS3231- ը, ինչպես ցույց է տրված վերևում պատկերում: Իհարկե, դուք կարող եք դա անել առանց տախտակի օգտագործման, բայց դա մի փոքր խառնաշփոթ կլինի: Ես ցուցադրման համար օգտագործել եմ Arduino Nano- ն, բայց Uno- ն կամ MEGA- ն նույնպես պետք է աշխատեն: (Մյուսները նույնպես կարող են աշխատել, բայց ես ծույլ եմ հաստատել)

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

Քայլ 2: Arduino ծածկագիրը

Arduino ծածկագիրը
Arduino ծածկագիրը

Ներբեռնեք.ino ֆայլը ներքևից և վերբեռնեք ձեր Arduino- ում (իմ դեպքում `Nano):

Էսքիզը ճիշտ աշխատելու համար անհրաժեշտ է տեղադրել հետևյալ գրադարանները.

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Ձեր arduino- ում կոդը վերբեռնելու մասին ձեռնարկը կարող եք գտնել այստեղ (arduino.cc):

Arduino IDE- ում ստուգեք, որ կոդը ճիշտ է ներկայացվել: (Վերբեռնումն ավարտված է)

Ձեր Arduino- ն այժմ պատրաստ է ժամանակի մասին տեղեկատվություն ստանալու համար:

Ներբեռնեք կոդը այստեղ ՝ DS3231TimeSync.zip (mediafire.com)

Ներբեռնեք աղբյուրը այստեղ ՝ DS3231TimeSyncSRC.zip (mediafire.com)

GitHub շտեմարան. DS3213 RTC Time Sync (github.com)

Bitbucket պահեստ. DS3231 RTC Time Sync (bitbucket.com)

Քայլ 3: Java հավելված

Java հավելված
Java հավելված

1. Գործարկեք նախկինում ներբեռնված «DS3231Sync.jar» - ը ՝ կրկնակի սեղմելով այն:

2. Մի փոքր երկխոսություն կբացվի, որը ձեզանից կպահանջի ձեր arduino- ի նավահանգիստը:

Եթե վստահ չեք, որ ձեր arduino- ն օգտագործում է նավահանգիստը, նայեք ներքևի աջ մասում գտնվող Arduino IDE- ին:

(Տե՛ս վերևի նկարները)

3. Մեկ այլ երկխոսություն կբացվի և ձեզանից ժամային գոտու փոխհատուցում կպահանջի:

Օֆսեթը հարաբերական է ձեր համակարգչի տեղական ժամանակին: RTC- ը ձեր տեղական ժամանակին սահմանելու համար պարզապես մուտքագրեք +00: 00:

Կարևոր է ժամային գոտու փոխհատուցումը մուտքագրել որոշակի ձևաչափով:

Ընդհանուր ձևաչափը +hh: մմ կամ -hh: մմ է: Միշտ ներառեք առաջատար զրոներ:

(Օրինակ ՝ -03: 00; -06: 00; +09: 00; +02: 30)

4. Java հավելվածը գործարկելու է վահանակի ելքով փոքր պատուհան:

Ուշադրություն դարձրեք հաստատման հաղորդագրություններին, ինչպիսիք են ՝ «setամանակը սահմանված է»

Theամադրված գործընթացի ավարտից հետո կոդը 5 վայրկյանում տպելու է ընթացիկ ժամանակը DS3231- ով: Կարող եք հաստատել, որ ժամանակը ճիշտ է դրված:

Եթե 20 ֆունտ ստերլինգից հետո որևէ արդյունք չստանաք, սեղմեք ձեր arduino- ի վերակայման կոճակը և նորից սպասեք:

Եթե այն դեռ չի աշխատում, հաստատեք Arduino- ի էսքիզը և/կամ նորից վերբեռնեք: (Կարևոր է. Arduino- ում բեռնելուց առաջ փակեք նավահանգիստը Java հավելվածում. Հակառակ դեպքում այն կարգելափակի սերիական նավահանգիստը:) Այնուհետև վերականգեք կապը Java ծրագրում:

(Java ծրագիրը օգտագործում է LocalDateTime ընթացիկ ամսաթիվը ստանալու համար):

Theամը հիմա սահմանված է: Զվարճանալ

Խնդրում եմ, որ դուք ունեք անլուծելի դժվարություն ՝ ժամանակը սահմանելու համար, խնդրում ենք մեկնաբանել ստորև և կիսվել ձեր log.txt- ով (բանկայի հետ նույն թղթապանակում) ինձ հետ: Շատ շնորհակալություն!