top of page

Jam Digital Arduino Uno R3 + Modul RTC DS3231 + Ucapan Selamat Pagi, Siang, dan Malam+ Suhu

بسم الله الرحمن الرحيم

Assalamu'alaykum Warrohmatullaahi Wabarokaatuh.

Haloo, ini post pertama saya. Di post pertama saya ini akan menjelaskan tentang cara pembuatan jam digital dengan rtc DS3231. Apasih RTC itu, RTC (Real time clock) adalah jam elektronik berupa chip yang dapat menghitung waktu (mulai detik hingga tahun) dengan akurat dan menjaga/menyimpan data waktu tersebut secara real time. Disini kita akan membuat jam digital dengan tampilan dari LCD keypad shield + ucapan selamat pagi, siang, atau malam yang dapat di custom. wah berasa gak jomblo dong he he he. Langsung aja kita ke topik pembicaraan,

Oke pertama barang yang diperlukan sebagai berikut:

1. Arduino Uno R3

2. Modul RTC DS3231

3. Jumper

4. LCD keypad shield

Oke selanjutnya langkah-langkah pembuatannya :

1. Pasang LCD Keypad shield ke arduino. disini ane menggunakan lcd keypad shield agar mempermudah dalam menampilkan jam nya.

2. Hubungkan RTC DS3231 dengan pin yang ada di lcd keypad shield

Vcc RTC >>> Vcc 3.3 V (sesuai datasheet)

SCL RTC >>> Pin A3 (ane gunakan ini, bisa diganti kok)

SDA RTC >>>Pin A4 (Sama ini juga bisa diubah)

GND RTC >>> pin GND pada LCD keypad Shield

3. Setelah terhubung, masukkan source code berikut

#include <DS3231.h> #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Init the DS3231 using the hardware interface DS3231 rtc(SDA, SCL); Time t; //pencacah string time()

//Mengambil waktu jam dari waktu Compile/Upload di system Windows //digunakan untuk setting RTC pertama kali uint8_t hh = 0, mm = 0, ss = 0, dd = 0, bb = 0; int yy = 0; String Day = " "; String Month = " "; int speaker = A1; //analog clock float sx = 0, sy = 1, mx = 1, my = 0, hx = -1, hy = 0; // Saved H, M, S x & y multipliers float sdeg = 0, mdeg = 0, hdeg = 0; uint16_t osx = 120, osy = 120, omx = 120, omy = 120, ohx = 120, ohy = 120; // Saved H, M, S x & y coords

void setup() { pinMode(speaker, OUTPUT);// Setup Serial connection Serial.begin(9600); // Uncomment the next line if you are using an Arduino Leonardo //while (!Serial) {} // Initialize the rtc object //pinMode (0, OUTPUT); //Untuk Fungsi Alarm rtc.begin(); //Memulai RTC

//Gunakan untuk setting RTC pertama kali (setelah RTC di setup upload ulang tanpa kode set RTC) rtc.setTime (12,30,30); //set jam (hh,mm,ss) rtc.setDate(8, 12, 2016); //set tanggal (dd,bb,yyyy) rtc.setDOW(THURSDAY); // Set Day-of-Week to SUNDAY lcd.begin(16,2); }

// digunakan untuk mengatur waktu rtc.setTime(12, 0, 0); // Atur Waktu ke 12:00:00 (24hr format) rtc.setDate(1, 1, 2014); // Atur tanggal January 1st, 2014

void loop() { t = rtc.getTime(); Day = rtc.getDOWStr(); //mengambil data String nama Hari Month = rtc.getMonthStr(1); //mengambil data String nama Bulan

hh = t.hour,DEC; mm = t.min,DEC; ss = t.sec,DEC; dd = t.date,DEC; bb = t.mon,DEC; yy = t.year,DEC;

time: { lcd.clear(); lcd.setCursor(0,0); if(hh<10){lcd.print ("0");} lcd.print (hh); lcd.print (":"); if(mm<10){lcd.print ("0");} lcd.print (mm); lcd.print (":"); if(ss<10){lcd.print ("0");} lcd.print (ss); lcd.setCursor (10,0); lcd.print (rtc.getTemp()); //menampilkan suhu lcd.print ("'C");

lcd.setCursor (0,1); lcd.print (Day); lcd.print ("."); lcd.print (dd); lcd.print ("."); lcd.print (Month); lcd.print ("."); lcd.print (yy); delay(400); { if(hh==4&&mm==59) {lcd.clear();} goto pagi; if(hh==5) {lcd.clear();} goto time;

pagi: {if(hh==4&&mm==59) {lcd.setCursor (2,0); lcd.print("Selamat Pagi");//jam 4.59 tampilkan "Selamat Pagi" delay(400); lcd.clear();}}

if(hh==11&&mm==59) {lcd.clear();} goto siang; if(hh==12) {lcd.clear();} goto time;

siang: {if(hh==11&&mm==59) {lcd.setCursor (2,0); lcd.print("Selamat Siang");//jam 11.59 tampilkan "Selamat Siang" delay(400); lcd.clear();}}

if(hh==18&&mm==59) {lcd.clear();} goto malam; if(hh==19) {lcd.clear();} goto time;

malam: {if(hh==18&&mm==59) {lcd.setCursor (2,0); lcd.print("Selamat Malam");//jam 18.59 tampilkan "Selamat Malam" delay(400); lcd.clear();}} }}}

4. Setelah source code di upload maka jam digital nya sudah bisa digunakan.

Semoga bermanfaat buat agan-agan.

Featured Review
!
Widget Didn’t Load
Check your internet and refresh this page.
If that doesn’t work, contact us.
Tag Cloud

© 2016 by Bagus Satrio Utomo 

  • Grey Facebook Icon
  • Grey Twitter Icon
  • Grey Google+ Icon
bottom of page