Jam Digital LCD (DS1307) dengan Menggunakan Arduino

Indobot Academy

Jam Digital LCD (DS1307) dengan Menggunakan Arduino – Real Time Clock atau RTC adalah sebuah perangkat penunjuk waktu berupa IC. RTC adalah komponen integral dari banyak aplikasi dan perangkat penting yang berhubungan dengan waktu seperti Server, GPS, Pencatat Data, dll. Ketika dihubungkan dengan Arduino dan sebuah layar, modul ini dapat berfungsi sebagai jam digital
Link RTC Lib : https://github.com/adafruit/RTClib

Gambar rangkaian Jam Digital LCD

Keterangan Sambungan :

  • Pin pada LCD :
  • Pin VSS – Ground
  • Pin VDD – 5V
  • Pin VO – Potensio
  • Pin RS – Pin 7 Arduino
  • Pin R_W – Ground
  • Pin E – Pin 6 Arduino
  • Pin DB4 – Pin 5 Arduino
  • Pin DB5 – Pin 4 Arduino
  • Pin DB6 – Pin 3 Arduino
  • Pin DB7 – Pin 2 Arduino
  • Pin A – 5V
  • Pin K – Ground

Pin pada Arduino :

  • Pin A4 – Pin SCL
  • Pin A5 – Pin SDA

Baca Juga : Mengapa Harus Ikut Bootcamp IoT di Indobot Academy

2. Alat / Bahan
  • Pertama Arduino                        : 1 buah
  • Kedua Breadboard                  : 1 buah
  • Ketiga Modul RTC DS3231    : 1 buah
  • Kemudian LCD 16×2                    : 1 buah
  • Terakhir Potensiometer 10kΩ    : 1 buah
3. Sketch Program

Dapatkan puluhan ebook gratis dengan registrasi melalui tombol di bawah!

/*
    Program Jam Digital LCD
    dibuat oleh Indobot
*/
#include <Wire.h>  //Pendeklarasian Library
#include <LiquidCrystal.h>
#include "RTClib.h"

DateTime now;
//Delkarasi Array Hari
char daysOfTheWeek[7][12] = {"Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"};

RTC_DS3231 rtc; // Pemilihan Pin dan pendeklarasian variabel
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void showDate(void);
void showTime(void);
void showDay(void);


void setup () { //Pengaturan Variabel
  Serial.begin(9600);
  lcd.begin(16, 2);
  Wire.begin();
  if (! rtc.begin())   {
    Serial.println("Couldn't find RTC Module");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  }
  rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}

void loop () { //Perulangan Program
  now = rtc.now();
  showDate();
  showDay();
  showTime();
}

void showDate() {  //Deklarasi Penampilan Tanggal
  lcd.setCursor(0, 0);
  lcd.print(now.day());
  lcd.print('/');
  lcd.print(now.month());
  lcd.print('/');
  lcd.print(now.year());
}
void showDay() {  //Deklarasi Penampilan Hari
  lcd.setCursor(11, 0);
  lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
}
void showTime() {  //Deklarasi Penampilan Waktu
  lcd.setCursor(0, 1);
  lcd.print("Time:");
  lcd.print(now.hour());
  lcd.print(':');
  lcd.print(now.minute());
  lcd.print(':');
  lcd.print(now.second());
  lcd.print("    ");
}

Kesimpulan :
Cara kerja Antarmuka Modul RTC Arduino DS3231 sangat mudah. Arduino pertama kali menginisialisasi Modul RTC dengan alamat slave-nya (0x68 untuk IC DS3231). Arduino kemudian memperbarui register internal IC RTC dengan tanggal dan waktu di mana kode tersebut disusun dan diunggah ke Arduino. Tanggal dan waktu yang diupload dapat dilihat pada layar LCD 16×2.

Jangan lupa tetap upgrade skill kamu di Indobot Academy. Kamu bisa mendapatkan berbagai tutorial project. Selanjutnya tutorial bisa kamu terapkan di dalam kehidupan sehari-hari. Tak hanya itu, Indobot sudah menyediakan semua source coding yang dibutuhkan. Sehingga kamu hanya cukup membuka satu website saja. Oleh karena itu penting untuk mempelajari hal itu.

Ingin mengadakan pelatihan Arduino / IoT (Internet of Things) bersama Indobot?

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tinggalkan komentar

whatsapp whatsapp