Mündəricat:

Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması: 3 addım
Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması: 3 addım

Video: Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması: 3 addım

Video: Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması: 3 addım
Video: LDmicro 14: I2C LCD & DS3231 Real-Time Clock (Microcontroller PLC Ladder Programming with LDmicro) 2024, Noyabr
Anonim
Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması
Java (+-1s) istifadə edərək DS3231 RTC (Real Time Clock) dəqiq, sürətli və avtomatlaşdırılmış şəkildə qurulması

Bu Təlimat, bir Arduino və Arduinonun ardıcıl bağlantısını istifadə edən kiçik bir Java tətbiqindən istifadə edərək DS3231 Real Time Saatında vaxtın necə qurulacağını sizə göstərəcək.

Bu proqramın əsas məntiqi:

1. Arduino serial sorğu göndərir.

2. Java proqramı arduino -nun istədiyi günə/aya … baxır və əlaqədar məlumatları geri göndərir.

3. Bütün lazımi məlumatlar toplandıqdan sonra arduino məlumatları DS3231 -də saxlayır.

DS3231 RTC Modulu

DS3231 RTC Modulu yüksək dəqiqliyə malik nisbətən ucuz RTC moduludur. (ildə bir neçə dəqiqə)

Əsas funksionallığı yalnız kiçik fərqlərlə eyni olan müxtəlif növlər var.

Ətraflı müqayisə burada tapa bilərsiniz: DS323x Müqayisəsi | maximintegrated.com

DS3231 Alın: DS3231 | ebay.com

Məlumat cədvəli: DS3231 məlumat cədvəli | maximintegrated.com

Məlumat cədvəli: DS1307 məlumat cədvəli | maximintegrated.com

Ehtiyac duyulan hissələr

1x Arduino (Nano, Uno, MEGA və s.)

4x Jumper Telləri

1x DS3231 Modulu (DS1307 Modulu)

Addım 1: Kabel çəkmə

Kablolama
Kablolama

DS3231 -ni yuxarıdakı şəkildə göstərildiyi kimi bağlayın. Əlbəttə ki, bir çörək taxtası istifadə etmədən edə bilərsiniz, amma bir az qarışıq olacaq. Bir Arduino Nano -nu nümayiş üçün istifadə etdim, amma Uno və ya MEGA da işləməlidir. (Digərləri də işləyə bilər, amma təsdiqləmək üçün tənbələm)

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

Addım 2: Arduino Kodu

Arduino kodu
Arduino kodu

Aşağıdakı.ino faylını yükləyin və Arduino -ya yükləyin (mənim vəziyyətimdə Nano).

Eskizin düzgün işləməsi üçün aşağıdakı kitabxanaların quraşdırılması lazımdır:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Arduino -ya kod yükləməyə dair bir təlimatı burada tapa bilərsiniz (arduino.cc).

Arduino IDE -də kodun düzgün təqdim olunduğunu yoxlayın. (Yükləmə bitdi)

Sizin Arduino artıq vaxt məlumatlarını almağa hazırdır

Kodu buradan yükləyin: DS3231TimeSync.zip (mediafire.com)

Mənbəni buradan yükləyin: DS3231TimeSyncSRC.zip (mediafire.com)

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

Bitbucket anbarı: DS3231 RTC Time Sync (bitbucket.com)

Addım 3: Java Tətbiqi

Java Tətbiqi
Java Tətbiqi

1. İki dəfə tıklayaraq əvvəl yüklənmiş "DS3231Sync.jar" proqramını işə salın

2. Arduino portunuzu soruşan kiçik bir informasiya qutusu açılacaq

Arduino -nun istifadə etdiyi liman haqqında əmin deyilsinizsə, sağ altdakı Arduino IDE -yə baxın.

(Yuxarıdakı şəkillərə baxın)

3. Başqa bir informasiya qutusu açılacaq və sizdən vaxt zonasının ofsetini istəyəcək

Ofset, kompüterinizin yerli vaxtına nisbətdədir. RTC -ni yerli vaxtınıza təyin etmək üçün +00: 00 daxil edin.

Vaxt zonasına müəyyən bir formatda daxil olmaq vacibdir!

Ümumi format +hh: mm və ya -hh: mm -dir. Həmişə aparıcı sıfırları daxil edin!

(Məsələn: -03: 00; -06: 00; +09: 00; +02: 30)

4. Java Tətbiqi konsol çıxışı olan kiçik bir pəncərə açacaq

"Vaxt təyin olundu" kimi təsdiq mesajlarına diqqət yetirin.

Vaxt təyin olunan proses başa çatdıqda, kod hər 5 saniyədə DS3231 -də cari vaxtı çap edəcək. Vaxtın düzgün qurulduğunu təsdiqləyə bilərsiniz.

~ 20s -dən sonra heç bir nəticə əldə etməsəniz, arduino üzərindəki sıfırlama düyməsini basın və yenidən gözləyin.

Hələ də işləmirsə, Arduinonun eskizini yoxlayın və/və ya yenidən yükləyin. (Vacibdir: Arduino -ya yükləməzdən əvvəl Java tətbiqetməsindəki Limanı bağlayın; əks halda serial portu bloklayacaq!) Sonra Java proqramında əlaqəni sıfırlayın.

(Java proqramı, cari tarixi əldə etmək üçün LocalDateTime istifadə edir.)

İndi vaxt təyin olunur. Əylənin

Vaxt təyin etməklə bağlı hər hansı bir probleminiz varsa, aşağıda şərh yazın və log.txt (banka ilə eyni qovluqda) mənimlə paylaşın. Çox sağ olun!