Esensial Modul RTC: Panduan Lengkap untuk Pengacapan Waktu Akurat
Apakah Anda memiliki perangkat elektronik yang memerlukan pengacapan waktu yang akurat? Atau apakah proyek Anda meminta Anda untuk menghitung detik, menit, jam, dan bahkan bulan?
Nah, jika Anda tidak tahu cara melakukannya, jangan khawatir, Anda berada di tempat yang tepat. Proyek yang melibatkan pengacapan waktu, bahkan ketika tidak ada daya, bisa sulit. Untungnya, kami telah menyiapkan semuanya untuk Anda.
Yang Anda butuhkan hanyalah modul jam waktu nyata (RTC). Jadi, dalam artikel ini, kita akan melihat segala sesuatu tentang modul RTC dan menunjukkan kepada Anda cara membuat proyek mudah menggunakan rangkaian modul RTC.
Siap? Lalu, mari kita mulai!
Apa itu Modul RTC?
Modul RTC
Jam waktu nyata (RTC) adalah modul jam sirkuit terintegrasi yang biasanya ditemukan dalam komputer modern, server, atau sistem tertanam. Juga, modul RTC memiliki satu tujuan; pengacapan waktu.
Perangkat ini dapat menghitung detik, menit, jam, dan tahun. Selain itu, mampu menangani berbagai aplikasi pengacapan waktu dengan akurat.
Bagaimana Modul RTC Bekerja?
Karena RTC memiliki peran yang begitu penting, ia tetap menjaga waktu bahkan ketika sistem dimatikan. Karena alasan ini, RTC dapat berfungsi sebagai pemicu untuk menyala sistem dalam peristiwa seperti jam alarm atau daya terjadwal yang ditemukan pada perangkat seluler.
Bagaimana RTC mencapai ini? Nah, sirkuit terintegrasi ini bekerja pada sumber daya yang berbeda dari yang memajang sistemnya. Oleh karena itu, RTC dapat terus beroperasi dalam situasi daya rendah atau kegagalan daya. Selain itu, Anda hanya membutuhkan sedikit arus untuk menjalankan RTC.
Selain itu, modul RTC yang lebih tua dilengkapi baterai lithium sebagai sumber daya alternatif, sementara versi yang lebih baru menggunakan superkapasitor atau baterai bantuan. Sekarang, ada perbedaan antara dua IC RTC.
Modul jam waktu nyata dengan superkapasitor memiliki fitur dapat diisi ulang, dan Anda dapat menyoldernya ke rangkaian Anda. Di sisi lain, RTC dengan baterai bantuan lebih umum karena Anda dapat menemukannya pada sebagian besar papan induk kelas konsumen. Dalam hal ini, RTC mendapatkan daya dari satu baterai. Jadi, saat Anda melepas baterai ini, ia mereset RTC dan mengembalikannya ke titik awalnya.
Selanjutnya, modul jam waktu nyata menggunakan osilator kristal untuk mengatur waktu. Jadi, mereka berbeda dari jam keras reguler karena mereka tidak memerlukan sinyal clock.
Fitur & Spesifikasi Modul RTC DS3231
Berikut adalah fitur dan spesifikasi modul DS3231:
Fitur
- Modul RTC DS3231 mampu menghitung dalam detik, menit, jam, hari, bulan, dan tahun
- Tidak membutuhkan daya tinggi untuk beroperasi
- Menggunakan baterai CR2032 untuk daya cadangannya. Baterai dapat bertahan hingga tiga tahun.
- Memiliki ukuran kecil
- Anda dapat menggunakan modul RTC DS3231 sebagai register untuk penyesuaian usia
- Anda dapat memprogram output gelombang persegi modul ini
- Datang dengan sensor suhu digital yang memiliki akurasi tambahan 3°C
- Modul RTC menggunakan antarmuka I2C 400Khz
- Memiliki dua alarm waktu sehari
- Akurasi modul RTC ini adalah: +3,5ppm hingga -3,5ppm untuk -40°C hingga + 85°C, +2ppm hingga -2pmm untuk 0°C hingga +40°C
- Otomatik beralih ke daya baterai setiap kali terjadi kegagalan daya
Spesifikasi
- Modul RTC DS3231 bekerja pada tegangan berikut: 2,3v – 5,5v
- Anda dapat menggunakan modul RTC ini pada tegangan rendah
- Saat pada daya baterai, ia hanya mengonsumsi 500mA
- Tegangan maksimum SDA dan SCL adalah VCC = 0,3V
- Memiliki suhu operasi -45°C hingga +80°C
Aplikasi
Berikut adalah beberapa kasus yang perlu dipertimbangkan dalam memahami aplikasi DS3231:
- Jika Anda khawatir tentang masalah konsumsi daya pada rangkaian Anda, DS3231 tidak memerlukan jumlah daya tinggi untuk berjalan. Jadi, Anda dapat menggunakan modul ini pada aplikasi sistem seluler atau periferal komputer.
- Meskipun ada banyak modul RTC di pasar, DS3231 dikenal karena akurasi terbaiknya. Jadi, jika Anda mencari waktu dan tanggal yang akurat untuk proyek Anda, DSC3231 memiliki yang Anda butuhkan. DS3231 mampu menjaga waktu diperbarui lebih dari modul RTC lainnya.
- Dalam kasus di mana Anda memerlukan komunikasi kecepatan tinggi, modul RTC DS3231 dapat berkomunikasi dengan antarmuka TWI yang cepat, menjadikannya pilihan untuk aplikasi seperti robotika, gaming, dan aplikasi server.
- Selain itu, Anda dapat menggunakan DS3231 untuk metode 12 dan 24 jam untuk menemukan aplikasi—terutama dalam aplikasi GPS.
- Memiliki beberapa atribut jam alarm dan sensor suhu yang membuatnya lebih berguna untuk beberapa aplikasi lain seperti aplikasi meter utilitas daya.
Konfigurasi Pin Modul RTC DS3231
Konfigurasi Pin Modul RTC DS3231
DS321 memiliki enam terminal. Namun, tidak wajib untuk menggunakan dua dari pin ini. Jadi, kami terutama memiliki empat terminal atau pin. Dan Anda dapat melihatnya di sisi tambahan modul. Berikut adalah konfigurasi pin modul RTC DS3231:
| NAMA PIN | DESKRIPSI |
| VCC | Terhubung ke terminal positif sumber energi |
| GND | Terhubung ke ground |
| SDA | Pin data serial (antarmuka I2C) |
| SCL | Pin clock serial (antarmuka I2C) |
| SQW | Pin output gelombang persegi |
| 32K | Output osilator 32k |
Cara Menggunakan Modul RTC DS3231
Anda hanya dapat berkomunikasi dengan modul RTC DS3231 melalui antarmuka I2C. Antarmuka I2C menangani data yang dikirim dan diterima dari DS3221. Jadi, Anda dapat mendapatkan informasi waktu dan tanggal apa pun melalui I2C.
DS3231 dan I2C
Selain itu, transmisi di antara modul dan I2C kompleks. Plus, komunikasi berlangsung dalam format byte. Jadi, akan lebih baik jika Anda menggunakan pustaka yang ditulis khusus untuk DS3231. Mengapa? Nah, menggunakan pustaka meningkatkan komunikasi. Jadi, Anda dapat mengunduh pustaka DS3231 dan menggunakan program untuk memanggilnya.
Oleh karena itu, setelah Anda menyertakan file header, pengontrol mulai berkomunikasi dan menunjukkan waktu dan tanggal kepada Anda. Yang lebih baik lagi, Anda dapat menggunakan pustaka ini untuk mengontrol dan mengatur alarm dengan mudah.
Selain itu, ketika ada daya rendah atau tidak ada daya, modul RTC akan secara otomatis mengambil daya dari baterai sebagai gantinya, memungkinkan chip untuk memberikan waktu dan data yang akurat secara berkelanjutan. Setelah sistem mulai lagi, komunikasi antara pengontrol dan modul dapat melanjutkan tanpa kesalahan.
Proyek: Jam Kalender Arduino
Dalam bagian ini, kita akan belajar cara menggunakan jam waktu nyata dengan Arduino dan membangun proyek jam kalender Arduino.
Desain Rangkaian
Ini adalah desain jam kalender Arduino sederhana menggunakan modul RTC DS3231. Karena IC2, kami menghubungkan semua perangkat ke bus umum yang terdiri dari empat kabel saja:
Diagram Rangkaian Jam Kalender Arduino
Komponen yang Diperlukan
Berikut adalah bahan yang Anda butuhkan untuk proyek ini:
- (1) Arduino Uno
- (1) Papan roti
- (1) LCD karakter 16×2 I2C
- Kabel jumper
- (1) Modul jam waktu nyata DS3232
Kode
Di sini, kita akan menggunakan pustaka dan membuat fungsi khusus untuk membuat kode kami lebih mudah dan lebih mudah dibaca. Jadi, proyek ini akan menggunakan pustaka berikut:
- Pustaka Wire. h untuk antarmuka I2C
- Pustaka LiquidCrystal_I2C.h (oleh Frank de Brabander) untuk modul LCD 16×2 I2C
- Pustaka RTClib.h (oleh Adafruit) untuk modul RTC DS3231
Setelah Anda mengunduh pustaka ini, tambahkan ke kode Anda melalui kata kunci #include . Jadi, dengan ini, kita akan mengatur dua objek. Yang pertama adalah lcd() dan yang lainnya adalah rtc. Dua objek ini akan membantu berkomunikasi dengan modul LCD dan DS3231.
Kode untuk LCD() dan rtc
Selanjutnya, buat dua fungsi khusus sehingga Anda dapat dengan mudah mengelola kode Anda. Fungsi pertama yang akan Anda code adalah updateRTC(). Ini adalah fungsi yang meminta pengguna untuk memasukkan tanggal dan waktu saat ini dan memperbarui jam internal RTC dengan input.
Kode untuk updateRTC()
Selanjutnya, buat dua fungsi khusus sehingga Anda dapat dengan mudah mengelola kode Anda. Fungsi pertama yang akan Anda code adalah updateRTC(). Ini adalah fungsi yang meminta pengguna untuk memasukkan tanggal dan waktu saat ini dan memperbarui jam internal RTC dengan input.
Kode untuk updateRTC()
Fungsi berikutnya yang akan Anda buat adalah fungsi updateLCD(). Ini bertanggung jawab untuk memperbarui teks yang akan ditampilkan LCD.
Kode untuk updateLCD() 2
Langkah terakhir dalam membuat kode kami adalah menambahkan fungsi normal untuk Arduino: setup() dan loop(). Berikut adalah kode untuk dua fungsi:
Kode untuk setup()
Kode untuk loop()
Akhirnya, unggah kode Anda, dan Arduino Uno Anda seharusnya mulai menampilkan tanggal dan waktu pada LCD.
Penutup
Modul RTC adalah metode murah dan sederhana untuk menambahkan kemampuan pengacapan waktu ke rangkaian Anda. Yang kami tunjukkan kepada Anda hanyalah goresan permukaan. Jika Anda mengotak-atik lebih banyak, Anda akan menemukan banyak cara menyenangkan lainnya untuk menggunakan modul ini.
Penting untuk disebutkan bahwa jika Anda tidak dapat menemukan DS3231 di pasar, DS12C997 dan DS1307 adalah setara yang layak. Juga, untuk proyek Arduino yang disebutkan di atas, Anda dapat menggunakan serial monitor Anda untuk memodifikasi tanggal dan waktu proyek Anda. Yang perlu Anda lakukan hanyalah mengetik huruf “U” dan mengikuti petunjuk. Itu merangkum artikel ini. Jika Anda memiliki pertanyaan, jangan ragu untuk menghubungi kami, dan kami akan senang membantu Anda.