Mundarija:

Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash: 3 qadam
Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash: 3 qadam

Video: Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash: 3 qadam

Video: Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash: 3 qadam
Video: LDmicro 14: ЖК-дисплей I2C и часы реального времени DS3231 (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Noyabr
Anonim
Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash
Java (+-1s) yordamida DS3231 RTC (real vaqt soati) ni aniq, tez va avtomatik sozlash

Bu ko'rsatma sizga Arduino va Arduino -ning ketma -ket ulanishini ishlatadigan kichik Java ilovasi yordamida DS3231 real vaqtda soatni qanday sozlash kerakligini ko'rsatib beradi.

Ushbu dasturning asosiy mantig'i:

1. Arduino ketma -ket so'rov yuboradi.

2. Java dasturi arduino qaysi kun/oy/kun talab qilganini ko'rib chiqadi va tegishli ma'lumotlarni qaytarib yuboradi.

3. Barcha kerakli ma'lumotlar yig'ilgandan so'ng, arduino ma'lumotlarni DS3231 -da saqlaydi.

DS3231 RTC moduli

DS3231 RTC moduli - yuqori aniqlikdagi nisbatan arzon RTC moduli. (yiliga bir necha daqiqa)

Turli xil navlar bor, ularning asosiy funktsiyalari bir xil, faqat kichik farqlar bilan.

Batafsil taqqoslashni bu erda topishingiz mumkin: DS323x Taqqoslash | maximintegrated.com

DS3231 sotib oling: DS3231 | ebay.com

Ma'lumotlar jadvali: DS3231 ma'lumotlar jadvali | maximintegrated.com

Ma'lumotlar jadvali: DS1307 ma'lumotlar jadvali | maximintegrated.com

Kerakli qismlar

1x Arduino (Nano, Uno, MEGA va boshqalar)

4x o'tish simlari

1x DS3231 moduli (DS1307 moduli)

1 -qadam: simlarni ulash

Ulanish
Ulanish

DS3231 simini yuqoridagi rasmda ko'rsatilganidek ulang. Albatta, siz nonni ishlatmasdan qilishingiz mumkin, lekin bu biroz chalkashroq bo'ladi. Men Arduino Nano -ni namoyish qilish uchun ishlatganman, lekin Uno yoki MEGA ham ishlashi kerak. (Boshqalar ham ishlashi mumkin, lekin men tasdiqlashga dangasa emasman)

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

2 -qadam: Arduino kodi

Arduino kodi
Arduino kodi

. Ino faylini pastdan yuklab oling va uni Arduino -ga yuklang (mening holatimda nano).

Eskiz to'g'ri ishlashi uchun quyidagi kutubxonalar o'rnatilgan bo'lishi kerak:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Arduino -ga kodni yuklash bo'yicha qo'llanmani bu erda topishingiz mumkin (arduino.cc).

Arduino IDE -da kod to'g'ri yuborilganligini tekshiring. (Yuklash tugallandi)

Sizning Arduino endi vaqt haqida ma'lumot olishga tayyor

Kodni bu yerdan yuklab oling: DS3231TimeSync.zip (mediafire.com)

Manbani bu yerdan yuklab oling: DS3231TimeSyncSRC.zip (mediafire.com)

GitHub ombori: DS3213 RTC Time Sync (github.com)

Bitbucket ombori: DS3231 RTC Time Sync (bitbucket.com)

3 -qadam: Java dasturi

Java dasturi
Java dasturi

1. Ikki marta bosish bilan oldin yuklangan "DS3231Sync.jar" dasturini ishga tushiring

2. Sizdan arduino portini so'raydigan kichik dialog ochiladi

Agar siz arduino ishlatadigan port haqida ishonchingiz komil bo'lmasa, pastki o'ngdagi Arduino IDE -ga qarang.

(Yuqoridagi rasmlarga qarang)

3. Boshqa muloqot oynasi ochiladi va sizdan vaqt mintaqasini ofsetini so'raydi

Ofset kompyuteringizning mahalliy vaqtiga bog'liq. RTC -ni mahalliy vaqtga o'rnatish uchun +00: 00 kiriting.

Vaqt zonasi ofsetini ma'lum formatda kiritish juda muhim!

Umumiy format +hh: mm yoki -hh: mm. Har doim etakchi nollarni kiriting!

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

4. Java ilovasi konsoli chiqadigan kichik oynani ishga tushiradi

Tasdiqlash xabarlarini kuzatib boring: "Vaqt tugadi"

Belgilangan vaqt tugagandan so'ng, kod har 5 soniyada DS3231 -da joriy vaqtni chiqaradi. Vaqt to'g'ri o'rnatilganligini tasdiqlashingiz mumkin.

~ 20 soniyadan keyin hech qanday natija olmasangiz, arduino -dagi reset tugmasini bosing va yana kuting.

Agar u hali ham ishlamayotgan bo'lsa, Arduino -ning eskizini tekshiring va/yoki uni qayta yuklang. (Muhim: Arduino -ga yuklamasdan oldin Java ilovasidagi Portni yoping; Aks holda u ketma -ket portni bloklaydi!) Keyin Java dasturidagi ulanishni qayta o'rnating.

(Java dasturi joriy sanani olish uchun LocalDateTime -dan foydalanadi.)

Hozir vaqt belgilangan. Maza qiling

Vaqtni belgilashda siz hal qila olmaydigan muammoga duch kelsangiz, iltimos, quyida izoh qoldiring va log.txt faylini (kavanoz bilan bir papkada) men bilan baham ko'ring. Katta rahmat!