Mündəricat:
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
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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ə
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
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
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!