Controllo pompe dosometriche


salve tutti ragazzi
allora vorrei controllare delle pompe dosometriche per somministrare dei fertilizzanti in acquario
vorrei evitare il delay per ovvi motivi e quindi usare il millis

ho scritto un programmino però non funziona bene  e vorrei un vostro suggerimento

code: [select]

  if(dayofweek==myno3[0] || dayofweek==myno3[1] || dayofweek==myno3[2] || dayofweek==myno3[3] || dayofweek==myno3[4] || dayofweek==myno3[5] || dayofweek==myno3[6])//controlla il giorno per somministrare
  {
    if(hour==orenitrati && minute==minutinitrati && second==0)
    {
      digitalwrite(nitrati,high);//attiva la somministrazione di nitrati
      nitrati=true;
    }
  }
  if(nitrati==true)
  {
    currentmillis_nitrati=millis();
    if(currentmillis_nitrati-previousmillis_nitrati>delaynitrati)//attende il tempo di somministrazione e poi spegne la pompa
    {
      previousmillis_nitrati=currentmillis_nitrati;
      digitalwrite(nitrati,low);
      mlflaconeno3somministrato=mlflaconeno3somministrato+(mlno3/2);//decremente la quantità somministrata dal flacone...questo non va bene
      //serial.print("mlflaconeno3: ");
      //serial.print(mlflaconeno3);
      nitrati=false;
    }
  }



dayofweek,hour,minute,second sono del real time
orenitrati,minutinitrati li imposto io
myno3[] possono avere il valore o di 0 o del giorno corrispondente della settimana  da 1 7
delaynitrati ovviamente è il tempo che la pompa deve rimanere accesa


ringrazio tutti in anticipo :)

ciao, cosa non funziona? la variabile previousmillis_nitrati come la inizializzi?
ipotizzo che non ti scatta la somministrazione, forse il problema è nel second==0?


Arduino Forum > International > Italiano > Software (Moderator: leo72) > Controllo pompe dosometriche


arduino

Comments