rendered paste body#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
/////////////////Variable
byte data;
byte value;
byte digit1;
byte digit2;
byte digit3;
byte digit4;
byte datadigit1;
byte datadigit2;
byte datadigit3;
byte datadigit4;
byte temp;
byte tempdigit1;
byte tempdigit2;
byte uren;
byte minuten;
void setup() {
pinMode(8, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, INPUT);
digitalWrite(10, 1);
// RTC.adjust(DateTime(__DATE__, __TIME__));
Wire.begin();
RTC.begin();
Serial.begin(9600);
}
void loop() {
//////////////////// haal tijd op en sla op in een variable.
DateTime now = RTC.now();
minuten = now.minute();
uren = now.hour();
digit1 = uren/10;
digit2 = uren%10;
digit3 = minuten/10;
digit4 = minuten%10;
///////////////////////////
byte myarray[12]={239,192,118,242,216,186,190,224,254,250,22,16}; //decimale getalen opgeslagen in array.
///
if (uren < 24)
{
///Zet de getallen vanuit de array in variable.
datadigit1 = myarray[digit1];
datadigit2 = myarray[digit2];
datadigit3 = myarray[digit3];
datadigit4 = myarray[digit4];
}
else
{
///Als ds1307 niet verbonden is geef - - - - aan.
datadigit1 = myarray[11];
datadigit2 = myarray[11];
datadigit3 = myarray[11];
datadigit4 = myarray[11];
}
//////////////////////////////////// Stuur data naar registers.
digitalWrite(8, LOW);
shiftOut(11, 12, MSBFIRST, datadigit4); //digit4
shiftOut(11, 12, MSBFIRST, datadigit3); //digit3
shiftOut(11, 12, MSBFIRST, datadigit2); //digit2
shiftOut(11, 12, MSBFIRST, datadigit1); //digit1
digitalWrite(8, HIGH);
////////////////////////////////
}
// 0 = B11101111` 239
// 1 = B11000000 192
// 2 = B01110110 118
// 3 = B11110010 242
// 4 = B11011000 216
// 5 = B10111010 186
// 6 = B10111110 190
// 7 = B11100000 224
// 8 = B11111110 254
// 9 = B11111010 250
// C = B00010110 22
// - = B00010000 16