Pedro, la rutina SetPinsProgram es la que contiene la progamación, y solo ha de contener eso.
En el código que facilitó Antonio, incluye las sentencias para un ejemplo o prueba que actúa sobre dos pines y genera 8 pulsos de 3 seg a ejecutar en hora/min que defines en las variables HH y MM.
El código que puse yo es la programación que le he puesto a mi sistema, 4 pines definidos y programo 4 pulsos distintos (uno de los pines no le asigno ningún pulso y a otro dos). Los horarios de actuación están en los comentarios
Tu puedes usar uno u otro para hacer pruebas, pero definitivamente en tu código has de dejar definitivamente
tu programación, y no poner nada de los ejemplos.
Es decir algo como así:
Código:
void SetPinsProgram(){
// Definir pines
ProgPins.ConfigurarPin(4, HIGH); // 1º rele
.......
// Definir pulsos de programacion
ProgPins.CrearPulso(4, 14, 0, 0, 8, 0, 0); // a tal hora tanto tiempo
.......
}
Y no te olvides realizar las modificaciones del código que comentó Antonio en el post 280. Si no, el programa con el pro-micro se queda atascado cuando se usa con alimentación y sin estar conectado al Pc:
En el programa Cao_Seta.ino al principio tras los
#include añades la línea:
#define TIMEOUT_SERIAL 5000 // Esperamos como máximo 5 segundos a la conexion Serial
Y la rutina setup la sustituyes por esta:
Código:
void setup(){
Serial.begin(9600); // Intentamos inicializar a 9600 baudios
int t1=millis(); // Tomamos referencia del tiempo en t1
// Mientras no transcurran TIMEOUT_SERIAL milisegundos
while (millis()-t1<TIMEOUT_SERIAL){
if (Serial) // Si se ha logrado conexión...
break; // forzamos la salida del bucle
}
SetPinsProgram();
Turn.EveryMillis(1000);
HelpIntro();
}
Por complicarlo un poco mas, pero para cuando todo lo anterior lo tengas claro
Antonio dotó al programador de una cierta programación semanal, permitiendo definir en que días de la semana es activable un pin, de tal forma que los pulsos definidos para un horario solo se activan los días habilitados. Esto te puede ser muy útil si por ejemplo quieres activar tu sistema de cambio automático de agua un día de la semana.
La función ConfigurarPin está sobrecargada (esto quiere decir que usando la función con distintos argumentos su funcionamiento puede ser distinto)
La función admite la siguiente sintaxis:
void ConfigurarPin(int Pin, int EstadoPorDefecto, bool L, bool M, bool X, bool J, bool V, bool S, bool D);
Tal que si configuras el pin 4 así:
ProgPins.ConfigurarPin(4, HIGH, 0, 0, 0, 0, 0, 0, 1); los pulsos definibles para el pin 4 solo se activan los domingos (valor 0 desactivado, otro valor activado). Por defecto el Cao_Seta tiene los 7 días activos.