Pada kesempatan ini saya akan mencoba membahas cara membuat Jam Digital dengan menggunakan Board Arduino Uno dengan settingan waktu RTC DS1307 dan tampilan LCD 16 x 2, sebelum kita melangkah ke bagian selanjutnya, silakan tambahkan dahulu Library DS1307RTC dan Time.h pada software Arduino IDE. silakan Library tersebut dapat rekan rekan download terlebih dahulu. setelah kedua Library tersebut di tambahkan sekarang kita mulai dengan mempersiapkan alat alat yang diperlukan diantaranya :
- Board Arduino Uno
- Modul LCD 16 x 2
- Modul RTC DS1307
- Trimpot 10K
- Bread Board
- Kabel Jumper Secukupnya.
Langkah selanjutnya, buat rangkaian seperti gambar dibawah :
Dibawah merupakan salah satu contoh program jam digital yang sederhana :
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
lcd.begin(16,2);
while (!Serial);
delay(200);
}
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
lcd.clear();
lcd.print("Date: ");
printkurangdarinol(tm.Day);
lcd.print("-");
printkurangdarinol(tm.Month);
lcd.print("-");
lcd.print(tmYearToCalendar(tm.Year));
lcd.setCursor(0,1);
lcd.print("Time: ");
printkurangdarinol(tm.Hour);
lcd.print(":");
printkurangdarinol(tm.Minute);
lcd.print(":");
printkurangdarinol(tm.Second);
} else {
if (RTC.chipPresent()) {
lcd.print("DS1307 Terhenti!");
} else {
lcd.print(" DS1307 Error!");
}
delay(9000);
}
delay(1000);
}
void printkurangdarinol(int nomor) {
if (nomor >= 0 && nomor < 10) {
lcd.write('0');
}
lcd.print(nomor);
}
#include <Time.h>
#include <DS1307RTC.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
void setup() {
lcd.begin(16,2);
while (!Serial);
delay(200);
}
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
lcd.clear();
lcd.print("Date: ");
printkurangdarinol(tm.Day);
lcd.print("-");
printkurangdarinol(tm.Month);
lcd.print("-");
lcd.print(tmYearToCalendar(tm.Year));
lcd.setCursor(0,1);
lcd.print("Time: ");
printkurangdarinol(tm.Hour);
lcd.print(":");
printkurangdarinol(tm.Minute);
lcd.print(":");
printkurangdarinol(tm.Second);
} else {
if (RTC.chipPresent()) {
lcd.print("DS1307 Terhenti!");
} else {
lcd.print(" DS1307 Error!");
}
delay(9000);
}
delay(1000);
}
void printkurangdarinol(int nomor) {
if (nomor >= 0 && nomor < 10) {
lcd.write('0');
}
lcd.print(nomor);
}
setelah di upload semua coding diatas, silakan lihat hasilnya pada tampilan LCD nya,
semoga pemaparan singkat diatas bisa bermanfaat, selamat mencoba.
Komentar
Posting Komentar