Jumat, 24 Maret 2017

Project Belajar Arduino Part 5 : Membuat Jam Menggunakan Tiny RTC DS1307

Waktu adalah urutan gerak atau peristiwa menurut persepsi yang mengamatinya, dan waktu itu relatif, karena di setiap tempat dan bagi setiap orang itu beda. Nah... dalam postingan kali ini saya ingin berbagi informasi yang bersangkutan tentang waktu, dan dapat berguna untuk yang sedang belajar tentang elektronika dan pemprograman yaitu RTC (Real Time Clock).
RTC (Real Time Clock) merupakan sebuah IC yang memiliki fungsi untuk menghitung waktu, mulai dari detik, menit, jam, tanggal, bulan, serta tahun. Ada beberapa RTC yang di jual di pasaran, seperti : DS1307, DS1302, DS12C887, DS3234.


Tiny RTC DS1307
Jam ini menggunakan baterai memungkinkan Anda untuk menjaga waktu yang cukup akurat bahkan ketika Arduino dimatikan. Yang sangat berguna dalam data logging dan aplikasi waktu sensitif lainnya.
Perangkat ini menggunakan I2C untuk berkomunikasi dengan Arduino Anda.
Yang saya miliki menggunakan sel LIR2032 Lithium.
Ada beberapa referensi internet yang dapat digunakan untuk antarmuka perangkat ini.

Pin Outs
Perangkat ini hanya menggunakan 4 pin untuk aktif.

Pemrograman RTC (Real Time Clock) DS1307 menggunakan Arduino IDE.
Tidaklah sulit untuk memprogram RTC DS1307 menggunakan Arduino IDE karena telah di sediakan library khusus untuk mengakses data DS1307, jadi kita tinggal menggunakanya.  Anda bisa mengunduh librarynya di sini.

Menghubungkan Arduino Dengan RTC

Rangkaian

Copy Paste dan Upload Sketch
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

void setup () {
    Serial.begin(9600);
    Wire.begin();
    RTC.begin();
  // Periksa apakah RTC menyimpan waktu. Jika tidak, waktu dari komputer akan di settingkan ke RTC.
  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // This will reflect the time that your sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
}
void loop () {
    DateTime now = RTC.now();
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print('/');
    Serial.print(now.year(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();    
    delay(1000);
}

Buka serial monitor dan akan tampil seperti ini


Tidak ada komentar:

Posting Komentar