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