Stap 7: Het volledige programma.
#include < Wire.h >
#include < Time.h >
#include < DS1307RTC.h >
Const int setH = 14; knop voor verhoging van het uur
Const int setM = 15; knop voor de verhoging van de minuut
Const int UnitMin01 = 12;
Const int UnitMin02 = 9;
Const int UnitMin04 = 8;
Const int UnitMin08 = 7;
Const int UnitTen01 = 2;
Const int UnitTen02 = 11;
Const int UnitTen04 = 10;
Const int UnitHrs01 = 3;
Const int UnitHrs02 = 4;
Const int UnitHrs04 = 5;
Const int UnitHrs08 = 6;
VOID Setup
{
delay(200);
pinMode (setH, INPUT);
pinMode (setM, INPUT);
pinMode (UnitMin01, uitvoer);
pinMode (UnitMin02, uitvoer);
pinMode (UnitMin04, uitvoer);
pinMode (UnitMin08, uitvoer);
pinMode (UnitTen01, uitvoer);
pinMode (UnitTen02, uitvoer);
pinMode (UnitTen04, uitvoer);
pinMode (UnitHrs01, uitvoer);
pinMode (UnitHrs02, uitvoer);
pinMode (UnitHrs04, uitvoer);
pinMode (UnitHrs08, uitvoer);
}
void loop
{
tmElements_t tm;
Als (RTC.read(tm))
{
Als (digitalRead(setM) == HIGH)
{
niet-ondertekende lange j = RTC.get();
j = j + 60;
RTC.set(j);
}
Als (digitalRead(setH) == HIGH)
{
niet-ondertekende lange j = RTC.get();
j = j + 3600;
RTC.set(j);
}
binaryOutputHours (tm. Uur);
binaryOutputMinutes (tm. Minuut);
}
delay(1000);
}
VOID binaryOutputHours(int number)
{
Als (nummer == 0)
{
aantal = 12;
}
Als (nummer > = 13)
{
aantal = aantal - 12;
}
setBinaryHours(number);
}
VOID binaryOutputMinutes(int number)
{
Als (nummer > = 10)
{
int tientallen = nummer/10;
int eenheden = aantal - (trans-Europese netwerken * 10);
setBinaryMins(units);
setBinaryTens(tens);
}
anders
{
int tientallen = 0;
int eenheden = nummer;
setBinaryMins(units);
setBinaryTens(tens);
}
}
VOID setBinaryMins(int units)
{
Als (eenheden > = 8)
{
digitalWrite (UnitMin08, hoge);
eenheden = eenheden - 8;
}
anders
{
digitalWrite (UnitMin08, laag);
}
Als (eenheden > = 4)
{
digitalWrite (UnitMin04, hoge);
eenheden = eenheden - 4;
}
anders
{
digitalWrite (UnitMin04, laag);
}
Als (eenheden > = 2)
{
digitalWrite (UnitMin02, hoge);
eenheden = eenheden - 2;
}
anders
{
digitalWrite (UnitMin02, laag);
}
Als (eenheden > = 1)
{
digitalWrite (UnitMin01, hoge);
eenheden = eenheden - 1;
}
anders
{
digitalWrite (UnitMin01, laag);
}
}
VOID setBinaryTens(int tens)
{
Als (tientallen > = 4)
{
digitalWrite (UnitTen04, hoge);
tientallen = tens - 4;
}
anders
{
digitalWrite (UnitTen04, laag);
}
Als (tientallen > = 2)
{
digitalWrite (UnitTen02, hoge);
tientallen = tens - 2;
}
anders
{
digitalWrite (UnitTen02, laag);
}
Als (tientallen > = 1)
{
digitalWrite (UnitTen01, hoge);
tientallen = tens - 1;
}
anders
{
digitalWrite (UnitTen01, laag);
}
}
VOID setBinaryHours(int hours)
{
Als (uur > = 8)
{
digitalWrite (UnitHrs08, hoge);
uren = uren - 8;
}
anders
{
digitalWrite (UnitHrs08, laag);
}
Als (uur > = 4)
{
digitalWrite (UnitHrs04, hoge);
uren = uren - 4;
}
anders
{
digitalWrite (UnitHrs04, laag);
}
Als (uur > = 2)
{
digitalWrite (UnitHrs02, hoge);
uren = uren - 2;
}
anders
{
digitalWrite (UnitHrs02, laag);
}
Als (uur > = 1)
{
digitalWrite (UnitHrs01, hoge);
uren = uren - 1;
}
anders
{
digitalWrite (UnitHrs01, laag);
}
}