Files
Arduino/ESP8266_RELAI/ESP8266_RELAI.ino
Jérôme Delacotte 7b30d6e298 first commit
2025-03-06 11:15:32 +01:00

140 lines
3.2 KiB
C++

/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Blink
*/
// Load the virtuabotixRTC library
#include "virtuabotixRTC.h"
// Determine the pins connected to the module
// myRTC (clock, data, RST)
virtuabotixRTC myRTC (6, 7, 8);
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
stop();
// After to set the entire information, comment the following line
// (seconds, minutes, hours, day of week, day of month, month, year)
// myRTC.setDS1302Time (0, 18, 23, 6, 31, 7, 2021);
}
// the loop function runs over and over again forever
void loop() {
// Reads the information from the CI
myRTC.updateTime ();
printTime();
avance();
delay(10000); // wait for a second
Serial.println("off");
recule();
delay(10000); // wait for a second
Serial.println("On");
stop();
delay(10000);
}
void printTime()
{
// Print the details in serial monitor
Serial.print
("Data "); // Call the routine that prints the day of the week
imprime_dia_da_semana (myRTC.dayofweek);
Serial.print (", ");
Serial.print (myRTC.dayofmonth);
Serial.print ("/");
Serial.print (myRTC.month);
Serial.print ("/");
Serial.print (myRTC.year);
Serial.print ("");
Serial.print
(" Time "); // Adds a 0 if the time value is <10
if (myRTC.hours <10)
{
Serial.print ("0");
}
Serial.print (myRTC.hours);
Serial.print
(":"); // Adds a 0 if the value of the minutes is <10
if (myRTC.minutes <10)
{
Serial.print ("0");
}
Serial.print (myRTC.minutes);
Serial.print
(":"); // Adds a 0 if the value of the latter is <10
if (myRTC.seconds <10)
{
Serial.print ("0");
}
Serial.println (myRTC.seconds);
}
void stop()
{
digitalWrite(2, LOW); // turn the LED on (HIGH is the voltage level)
digitalWrite(3, LOW);
}
void avance() {
digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(3, LOW);
}
void recule() {
digitalWrite(3, HIGH); // turn the LED on (HIGH is the voltage level)
digitalWrite(2, LOW);
}
void imprime_dia_da_semana (int day)
{
switch (day)
{
case 1:
Serial.print
("Sunday");
break; case 2:
Serial.print
("Second");
break; case 3:
Serial.print
("Terca");
break; case 4:
Serial.print
("Wednesday");
break; case 5:
Serial.print
("Quinta");
break; case 6:
Serial.print
("Friday");
break; case 7:
Serial.print
("Saturday"); break;
}
}