AcquaPortal Forum Acquario Dolce e Acquario Marino

AcquaPortal Forum Acquario Dolce e Acquario Marino (http://www.acquariofilia.biz/forum.php)
-   Tecnica marino (http://www.acquariofilia.biz/forumdisplay.php?f=57)
-   -   Reef Angel (http://www.acquariofilia.biz/showthread.php?t=296451)

Psyco 07-04-2011 16:07

dai dai postate i banner...su su ...

rita87 07-04-2011 16:11

Sono riuscita ad alternarle così


// accensione pompa dx
if ((NumMins(hour(),minute()) >= NumMins(0,00)) && (NumMins(hour(),minute()) <= NumMins(6,00))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);

if ((NumMins(hour(),minute()) >= NumMins(12,00)) && (NumMins(hour(),minute()) <= NumMins(18,00))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);
// accensione pompa sx
if ((NumMins(hour(),minute()) >= NumMins(5,47)) && (NumMins(hour(),minute()) <= NumMins(12,13))) ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);

if ((NumMins(hour(),minute()) >= NumMins(17,47)) && (NumMins(hour(),minute()) <= NumMins(0,13))) ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);

stanno accese x tutto il tempo xkè c'è la funzione "and" che controlla l'accensione per la durata del tempo segnato nell'if.

Ma senza il tuo aiuto non ci sarei mai arrivata Luke! #25

Psyco 07-04-2011 16:13

bravissima!!
------------------------------------------------------------------------
beati voi che ci state ancora smanettando...a me purtroppo non serve niente ed ho finito....ufff

LukeLuke 07-04-2011 16:17

scusate la latitanza... ma momenti di delirio... VDC con 6 sale che non funzionava e CED isolato....

si l'ho visto.... credo che il problema sia nella dichiarazione di sistema del Timer[1] e Timer[2] ....

prova così:

aggiungere sotto agli include :

ReefAngel_TimerClass MyTimer;

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);
MyTimer[PTimer].SetInterval(RunTime);
MyTimer[PTimer].Start();
}

// is the timer expired?
if ( MyTimer[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);
}

prova!?
------------------------------------------------------------------------
Quote:

Originariamente inviata da rita87 (Messaggio 3552812)
Sono riuscita ad alternarle così


// accensione pompa dx
if ((NumMins(hour(),minute()) >= NumMins(0,00)) && (NumMins(hour(),minute()) <= NumMins(6,00))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);

if ((NumMins(hour(),minute()) >= NumMins(12,00)) && (NumMins(hour(),minute()) <= NumMins(18,00))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);
// accensione pompa sx
if ((NumMins(hour(),minute()) >= NumMins(5,47)) && (NumMins(hour(),minute()) <= NumMins(12,13))) ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);

if ((NumMins(hour(),minute()) >= NumMins(17,47)) && (NumMins(hour(),minute()) <= NumMins(0,13))) ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);

stanno accese x tutto il tempo xkè c'è la funzione "and" che controlla l'accensione per la durata del tempo segnato nell'if.

Ma senza il tuo aiuto non ci sarei mai arrivata Luke! #25

bravissima!!!!!

è una bella soddifazione !?!?!?!?

con Acquatronica non l'avresti mai provata..... :-D

Psyco 07-04-2011 16:31

qualcuno ha già aggiunto i comandi per pilotare l'elettrovalvola?

rita87 07-04-2011 16:38

Siiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii dopo una bella sudata e varie notti insonni ce l'ho fatta. E bastava un'if!!!!!

E ora il wifi!!!!!

lucaeff 07-04-2011 17:59

ragazziiiiiii andate piano altrimenti rimango indietro -20
fino a stasera non riesco a provare................sono invidiosissimo

Psyco 07-04-2011 18:10

se ti può consolare...ho appena finito di metter il controllo del ph che controlla l'elettrovalvola per il reattore con in + il timer che ne regola lo spegnimento notturno...fatto questo, mi son accorto che sul google group c'erano già le stringhe...doh!
------------------------------------------------------------------------
che ne dite adesso di postare le varie stringhe per le varie funzioni in modo da ottenere una fonte da cui attingere?

rita87 07-04-2011 19:34

Sono convinta che ci sia qualche bug.

Leggete questi if

// accensione pompa dx da mezzanotte alle 6 e 13 e da mezzogiorno alle 18,13
if (((NumMins(hour(),minute()) >= NumMins(0,00)) && (NumMins(hour(),minute()) <= NumMins(6,13))) || (NumMins(hour(),minute()) >= NumMins(12,00)) && (NumMins(hour(),minute()) <= NumMins(18,13))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);


// accensione pompa sx dalle 6 a mezzogiorno,13 e dalle 18 a mezzanotte e 13 minuti
if (((NumMins(hour(),minute()) >= NumMins(6,00)) && (NumMins(hour(),minute()) <= NumMins(12,13))) || (NumMins(hour(),minute()) >= NumMins(18,00)) && (NumMins(hour(),minute()) <= NumMins(0,13)))ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);

Ora la porta 4 verifica gli if ed esegue correttamente.
La porta 5 verifica gli if ma esegue solo il primo. Dalle 18 alle 00:13 il relè resta spento.

Ora io mi domando: SE GLI IF SONO IDENTICI, cambiano solo gli orari, perchè nel primo if non ci sono problemi e avvia la pompa agli orari giusti e il secondo no???????? -04
------------------------------------------------------------------------
Quote:

Originariamente inviata da LukeLuke (Messaggio 3552828)

con Acquatronica non l'avresti mai provata..... :-D

Almeno non avevo tutti sti problemi. Maledizione.

rita87 07-04-2011 20:10

ho risolto. Volete sapere qual era il problema? Intanto ve lo posto perchè potrebbe servirvi e così ve lo trovate!

// accensione pompa dx
if (((NumMins(hour(),minute()) >= NumMins(0,00)) && (NumMins(hour(),minute()) <= NumMins(6,13))) || (NumMins(hour(),minute()) >= NumMins(12,00)) && (NumMins(hour(),minute()) <= NumMins(18,13))) ReefAngel.Relay.On(Port4);
else ReefAngel.Relay.Off(Port4);


// accensione pompa sx
if (((NumMins(hour(),minute()) >= NumMins(6,00)) && (NumMins(hour(),minute()) <= NumMins(12,13))) || (NumMins(hour(),minute()) >= NumMins(18,00)) && (NumMins(hour(),minute()) <= NumMins(23,59))) ReefAngel.Relay.On(Port5);
else ReefAngel.Relay.Off(Port5);


Il problema era che io mettevo >= 18 e <= 00:13
il computer si chiedeva: ma 20 (ore 8) non è minore di 0,13 quindi io il relè lo lascio spento.
Se si interagisce con macchine, bisogna pensare come macchine, non come uomini!!!!!


Tutti gli orari sono GMT +2. Attualmente sono le 18:38.

Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal
User Alert System provided by Advanced User Tagging v3.2.5 Patch Level 2 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl

Page generated in 0,08763 seconds with 13 queries