Beranda > Arduino, DS1307, I2C LCD > Membuat Jam sederhana Menggunakan I2C LCD dan RTC DS1307

Membuat Jam sederhana Menggunakan I2C LCD dan RTC DS1307

19 Juni 2017

Dalam tutorial kali ini kita akan membuat sebuah jam sederhana menggunakan 16×2 LCD dan RTC DS1307.

Meterial yang diperlukan dalam tutorial kali ini adalah:

1. Arduino
2. LCD 16×2
3. I2C LCD
4. RTC DS1307
5. Library untuk I2C download disini atau disini.
6. Library untuk RTC DS1307 download disini.

Pertama hubungkan kabel seperti gambar diatas.

Buat sketch seperti dibawah ini :

#include <Wire.h> 
#include <RTClib.h>
#include <LiquidCrystal_I2C.h> 

LiquidCrystal_I2C lcd(0x3F, 16, 2);

const unsigned int BUTTON_PIN = 7;

uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
RTC_DS1307 RTC;

char daysOfTheWeek[7][12] = {"Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"};
char bulan[12][12] = {"Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agu", "Sep", "Okt", "Nov", "Des"};

void setup() {
  // put your setup code here, to run once:
 Wire.begin();
 RTC.begin();
 Serial.begin(9600);
 pinMode(BUTTON_PIN, INPUT);
 lcd.begin();
  //lcd.print("Belajar I2C LCD");

if (! RTC.begin()) {
    Serial.println("RTC tidak ditemukan");
    while (1);
  }

  if (! RTC.isrunning()) {
    Serial.println("RTC tidak jalan!");
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }

 // Mengatur tanggal dan waktu sesuai dengan waktu code di compile
 //RTC.adjust(DateTime(F(__DATE__), F(__TIME__)));

 
}

void loop() {

  DateTime now = RTC.now();
    lcd.setCursor(0,0);
    lcd.print("Pukul : ");
    
    if(now.hour()<10){
    lcd.print("0");}
    
    lcd.print(now.hour(), DEC);
    lcd.print(':');
    
    if(now.minute()<10){
    lcd.print("0");}
    
    lcd.print(now.minute(), DEC);
    lcd.print(':');
    
    if(now.second()<10){
    lcd.print("0");}
    
    lcd.print(now.second(), DEC);

    lcd.setCursor(0,1);
    lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
    lcd.print(",");
    lcd.print(now.day(), DEC);
    lcd.print('/');
    
   
    //lcd.print(now.month(), DEC);
    lcd.print(bulan[now.month()]);
    lcd.print('/');
    lcd.print(now.year(), DEC);
    
   
    delay(1000);
    
}

Semoga bermanfaat…
Berbagai sumber….

%d blogger menyukai ini: