Program Utama
=================================Source Code================================
#include "Time.h" //Time Library
#include "DS1307RTC.h" //Real Time Clock Library
#include "Wire.h" //Auxiliary Library for DS1307RTC (Real-Time Clock) - Pins to Arduino UNO: A4 (SDA), A5 (SCL)
#define LATCH 4
#define CLK 3
#define DATA 2
//This is the hex value of each number stored in an array by index num
byte digit[11]= {0x7E, 0x0C, 0xB6, 0x9E, 0xCC, 0xDA, 0xFA, 0x0E, 0xFE, 0xDE};//tanpa uln2003
byte dot[11]= {0x7F, 0x0D, 0xB7, 0x9F, 0xCD, 0xDB, 0xFB, 0x0F, 0xFF, 0xDF};//tanpa uln2003
int Jam, Menit,Detik, temp, umid, Tanggal, Bulan, Tahun;
int satuanJam, satuanMenit,satuanDetik;
int puluhanJam, puluhanMenit,puluhanDetik;
void setup(){
pinMode(LATCH, OUTPUT);
pinMode(CLK, OUTPUT);
pinMode(DATA, OUTPUT);
Wire.begin();
setSyncProvider(RTC.get);
}
void loop(){
Jam = hour();
Menit = minute();
Detik = second();
satuanJam = Jam % 10;
puluhanJam = Jam / 10;
satuanMenit = Menit % 10;
puluhanMenit = Menit / 10;
satuanDetik = Detik % 10;
puluhanDetik = Detik / 10;
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLK, MSBFIRST, ~digit[satuanMenit]);
shiftOut(DATA, CLK, MSBFIRST, ~digit[puluhanMenit]);
shiftOut(DATA, CLK, MSBFIRST, ~digit[satuanJam]);
shiftOut(DATA, CLK, MSBFIRST, ~digit[puluhanJam]);
digitalWrite(LATCH, HIGH);
delay(500);
digitalWrite(LATCH, LOW);
shiftOut(DATA, CLK, MSBFIRST, ~dot[satuanMenit]);
shiftOut(DATA, CLK, MSBFIRST, ~dot[puluhanMenit]);
shiftOut(DATA, CLK, MSBFIRST, ~dot[satuanJam]);
shiftOut(DATA, CLK, MSBFIRST, ~dot[puluhanJam]);
digitalWrite(LATCH, HIGH);
delay(500);
}
13>
No comments
Post a Comment