It should happen when it is at 15. If the Serial.println(" Hora is between 8PM and 5AM" );
is being printed, then that portion of the code should be executed.
If that is perfect, the idea is
BETWEEN TimeDay AND TimeNight - Pins SEAN 1 and between the remaining hours are 0 - BUT MUST ONLY be executed only once. For me to be able to modify them manually in case I need IN or OUT of the schedule.
I explain ?
As mentioned I did not check all scenarios. And after your new explanation.
Try changing to this.
void setFlag()
{
Hora = hour();
Serial.println(" Hora AT START_UP is:"+ String(Hora));
if (Hora >= TimeDay && Hora <= TimeNight)
{
Flag = 0;
}
else
{
Flag = 1;
}
timer.setInterval(60000L,automatic); //starts the check
}
void automatic() {
Hora = hour();
Serial.println(" Hora is:"+ String(Hora)+" "+"TimeDay is: "+String(TimeDay) + " "+ "TimeNight is: "+ String(TimeNight));
Serial.println(" Flag is:"+ String(Flag));
if (Flag == 0)
{
if (Hora >= TimeDay && Hora <= TimeNight)
{
Serial.println(" Hora IS or between TimeDay and TimeNight" );
Serial.println(" Hora is:"+ String(Hora));
Blynk.virtualWrite (V2, "1");
Blynk.virtualWrite (V5, "1");
Blynk.virtualWrite (V6, "1");
Blynk.virtualWrite (V3, "1");
Flag = 1;
}
}
else if (Flag == 1)
{
if (Hora < TimeDay || Hora > TimeNight)
{
Serial.println(" Hora is BEFORE TimeDay or AFTER TimeNight " );
Serial.println(" Hora is:"+ String(Hora));
Blynk.virtualWrite (V6, "0");
Blynk.virtualWrite (V5, "0");
Blynk.virtualWrite (V2, "0");
Blynk.virtualWrite (V3, "0");
Flag = 0;
}
}
}
Also, TimeDay < TimeNight.
Same , 18 hs dont no nothing.
17:21:17.261 -> [0] Getting IP...
17:21:23.895 -> [6639] IP:192.168.1.6
17:21:23.929 -> [6640]
17:21:23.929 -> ___ __ __
17:21:23.963 -> / _ )/ /_ _____ / /__
17:21:23.998 -> / _ / / // / _ \/ '_/
17:21:23.998 -> /____/_/\_, /_//_/_/\_\
17:21:24.036 -> /___/ v0.6.1 on Arduino Mega
17:21:24.075 ->
17:21:24.075 -> [6757] Connecting to 192.168.1.14
17:21:24.321 -> [7068] Ready (ping: 7ms).
17:21:24.695 -> [7432] Time sync: OK
17:21:25.826 -> Hora AT START_UP is:17
17:22:25.836 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:22:25.873 -> Flag is:0
17:22:25.910 -> Hora IS or between TimeDay and TimeNight
17:22:25.947 -> Hora is:17
17:23:25.844 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:23:25.912 -> Flag is:1
17:24:25.876 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:24:25.910 -> Flag is:1
17:25:25.885 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:25:25.918 -> Flag is:1
17:26:25.950 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:26:26.020 -> Flag is:1
17:26:26.020 -> [308634] Time sync: OK
17:27:25.919 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:27:25.953 -> Flag is:1
17:28:25.940 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:28:25.975 -> Flag is:1
17:29:25.935 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:29:26.004 -> Flag is:1
17:30:25.978 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:30:26.014 -> Flag is:1
17:31:25.990 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:31:26.023 -> Flag is:1
17:32:26.061 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:32:26.128 -> Flag is:1
17:32:26.128 -> [668636] Time sync: OK
17:33:26.027 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:33:26.064 -> Flag is:1
17:34:26.022 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:34:26.093 -> Flag is:1
17:35:26.056 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:35:26.093 -> Flag is:1
17:36:26.063 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:36:26.097 -> Flag is:1
17:37:26.065 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:37:26.136 -> Flag is:1
17:38:26.157 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:38:26.195 -> Flag is:1
17:38:26.230 -> [1028636] Time sync: OK
17:39:26.098 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:39:26.170 -> Flag is:1
17:40:26.107 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:40:26.175 -> Flag is:1
17:41:26.128 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:41:26.198 -> Flag is:1
17:42:26.165 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:42:26.199 -> Flag is:1
17:43:26.166 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:43:26.201 -> Flag is:1
17:44:26.263 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:44:26.297 -> Flag is:1
17:44:26.297 -> [1388637] Time sync: OK
17:45:26.211 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:45:26.246 -> Flag is:1
17:46:26.224 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:46:26.258 -> Flag is:1
17:47:26.222 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:47:26.291 -> Flag is:1
17:48:26.255 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:48:26.289 -> Flag is:1
17:49:26.276 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:49:26.311 -> Flag is:1
17:50:26.346 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:50:26.379 -> Flag is:1
17:50:26.414 -> [1748633] Time sync: OK
17:51:26.284 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:51:26.354 -> Flag is:1
17:52:26.307 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:52:26.345 -> Flag is:1
17:53:26.342 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:53:26.378 -> Flag is:1
17:54:26.360 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:54:26.397 -> Flag is:1
17:55:26.344 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:55:26.413 -> Flag is:1
17:56:26.432 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:56:26.505 -> Flag is:1
17:56:26.505 -> [2108634] Time sync: OK
17:57:26.391 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:57:26.427 -> Flag is:1
17:58:26.405 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:58:26.474 -> Flag is:1
17:59:26.409 -> Hora is:17 TimeDay is: 17 TimeNight is: 18
17:59:26.478 -> Flag is:1
18:00:26.445 -> Hora is:18 TimeDay is: 17 TimeNight is: 18
18:00:26.481 -> Flag is:1
18:01:26.459 -> Hora is:18 TimeDay is: 17 TimeNight is: 18
18:01:26.493 -> Flag is:1
I think there is still some misunderstanding.
so if TimeDay is 17 and TimeNight is 18, Change Vpins to 1 @ TimeDay, once, and do nothing until after TimeNight. Since TimeNight is 18 that means that the change will happen at 19.
In other words, Vpins set to 1 from 5PM (17) until 6:59PM (end of 18), At 7PM (19) Vpins set to 0.
If you want the Vpins to change to 0 at 6PM (18), then try this:
void setFlag()
{
Hora = hour();
Serial.println(" Hora AT START_UP is:"+ String(Hora));
if (Hora >= TimeDay && Hora < TimeNight)
{
Flag = 0;
}
else
{
Flag = 1;
}
timer.setInterval(60000L,automatic); //starts the check
}
void automatic() {
Hora = hour();
Serial.println(" Hora is:"+ String(Hora)+" "+"TimeDay is: "+String(TimeDay) + " "+ "TimeNight is: "+ String(TimeNight));
Serial.println(" Flag is:"+ String(Flag));
if (Flag == 0)
{
if (Hora >= TimeDay && Hora < TimeNight)
{
Serial.println(" Hora IS or between TimeDay and TimeNight" );
Serial.println(" Hora is:"+ String(Hora));
Blynk.virtualWrite (V2, "1");
Blynk.virtualWrite (V5, "1");
Blynk.virtualWrite (V6, "1");
Blynk.virtualWrite (V3, "1");
Flag = 1;
}
}
else if (Flag == 1)
{
if (Hora < TimeDay || Hora >= TimeNight)
{
Serial.println(" Hora is BEFORE TimeDay or AFTER TimeNight " );
Serial.println(" Hora is:"+ String(Hora));
Blynk.virtualWrite (V6, "0");
Blynk.virtualWrite (V5, "0");
Blynk.virtualWrite (V2, "0");
Blynk.virtualWrite (V3, "0");
Flag = 0;
}
}
}
No ,
When time its 17 , Vpins change to 1 .
When time its 18 . Vpins change to 0
1 only in each
But the problem is when the device is turned off …
If I have TimeDay set at 5pm and TimeNigth at 11pm and the current time is 7pm. You MUST execute the function of Vpins to 1
The last posted code “should” do all of that.
Hopefully…
I’m just trying it out, I really appreciate your time! Thank you.
Then I tell you.
19:49:39.054 -> Hora AT START_UP is:19
19:50:39.062 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:50:39.131 -> Flag is:0
19:50:39.131 -> Hora IS or between TimeDay and TimeNight
19:50:39.166 -> Hora is:19
19:51:39.105 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:51:39.140 -> Flag is:1
19:52:39.108 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:52:39.142 -> Flag is:1
19:53:39.130 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:53:39.165 -> Flag is:1
19:54:39.220 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:54:39.255 -> Flag is:1
19:54:39.255 -> [308617] Time sync: OK
19:55:39.156 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:55:39.190 -> Flag is:1
19:56:39.178 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:56:39.212 -> Flag is:1
19:57:39.181 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:57:39.251 -> Flag is:1
19:58:39.200 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:58:39.235 -> Flag is:1
19:59:39.219 -> Hora is:19 TimeDay is: 19 TimeNight is: 20
19:59:39.254 -> Flag is:1
20:00:39.303 -> Hora is:20 TimeDay is: 19 TimeNight is: 20
20:00:39.337 -> Flag is:1
20:00:39.372 -> Hora is BEFORE TimeDay or AFTER TimeNight
20:00:39.406 -> Hora is:20
20:00:39.441 -> [668668] Time sync: OK
Rlly nice , thx!