#include "RTClib.h"
RTC_DS1307 rtc;
#include <Wire.h> //Biblioteca utilizada para gerenciar a comunicação entre dispositivos(I2C)
#include <LiquidCrystal_I2C.h> //Biblioteca utilizada para controlar display 16x2(I2C)
#define ende 0x27 //Define o endereço do display
LiquidCrystal_I2C lcd(ende,16,2);
int sensor = 12;
int movimentoDetectado = 0; // Variável para que o sensor detecte apenas um movimento por vez
void setup() {
Serial.begin(115200);
pinMode(sensor, INPUT_PULLUP);
Wire.begin();
rtc.begin();
lcd.init();
lcd.clear();
lcd.backlight();
}
void loop() {
delay(500); // O sensor detectará movimento a cada meio segundo
int leituraSensor = digitalRead(sensor);
DateTime now = rtc.now();
if(leituraSensor == HIGH && movimentoDetectado == 0) {
movimentoDetectado = 1;
lcd.setCursor(0, 0);
lcd.print("Movimento notado");
lcd.setCursor(0, 1);
lcd.print("Hora: ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
Serial.print("Movimento detectado às ");
Serial.print(now.hour());
Serial.print(":");
Serial.print(now.minute());
Serial.print(":");
Serial.print(now.second());
Serial.println();
} else {
movimentoDetectado = 0;
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Hora: ");
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);
}
}