Réservoir d'eau gére par arduino nano

Bonjour a vous,
Aujourd’hui j’ai terminé mon projet qui est de piloter un réservoir d’eau (une barrique) je pilote donc la pompe d’arriver d’eau
et la pompe/suppresseur de sorti d’eau donc voici des image le code et ce que j’ai utiliser.
Donc j’ai utiliser:

  • 1 arduino nano
  • 2 relay
  • 3 led
  • 1 module HC-S0R4
  • des wago
  • 2 prise femelle (Sortie courant)
  • 1 prise mal (Entre courant)
  • câble Electricité
  • câble RJ45
  • boitier pvc
  • puis pcb maison

le code:

/* Constantes pour les HC-S0R4 */
// Barrique
const byte TRIGGER_PIN_1 = 2; // Broche TRIGGER
const byte ECHO_PIN_1 = 3;    // Broche ECHO

/* Définition sortie relay */
//puits
int pinRelay1 = 7;
//surp
int pinRelay2 = 8;
/* Définition sortie led */
int pinLedOn = 12;
int pinLedPuits = 11;
int pinLedSurp = 10;
/* Constante  */
float distance_mm;
long measure;

/* Constantes pour le timeout */
const unsigned long MEASURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s

/* Vitesse du son dans l'air en mm/us */
const float SOUND_SPEED = 340.0 / 1000;

/*enum definition*/
  enum {arret, marche} Puits;
  enum {arretS, marcheS} surp;

void setup() {   
  /* Initialise le port série */
  Serial.begin(115200);
  
  /* Initialise les broches HC-SC04 */
  pinMode(TRIGGER_PIN_1, OUTPUT);
  digitalWrite(TRIGGER_PIN_1, LOW); // La broche TRIGGER doit être à LOW au repos
  pinMode(ECHO_PIN_1, INPUT);

  /* Définition sortie relay */
  //puits
  pinMode(pinRelay1, OUTPUT);
  //surp
  pinMode(pinRelay2, OUTPUT);
  //definition etat de départ
  Puits = arret;
  Serial.println("Puits" + Puits);

//  Initialisation des Led
  pinMode(pinLedOn, OUTPUT);
  pinMode(pinLedPuits, OUTPUT);
  pinMode(pinLedSurp, OUTPUT);  
//Allumage des leds pour voir si ellle marche
//La Led "LedOn" permet de voir si le boitier est bien allimenter est que l'arduino fonctionne
  digitalWrite(pinLedOn, HIGH);
  digitalWrite(pinLedPuits, HIGH);
  digitalWrite(pinLedSurp, HIGH);
  delay(500);
  digitalWrite(pinLedPuits, LOW);
  digitalWrite(pinLedSurp, LOW);
}

void barrique(){
  
  /* 1. Lance une mesure de distance en envoyant une impulsion HIGH de 10µs sur la broche TRIGGER */
  digitalWrite(TRIGGER_PIN_1, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIGGER_PIN_1, LOW);
  
  /* 2. Mesure le temps entre l'envoi de l'impulsion ultrasonique et son écho (si il existe) */
  measure = pulseIn(ECHO_PIN_1, HIGH, MEASURE_TIMEOUT);
   
  /* 3. Calcul la distance à partir du temps mesuré */
  distance_mm = measure / 2.0 * SOUND_SPEED;
   
  /* Affiche les résultats en mm, cm et m */
  Serial.println("");
  Serial.println("");
  Serial.println("Barrique");
  Serial.print(F("Distance: "));
  Serial.print(distance_mm);
  Serial.print(F("mm ("));
  Serial.print(distance_mm / 10.0, 2);
  Serial.print(F("cm, "));
  Serial.print(distance_mm / 1000.0, 2);
  Serial.println(F("m)"));

    if(distance_mm > 400){
      Puits = marche;
    }
    if(distance_mm < 70){
      Puits = arret;
    }
    
      switch (Puits) {
            case arret:
              digitalWrite(pinRelay1, LOW);
              delay(100);
              Serial.println("arret");
              digitalWrite(pinLedPuits, LOW);
              
              break;
      
            case marche:
              digitalWrite(pinRelay1, HIGH);
              delay(100);
              Serial.println("marche");
              digitalWrite(pinLedPuits, HIGH);
              
              break;
            }


    if(distance_mm > 450){
      surp = arretS;
    }
    if(distance_mm < 300){
      surp = marcheS;
    }
    
      switch (surp){
            case arretS :
              digitalWrite(pinRelay2, LOW);
              delay(100);
              Serial.println("arret");
              digitalWrite(pinLedSurp, LOW);

              break;
              
            case marcheS :
              digitalWrite(pinRelay2, HIGH);
              delay(100);
              Serial.println("marche");
              digitalWrite(pinLedSurp, HIGH);

              break;
      }

}


 
void loop() {
  
  barrique();  
  //Delay car inutile de verifier tout le temps
  delay(2000);
}

Les image sont joint

Tu peux insérer les images dans le texte, c'est plus facile à lire

Si c'est un projet terminé, demande au modérateur de déplacer ton topic dans la bonne section

il est dans le bon topic enfait je le voit comme ça
et je ne peux pas l’insérait

Pour insérer une image voir le message numéro dix de ce topic