Mi hanno risposto di utilizzare la funzione per le dosometriche, perchè altrimenti con il metodo che ho postato prima io... si accende per una piccolissima frazione, dopo di che si rispenge subito....
Provate così:
void AlternaPompe(byte Pump, byte PTimer, byte OnHour, byte OnMinute, int RunTime)
{
// Let's see if it's supposed to start running the timer now
if ( (NumMins(hour(), minute()) == NumMins(OnHour, OnMinute)) && (second() == 0) )
{
Relay.On(Pump);
Timer[PTimer].SetInterval(RunTime);
Timer[PTimer].Start();
}
// is the timer expired?
if ( Timer[PTimer].IsTriggered() )
{
// timer expired, so let's shut off the pump
Relay.Off(Pump);
}
}
Loop()
{
AlternaPompe(Port3, 1, 6,0,21600);
AlternaPompe(Port4, 2, 12,0,21600);
AlternaPompe(Port3, 1, 18,0,21600);
AlternaPompe(Port4, 2, 0,0,21600);
}
Per chi ha gia le doso e serve anche l'alternanza deve fare le sostituzioni dei post precedenti creandosi dei timer ad HOC
Ultima modifica di LukeLuke; 07-04-2011 alle ore 16:04.
|