/******************************************************************************* * * Projeto 51: Temperatura e Relógio Digital com módulo RTC DS3231 para Arduino * http://squids.com.br/arduino * *******************************************************************************/ #include #include DS3231 rtc(SDA, SCL); LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); uint32_t timer = 0; int control = 0; void setup() { rtc.begin(); lcd.begin(16,2); //rtc.setDOW(TUESDAY); // Altere o dia da semana SUNDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY e SATURDAY //rtc.setTime(18, 23, 0); // Altere o tempo (formato de 24horas) //rtc.setDate(24, 1, 2019); // Dia, mês, Ano } void loop() { lcd.setCursor(4,0); //lcd.print("Real Time Clock "); lcd.print(rtc.getTimeStr()); switch(control) { case 0: { lcd.setCursor(0,1); lcd.print("Data: "); lcd.print(rtc.getDateStr()); temporizador(1); break; } case 1: { lcd.setCursor(0,1); lcd.print("Dia : "); lcd.print(rtc.getDOWStr()); lcd.print(" "); temporizador(2); break; } case 2: { lcd.setCursor(0,1); lcd.print("Temp: "); lcd.print(rtc.getTemp()); lcd.print(" C"); lcd.print(" "); temporizador(3); break; } case 3: { lcd.setCursor(0,1); lcd.print(" Squids Arduino"); temporizador(0); break; } } } void temporizador(int x) { if (millis() - timer >=3000) { control = x; timer = millis(); // Atualiza a referência } }