/* Diego Tamiozzo
* Registro de Eventos com data e hora com RTC
* 08/01/2023
* Versão 2
* 06 Entradas e 06 saídas
*/
#include "RTClib.h"
RTC_DS1307 rtc;
int leds[6] = {2,4,6,8,10,12}; // Declara pinos
int botao[6] = {3,5,7,9,11,13}; // Define pinos
int stop1, stop2, stop3, stop4, stop5, stop6;
char daysOfTheWeek[7][12] = {"Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"};//Define dias da semana
void setup () {
pinMode(leds[6] , OUTPUT);//Define como saída
pinMode(botao[6] , INPUT);//Define como entrada
Serial.begin(9600);
Serial.println("Registro de Eventos");
delay(2000);
if (! rtc.begin()) {
Serial.println("Não foi possível encontrar RTC");
Serial.flush();
abort();
}
}
void loop () {
if ( digitalRead(3)) {
stop1++;
}
else {
digitalWrite(2, LOW);
stop1=0;
}
if (( digitalRead(3)) && stop1==1) {
digitalWrite(2, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 01 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(2, LOW);
}
Serial.println();
// Entrada 02
if ( digitalRead(5)) {
stop2++;
}
else {
digitalWrite(2, LOW);
stop2=0;
}
if (( digitalRead(5)) && stop2==1) {
digitalWrite(4, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 02 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(4, LOW);
}
Serial.println();
// Entrada 03
if ( digitalRead(7)) {
stop3++;
}
else {
digitalWrite(6, LOW);
stop3=0;
}
if (( digitalRead(7)) && stop3==1) {
digitalWrite(6, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 03 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(6, LOW);
}
Serial.println();
// Entrada 04
if ( digitalRead(9)) {
stop4++;
}
else {
digitalWrite(8, LOW);
stop4=0;
}
if (( digitalRead(9)) && stop4==1) {
digitalWrite(8, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 04 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(8, LOW);
}
Serial.println();
// Entrada 05
if ( digitalRead(11)) {
stop5++;
}
else {
digitalWrite(10, LOW);
stop5=0;
}
if (( digitalRead(11)) && stop5==1) {
digitalWrite(10, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 05 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(10, LOW);
}
Serial.println();
// Entrada 06 Acionada
if ( digitalRead(13)) {
stop6++;
}
else {
digitalWrite(12, LOW);
stop6=0;
}
if (( digitalRead(13)) && stop6==1) {
digitalWrite(12, HIGH);
DateTime now = rtc.now();
Serial.print("Entrada 06 Acionada: ");
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print("Hora: ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(2000);
}
else {
digitalWrite(12, LOW);
}
}