12 tim binär klocka, timmar och minuter bara, DS1307 RTC, i2C, Arduino-Nano (6 / 7 steg)
Steg 6: Arduino NANO programmet förklaras och bibliotek som behövs /
Programmet använder den RTC och tid biblioteket som laddas ner från:
http://www.pjrc.com/teensy/td_libs_DS1307RTC.html
Se till att du packa upp arkiven i Arduino / bibliotek fil.
Jag programmerade sedan den binär klocka med en enkel decimal till binär kod. Men jag hade några problem som RTC returnerar ett värde i 24-timmarsformat, så för att övervinna detta problem jag för det första kontrollera om timmarna är noll och om det är, sätta den till 12. Om en timmes värde är större än 13 sedan subtrahera jag sedan 12. Som sorterar ut 24 timmars tid. Sedan kommer vi till inställningen tid, timmar och minuter justeras genom att lägga till "rå" tidkoden, 60 läggs till för varje minut och 3600 för varje timme.
om (digitalRead(setM) == hög)
{
osignerade långa j = RTC.get();
j = j + 60.
RTC.set(j);
}
om (digitalRead(setH) == hög)
{
osignerade långa j = RTC.get();
j = j + 3600;
RTC.set(j);
}
Det finns ett litet problem med den här koden, om du läser in denna kod i din Arduino och inget händer då du kan behöva ställa RTC med "setTime" skiss i filen Sketchbook/bibliotek/DS1307RTC/setTime. En gång lastat klicka seriell bildskärmen för att kontrollera tiden är korrekt, från vad jag kan räkna ut om du köper en ny RTC modul måste vara "igång" annars brukar den vara aktiv. Sedan ladda binaryRTC koden igen och allt ska fungera.
Jag har listat koden, men observera att inte jag är mycket bra på programmering så förvänta dig inte för mycket!