Daftar Isi:

Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s): 3 Langkah
Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s): 3 Langkah

Video: Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s): 3 Langkah

Video: Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s): 3 Langkah
Video: Cara Membaca Jam dan Tanggal dengan Modul Real Time Clock (RTC) DS1302 Arduino Uno 2024, Juli
Anonim
Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s)
Setting DS3231 RTC (Real Time Clock) Akurat, Cepat dan Otomatis Menggunakan Java (+-1s)

Instruksi ini akan menunjukkan kepada Anda cara mengatur waktu pada Jam Waktu Nyata DS3231 menggunakan Arduino dan aplikasi Java kecil yang menggunakan koneksi serial Arduino.

Logika dasar dari program ini:

1. Arduino mengirimkan permintaan serial.

2. Program Java melihat hari/bulan/… apa yang diminta arduino dan mengirimkan kembali data yang relevan.

3. Setelah semua informasi yang dibutuhkan dikumpulkan, arduino menyimpan data di DS3231.

Modul RTC DS3231

Modul RTC DS3231 adalah modul RTC yang relatif murah dengan akurasi tinggi. (beberapa menit setahun)

Ada varietas berbeda yang fungsi dasarnya sama dengan hanya perbedaan kecil.

Perbandingan terperinci dapat ditemukan di sini: Perbandingan DS323x | maximintegrated.com

Beli DS3231:DS3231 | ebay.com

Lembar Data: Lembar Data DS3231 | maximintegrated.com

Lembar Data: Lembar Data DS1307 | maximintegrated.com

Bagian yang Dibutuhkan

1x Arduino (Nano, Uno, MEGA, dll.)

4x Kabel Jumper

1x Modul DS3231 (Modul DS1307)

Langkah 1: Pengkabelan

Pengkabelan
Pengkabelan

Kawat DS3231 seperti yang ditunjukkan pada gambar di atas. Tentu saja Anda dapat melakukannya tanpa menggunakan papan tempat memotong roti, tetapi akan sedikit lebih berantakan. Saya telah menggunakan Arduino Nano untuk demonstrasi tetapi Uno atau MEGA harus bekerja juga. (Yang lain mungkin juga berfungsi tetapi saya malas mengonfirmasi)

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

Langkah 2: Kode Arduino

Kode Arduino
Kode Arduino

Unduh file.ino dari bawah dan unggah ke Arduino Anda (dalam kasus saya Nano).

Sketsa membutuhkan pustaka berikut yang diinstal agar berfungsi dengan benar:

github.com/PaulStoffregen/Time

github.com/JChristensen/DS3232RTC

Tutorial tentang cara mengupload kode ke arduino Anda dapat ditemukan di sini (arduino.cc).

Di Arduino IDE, verifikasi bahwa kode telah dikirimkan dengan benar. (Selesai mengunggah)

Arduino Anda sekarang siap menerima informasi waktu

Unduh kodenya di sini: DS3231TimeSync.zip (mediafire.com)

Unduh sumbernya di sini: DS3231TimeSyncSRC.zip (mediafire.com)

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

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

Langkah 3: Aplikasi Java

Aplikasi Java
Aplikasi Java

1. Jalankan "DS3231Sync.jar" yang telah diunduh sebelumnya dengan mengklik dua kali

2. Dialog kecil akan terbuka menanyakan port arduino Anda

Jika Anda tidak yakin tentang port yang digunakan oleh arduino Anda, lihat Arduino IDE di kanan bawah.

(Lihat gambar di atas)

3. Dialog lain akan terbuka dan menanyakan offset zona waktu

Offset relatif terhadap waktu lokal komputer Anda. Untuk mengatur RTC ke waktu lokal Anda cukup masukkan +00:00.

Sangat penting bagi Anda untuk memasukkan offset zona waktu dalam format tertentu!

Format umumnya adalah +jj:mm atau -jj:mm. Selalu sertakan angka nol di depan!

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

4. Aplikasi Java akan meluncurkan jendela kecil dengan output konsol

Perhatikan pesan konfirmasi seperti: "Waktu yang ditetapkan selesai"

Ketika proses pengaturan waktu selesai, kode akan mencetak waktu saat ini pada DS3231 setiap 5 detik. Anda dapat mengonfirmasi bahwa waktu telah diatur dengan benar.

Jika Anda tidak mendapatkan output apa pun setelah ~ 20 detik, tekan tombol reset pada arduino Anda dan tunggu lagi.

Jika masih tidak berfungsi, verifikasi sketsa di Arduino dan/atau unggah lagi. (Penting: Tutup Port di aplikasi Java sebelum mengunggah ke Arduino; Jika tidak, port serial akan diblokir!) Kemudian reset koneksi di program Java.

(Program Java menggunakan LocalDateTime untuk mendapatkan tanggal saat ini.)

Waktunya sekarang telah ditentukan. Selamat bersenang-senang

Jika Anda memiliki masalah pengaturan waktu yang tidak dapat diselesaikan, silakan komentar di bawah dan bagikan log.txt Anda (dalam folder yang sama dengan toples) dengan saya. Terima kasih banyak!