Sabtu, 26 November 2016

JAM DIGITAL DAN KALENDER DENGAN ARDUINO DAN RTC DS1307

Asssalamualaikum wr.wb, Hallo sobat legion , di tutorial kali ini kita akan membuat jam Digital menggunakan arduino (kita mengggunakan nano) dan RTC DS1307. Nahhh... dengan menggunakan modul RTC kita akan dimudahkan untuk pengembangan projek yang berhubungan dengan timing dan tentunya lebih akurat. Ooooh yaa sobat Legion kali ini kita akan menggunak LCD (2x16) sebagai display. Kagak usah berleha – leha ,Okeee langsung saja let’s do it ....

ALAT YANG DIPERLUKAN ANTARA LAIN :
·         - Arduino nano (1 Buah)
·         - Modul RTC DS1307 (1 Buah)
·          -LCD 2x16 (1 Buah)
·         - Potensiometer 10 KΩ (1 Buah)
·         - Project board (1 Buah)
·          - Kabel jumper (secukupnya)
·         - Library DS1307RTC dan time.h  
Tahapan kerja :
1.      Tambahkan Library DS1307RTC dan time.h pada software arduino anda (buka folder anda tempat penyimpanan arduino,lalu copykan library pada menu library)

1.      Sambungkan arduino ke laptop/PC menggunakan kabel serial
2.      Setelah itu jalankan program arduinonya
3.      Klik tools >> board >> Arduino nano
4.      Klik tools >> Port >> Pilih port yang terdeteksi
5.      Lalu masukkan program dibawah.
6.      Kemudian Upload. SELESAI JJJJJ

Programnya::

#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd (12,11,10,9,8,7);
void setup() {
  lcd.begin(16,2);
  while (!Serial) ; // wait for lcd
  delay(200);
}

void loop() {
  tmElements_t tm;

  if (RTC.read(tm)) {
    lcd.setCursor (0,0);
    lcd.print("Time = ");
    print2digits(tm.Hour);
    lcd.print(':');
    print2digits(tm.Minute);
    lcd.print(':');
    print2digits(tm.Second);
    lcd.setCursor (0,1);
    lcd.print("Date= ");
    lcd.print(tm.Day);
    lcd.print('/');
    lcd.print(tm.Month);
    lcd.print('/');
    lcd.print(tmYearToCalendar(tm.Year));
  } else {
    if (RTC.chipPresent()) {
      lcd.print("The DS1307 is stopped.  Please run the SetTime");
      lcd.print("example to initialize the time and begin running.");
    } else {
      lcd.print("DS1307 read error!  Please check the circuitry.");

    }
    delay(9000);
  }
  delay(1000);
}

void print2digits(int number) {
  if (number >= 0 && number < 10) {
    lcd.print('0');
  }
  lcd.print(number);
}

hasilnya:










TERIMAKSIH TELAH BERKUNJUNG, SELAMAT MENCOBA DAN SEMOGA BERMANFAAT






\

Tidak ada komentar:

Posting Komentar