Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <DS3231.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- DS3231 rtc;
- bool mode12 = false;
- byte theSecond = 55;
- byte theMinute = 01;
- byte theHour = 20;
- byte theWday = 0;
- byte theDate = 8;
- byte theMonth = 3;
- byte theYear = 24;
- bool h12;
- bool hPM;
- bool CenturyBit;
- char* myWday[] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
- char* myMonth[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
- "Aug", "Sep", "Oct", "Nov", "Dec" };
- void setup() {
- Serial.begin(9600);
- lcd.init();
- lcd.backlight();
- rtc.setClockMode(mode12);
- rtc.setSecond(theSecond);
- rtc.setMinute(theMinute);
- rtc.setHour(theHour);
- rtc.setDoW(theWday);
- rtc.setDate(theDate);
- rtc.setMonth(theMonth);
- rtc.setYear(theYear);
- }
- void loop() {
- byte cnt_S = rtc.getSecond() % 2;
- byte myHH = rtc.getHour(h12, hPM);
- byte myMM = rtc.getMinute();
- byte mySS = rtc.getSecond();
- byte myDW = rtc.getDoW();
- byte myDD = rtc.getDate();
- byte myMT = rtc.getMonth(CenturyBit);
- byte myYY = rtc.getYear();
- float lcdTemp;
- float rtcTemp = rtc.getTemperature();
- if (rtcTemp > -9999) {
- lcdTemp = rtcTemp; // it may be OK to use the returned value
- } else {
- lcdTemp = 0; // the value returned is not valid
- }
- lcd.setCursor(0, 1);
- for (myDW;;) {
- lcd.print(myWday[myDW]);
- break;
- }
- lcd.print(char(144));
- if (myDD < 10) { lcd.print('0'); }
- lcd.print(myDD);
- lcd.print(char(144));
- for (myMT;;) {
- lcd.print(myMonth[myMT]);
- break;
- }
- lcd.print(char(144));
- lcd.print("20");
- lcd.print(myYY);
- lcd.setCursor(0, 0);
- if (myHH < 10) { lcd.print(0); }
- lcd.print(myHH);
- if (cnt_S < 1) { lcd.print(':'); }
- if (cnt_S > 0) { lcd.print(char(165)); }
- if (myMM < 10) { lcd.print(0); }
- lcd.print(myMM);
- if (cnt_S < 1) { lcd.print(':'); }
- if (cnt_S > 0) { lcd.print(char(165)); }
- if (mySS < 10) { lcd.print(0); }
- lcd.print(mySS);
- if (mySS > 10) { lcd.print(char(144)); }
- lcd.setCursor(9, 0);
- lcd.print(lcdTemp);
- lcd.print(char('C'));
- lcd.print(char(223));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement