besoin d'aide programme brumisation

bonjour j'aurais besoin d'aide pour mon programme de brumisation .
j'ai fait le programme pour gère trois brumisation par jours et je voudrais coupe la deuxième brumi de la journée mis quand je la coupe ca me coupe toute les autre aussi.
je vous mais le code je précise je débute et vous allé peut être avoir des chose a me dire lol.

//declaaration des pin brumisateur( electrovanne) et pompe
int cbrumip=8;
int brumip;
String nombrumip;

int cbrumijp=8;
int brumijp;
String nombrumijp;

int cbrumisp=8;
int brumisp;
String nombrumisp;

int pompe=10;
int pompej=10;
int pompes=10;


//declaration heure brumi matin
int debuthbrumip=11;
int debutmbrumip=00;
int debutsbrumip=00;

int finhbrumip=11;
int finmbrumip=0;
int finsbrumip=10;

int heuredebutbrumip;
int minutedebutbrumip;
int seconddebutbrumip;
int heurefinbrumip;
int minutefinbrumip;
int secondfinbrumip;

int etatbrumip;
int etatbrumipp=2;

//declaration heure brumi jour
int debuthbrumijp=17;
int debutmbrumijp=00;
int debutsbrumijp=00;

int finhbrumijp=17;
int finmbrumijp=0;
int finsbrumijp=10;

int heuredebutbrumijp;
int minutedebutbrumijp;
int seconddebutbrumijp;
int heurefinbrumijp;
int minutefinbrumijp;
int secondfinbrumijp;

int etatbrumijp;
int etatbrumijpp=2;

//declaration heure brumi soir
int debuthbrumisp=22;
int debutmbrumisp=30;
int debutsbrumisp=00;

int finhbrumisp=22;
int finmbrumisp=30;
int finsbrumisp=10;

int heuredebutbrumisp;
int minutedebutbrumisp;
int seconddebutbrumisp;
int heurefinbrumisp;
int minutefinbrumisp;
int secondfinbrumisp;

int etatbrumisp;
int etatbrumispp=2;



void setup()                
{         
 
 
  pinMode(cbrumip,OUTPUT ); 
 digitalWrite(cbrumip,HIGH);//relai marche a l'enver
   pinMode(cbrumijp,OUTPUT ); 
 digitalWrite(cbrumijp,HIGH);//relai marche a l'enver
    pinMode(cbrumisp,OUTPUT ); 
 digitalWrite(cbrumisp,HIGH);//relai marche a l'enver
  pinMode(pompe,OUTPUT ); 
 digitalWrite(pompe,HIGH);//relai marche a l'enver
  pinMode(pompej,OUTPUT ); 
 digitalWrite(pompej,HIGH);//relai marche a l'enver
  pinMode(pompes,OUTPUT ); 
 digitalWrite(pompes,HIGH);//relai marche a l'enver
  
 
                  
                       
   }
//GESTION RELAIDateTime now = rtc.now();     
 
DateTime now = rtc.now();     
   

//brumi matin
 
  
    if ((now.hour() == debuthbrumip && now.minute()== debutmbrumip && now.second()== debutsbrumip ))// allumage brumi et pompe
 { 
  
  digitalWrite(cbrumip,LOW); digitalWrite(pompe,LOW); 
 }
 else if ((now.hour() == finhbrumip && now.minute()== finmbrumip && now.second()== finsbrumip ))
  {
  digitalWrite(cbrumip,HIGH);digitalWrite(pompe,HIGH);//le reste du temps les leds blanches sont éteintes
  }
  
   if (etatbrumipp==0)
  {digitalWrite(cbrumip,LOW);digitalWrite(pompe,LOW);}//ON
   if (etatbrumipp==1)
  {digitalWrite(cbrumip,HIGH);digitalWrite(pompe,HIGH);}//OFF

  //brumi jour
 
  
    if ((now.hour() == debuthbrumijp && now.minute()== debutmbrumijp && now.second()== debutsbrumijp ))// allumage brumi et pompe
 { 
   digitalWrite(cbrumijp,HIGH);digitalWrite(pompej,HIGH); 
 }
 else if ((now.hour() == finhbrumijp && now.minute()== finmbrumijp && now.second()== finsbrumijp ))
  {
  digitalWrite(cbrumijp,HIGH);digitalWrite(pompej,LOW);//le reste du temps les leds blanches sont éteintes
  }
   if (etatbrumijpp==0)
  {digitalWrite(cbrumijp,LOW);digitalWrite(pompej,LOW);}//ON
   if (etatbrumijpp==1)
  {digitalWrite(cbrumijp,HIGH);digitalWrite(pompej,HIGH);}//OFF

//brumi soir
 if ((now.hour() == debuthbrumisp && now.minute()== debutmbrumisp && now.second()== debutsbrumisp ))// allumage brumi et pompe
 { 
  digitalWrite(cbrumip,LOW); digitalWrite(pompes,LOW); 
 }
 else if ((now.hour() == finhbrumisp && now.minute()== finmbrumisp && now.second()== finsbrumisp ))
  {
  digitalWrite(cbrumip,HIGH); digitalWrite(pompes,HIGH);//le reste du temps les leds blanches sont éteintes
  }
  
   if (etatbrumispp==0)
  {digitalWrite(cbrumip,LOW);digitalWrite(pompes,LOW);}//ON
   if (etatbrumispp==1)
  {digitalWrite(cbrumip,HIGH);digitalWrite(pompes,HIGH); }//OFF
}

Tous tes brumisateurs sont déclarés sur la pin 8 et toutes les pompes sur la pin 10.
Ton problème doit venir de là. As-tu fait un schéma de branchement ?

En fait il y a une pompe et une electrovanne je voudrais faire 3brumi par jours a certaine heure avec ouverture electrovanne ça c'est bon .pour le code il faudrait que j'ai une déclaration pour la pompe et une pour l'électrovanne mais après je vois pas comment faire si je veut coupé une brumi d'une certaine heure et laissé les autre

si vous n'avez qu'une seule pompe et qu'une seule électrovanne, comment gérez vous 3 Brumisateurs séparément ? manuellement vous feriez comment ?

une petite photo du montage aiderait peut-être aussi

Je les géré en plage horaire en auto et après je peut déclencher quand je veux en manuel en on off .mais je peut pas géré la coupure 'un cycle sans coupe les autre cycle j’arrive pas a les faire indépendant

vous n'avez pas répondu "comment" ?

Concrètement vous faites quoi (de manière détaillée) pour mettre les brumisateurs 1 et 3 en fonction, puis arrêter le 3 et lancer le 2 ?

Une réponse du genre

  • J'ouvre la vanne
  • J'allume la pompe
    ...

est ce que souhaiterais comprendre

A 13h j'ouvre la pompe et l'électrovanne jusqu'à 13h00m10s a ce moment là tout ce ferme jusqu'à la prochaine a 17h pareil pour les autre .les trois fonction sont sur les même relais .mais je ne vois pas comment je peut faire par exemple coupé la brumi 2 et laissé activé la 1et la 3 . Comme j'ai programmé quand je coupe la brumi deux ça me ferme les relais pour la 1 ,3 .je sais pas si vous arrivé a me comprendre ?

OUBLIEZ LE CODE - MANUELLEMENT COMMENT ACTIVEZ VOUS UN SEUL BRUMISATEUR ? EST-CE POSSIBLE ?

Oui avec touche on off

qui pilote quoi.... On a aucune idée de votre montage il faut qu'on sorte une boule de cristal ?

soit vous décrivez PRECISEMENT votre montage et on peut essayer de vous aider (faites un dessin) soit pour ma part je laisse tomber...

Jml je comprend .j'utilise une méga avec un écran tactile 3.2 avec Shield tft,une ds3231 avec la librairie rtc lib ,deux relais un pour la pompe en pin 9 et l'autre pour l'électrovanne en pin 8.le programme est fait pour avoir un menu de différentes pages . Pour la programmation j'ai des déclarations de différentes heure de brumisateur (3 horaire différents).
Premier 11h déclenchement du relais 8 et 9 jusqu'a 11h00m10s idem pour les autre avec aurais différents. Là dessus j'ai rajouté un état pour pouvoir contrôle le on off avec bouton tactile en dehors des plage horaire .

je vous demande un schéma avec le flux de l'eau, le flux électrique, la vanne, la pompe, les brumisateurs, les boutons.

le fait que vous ayez une mega, un LCD etc n'est pas important.

Je suis pas très douée pour les schémas je vais en faire un j’espère que ça pourra aller

Pour avoir des réponses, il faut d'abord savoir de quoi il retourne, c'est vrai que je n'ai pas encore compris la partie matérielle, mais quand j'ai vu le code, j'ai du mal à comprendre à quoi servent les variables. Je prends par exemple
brumip
nombrumip
cbrumijp
brumijp
nombrumijp
cbrumisp
brumisp
nombrumisp

Il faut un œil très attentif pour voir qu'il n'y a pas deux fois le même identificateur.
Cela me fait penser plus à random('a','z')...

Il y a combien de variables à comprendre?

pour le moment je valide tout les autres commentaires,

il smeblerait que tous soit branché sur la meme sortie 8 et 10

Oui c'est un peut compliqué a lire .première grand programme et pas satisfaisant et oui tout fonction avec la sortie 8 pour la pompe et9 pour l'électrovanne .

Voilà ma tentative de dessin en fonction de ce que je comprends

est-ce que ça ressemble ?

si oui --> Question= comment pilotez vous l'arrivée de l'eau aux brumisateurs ?

Oui c’est ça sauf qu’une sortie sur la distribution… l’arrivé d’eau est piloté par un relai pour la pompe et un pour l’électrovanne qui ce déclanche en même temps

j’ai refait le code avec une seul brumisation et mis des notes. Le programme marche et a ceci je voudrais rajouter deux brumi en plus et pouvoir mettre brumi 1 en on, 2 en off ,3 en off en bloquant les heure de déclanchement pour pouvoir laisse les relais actif pour la brumi 1. j’espere que ca sera un peut plus clair

#include <UTFT.h>
#include <URTouch.h>
#include <UTFT_SdRaw.h>
#include <UTFT_Buttons.h>
#include <SPI.h>
#include <SdFat.h>

         //http://arduino.cc/en/Reference/Wire (included with Arduino IDE)
 #include "RTClib.h"

UTFT        myGLCD(CTE32_R2, 38,39,40,41);   
URTouch      myTouch(6,5,4,3,2);             
#define SD_CHIP_SELECT 53 // SD SELECT PIN (arduino mega)
SdFat sd;
UTFT_SdRaw myFiles(&myGLCD);



byte selecteurPage=0;
boolean affichage=false;
boolean btrf=false; // boutonventilateur

//declaaration des pin brumisateur( electrovanne) et pompe
int cbrumip=8;//relais electrovanne
int brumip;
String nombrumip;

int pompe=10;//relais pompe

//declaration heure brumi matin
//heure debut brumi
int debuthbrumip=11;
int debutmbrumip=00;
int debutsbrumip=00;

//heure de fin brumi
int finhbrumip=11;
int finmbrumip=0;
int finsbrumip=10;

//fonction qui me sert a affiche les heure de la page menu brumi
int heuredebutbrumip;
int minutedebutbrumip;
int seconddebutbrumip;
int heurefinbrumip;
int minutefinbrumip;
int secondfinbrumip;
//etat pour mais bouton on off
int etatbrumip;
int etatbrumipp=2;



}


void setup()                
{         
 
 //relais electrovanne 
  pinMode(cbrumip,OUTPUT ); 
 digitalWrite(cbrumip,HIGH);//relai marche a l'enver
  
  //relais pompe
  pinMode(pompe,OUTPUT ); 
 digitalWrite(pompe,HIGH);//relai marche a l'enver
 //GESTION RELAIDateTime now = rtc.now();     
 
DateTime now = rtc.now();     
   

//brumi matin
 
  
    if ((now.hour() == debuthbrumip && now.minute()== debutmbrumip && now.second()== debutsbrumip ))// allumage brumi et pompe
 { 
  
  digitalWrite(cbrumip,LOW); digitalWrite(pompe,LOW); 
 }
 else if ((now.hour() == finhbrumip && now.minute()== finmbrumip && now.second()== finsbrumip ))
  {
  digitalWrite(cbrumip,HIGH);digitalWrite(pompe,HIGH);//le reste du temps les leds blanches sont éteintes
  }
  //etat pour la fonction des bouton on et off
   if (etatbrumipp==0)
  {digitalWrite(cbrumip,LOW);digitalWrite(pompe,LOW);}//ON
   if (etatbrumipp==1)
  {digitalWrite(cbrumip,HIGH);digitalWrite(pompe,HIGH);}//OFF
}


 
  }