Arduino CODE SOURCE vidéos e-genieclimatique [YouTube]

Le code source des programmes important que l’on peut voir dans les vidéos ARDUINO  sur la chaîne YouTube e-genieclimatique : le lien de la playlist Arduino.

Merci aux contributeurs qui soutiennent la chaîne.

Les codes sources des programmes sont ci-dessous :

Sommaire

Arduino68-ALGORITHME du TÉLÉRUPTEUR

Arduino69-ALGORITHME-MOTEUR DÉMARRAGE DIRECT avec AUTO MAINTIEN et UN SENS de MARCHE 

Arduino28-FROID-Contrôler une électrovanne par le biais d’une valeur CONSIGNE et d’un DIFFERENTIEL

Arduino81-MODIFIER la VALEUR d’une variable depuis l’ECRAN LCD avec 2 boutons poussoirs

Arduino83-INTÉGRATION du PROGRAMME pour MODIFIER la VARIABLE CONSIGNE dans le programme MENU

Arduino84-Mettre en MARCHE ou ARRÊTER une machine depuis un ÉCRAN LCD et 2 Boutons Poussoirs

Arduino88-TEMPO TRAVAIL-Programmation sur l’Arduino

Arduino89-TEMPO REPOS- PROGRAMMATION sur l’ARDUINO (MINUTERIE)

ALGORITHME du TÉLÉRUPTEUR

VidéoArduino68-ALGORITHME du TÉLÉRUPTEUR sur l’Arduino – Programmation

Fichier TXT avec le code source  : arduino68

//Arduino68-ALGORITHME du TÉLÉRUPTEUR sur l'Arduino - Programmation e-genieclimatique

const int Broche_BP = 2;
const int Broche_Moteur = 9;

int BP_Etat = 0;
int BP_Etat_Precedent = 0;

int Moteur = 0;

void setup() {
  Serial.begin(9600);
  pinMode (Broche_BP, INPUT);
  pinMode (Broche_Moteur, OUTPUT);
}

void loop() {
  BP_Etat = digitalRead (Broche_BP);
  Serial.print(" Etats Bouton Poussoir ");
  Serial.print(BP_Etat);

  if ((BP_Etat == HIGH) && (BP_Etat_Precedent == LOW)) {
    Moteur = 1 - Moteur;
  }

  Serial.print(" ; Moteur : ");
  Serial.print(Moteur );

  Serial.print(" ;BP_Etat_Precedent : ");
  Serial.print(BP_Etat_Precedent );
  BP_Etat_Precedent = BP_Etat;
  Serial.print(" ; BP_Etat_Precedent : ");
  Serial.print(BP_Etat_Precedent );

  if (Moteur == 1) {
    digitalWrite (Broche_Moteur, HIGH);
    Serial.println(" MOTEUR en MARCHE ");
  }
  else {
    digitalWrite (Broche_Moteur, LOW);
    Serial.println(" MOTEUR à l'arret ");
  }
}
Arduino68-Algorithme du télérupteur

ALGORITHME-MOTEUR DÉMARRAGE DIRECT avec AUTO MAINTIEN et UN SENS de MARCHE 

Vidéo : Arduino69-ALGORITHME-MOTEUR DÉMARRAGE DIRECT avec AUTO MAINTIEN et UN SENS de MARCHE -PROGRAMMATION

Fichier TXT avec le code source  : arduino69

/* Chaine Youtube : https://www.youtube.com/playlist?list=PLF88SKt6r7NbK8nCD7TxUbKJJFv1fcR_Z
 * Blog : https://www.e-genieclimatique.com/arduino03-apprendre-lautomatisme-et-la-programmation-avec-larduino-et-e-genieclimatique/ 
 */

//ARDUINO69 ALGORITHME-MOTEUR DÉMARRAGE DIRECT avec AUTO MAINTIEN et UN SENS de MARCHE -PROGRAMMATION
const int Broche_BP_Marche = 2;
const int Broche_BP_Arret = 3;
const int Broche_Moteur = 9;

int BP_Marche_Etat = 0;
int BP_Arret_Etat = 0;

int Moteur = 0;

void setup() {
  Serial.begin(9600);
  pinMode (Broche_BP_Marche, INPUT);
  pinMode (Broche_BP_Arret, INPUT);
  pinMode (Broche_Moteur, OUTPUT);
}

void loop() {
  BP_Marche_Etat = digitalRead (Broche_BP_Marche);
  Serial.print(" BP_Marche_Etat : ");
  Serial.print(BP_Marche_Etat);

  BP_Arret_Etat = digitalRead (Broche_BP_Arret);
  Serial.print(" ; BP_Arret_Etat : ");
  Serial.print(BP_Arret_Etat);

  if (BP_Marche_Etat == HIGH) {
    Moteur = 1;
    Serial.print("  ;Moteur BP_Marche_Etat :");
    Serial.print(Moteur);
  }
  if (BP_Arret_Etat == HIGH) {
    Moteur = 0;
    Serial.print(" ; Moteur BP_Arret_Etat :");
    Serial.print(Moteur);
  }
  if ((Moteur == 1) && (BP_Arret_Etat == LOW)) {
    digitalWrite (Broche_Moteur, HIGH);
    Serial.println(" ; MOTEUR en MARCHE ");
  }
  else {
    digitalWrite (Broche_Moteur, LOW);
    Serial.println(" ; MOTEUR à l'arret ");
  }
}
ARDUINO69 ALGORITHME-MOTEUR DÉMARRAGE DIRECT avec AUTO MAINTIEN et UN SENS de MARCHE - PROGRAMMATION

FROID-Contrôler une électrovanne par le biais d’une valeur CONSIGNE et d’un DIFFERENTIEL

Vidéo : Arduino28-FROID-Contrôler une électrovanne par le biais d’une valeur CONSIGNE et d’un DIFFERENTIEL

Fichier zip avec le fichier TXT code source  : arduino28

/*2018-08 Arduino81-MODIFIER la VALEUR d'une VARIABLE depuis l'ÉCRAN  LCD avec 2 boutons poussoirs
 * Chaine Youtube : https://www.youtube.com/playlist?list=PLF88SKt6r7NbK8nCD7TxUbKJJFv1fcR_Z
 * Blog : https://www.e-genieclimatique.com/arduino03-apprendre-lautomatisme-et-la-programmation-avec-larduino-et-e-genieclimatique/
 * on va voir comment j’ai fait pour réussir à modifier une variable qui est affichée sur l’écran LCD avec 2 boutons poussoirs. 
 * Un appui sur les 2 boutons poussoirs en même temps  permet de modifier la variable en accédant au menu réglage. 
 * Le bouton poussoir de gauche incrémente la valeur, le bouton poussoir de droite la décrémente. 
 * On bout d’un certain temps on sort du menu réglage et on ne peut plus modifier la variable
 */
#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int Broche_BP_HAUT = 6;
const int Broche_BP_BAS = 7;
const int Broche_LED = 8;

int Consigne = 15;

int Etat_BP_HAUT = 0;
int Etat_Precedent_BP_HAUT = 0;
int Etat_BP_BAS = 0;
int Etat_Precedent_BP_BAS = 0;

int Reglage = 0;
int Tempo = 5000;
int Tempo2 = 10000;

unsigned long Temps_Actuel;
unsigned long Temps_Precedent = 0;
unsigned long Temps_Precedent2 = 0;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(Broche_BP_HAUT, INPUT);
  pinMode(Broche_BP_BAS, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {
  Temps_Actuel = millis();
  digitalWrite (Broche_LED, HIGH);
  Etat_BP_HAUT = digitalRead(Broche_BP_HAUT);
  Etat_BP_BAS = digitalRead(Broche_BP_BAS);
  Serial.print("Tps_Actuel :");  Serial.print(Temps_Actuel);
  Serial.print(" Tps_Precedent :");   Serial.print(Temps_Precedent);
  Serial.print(" Etat_BP_HAUT :");   Serial.print(Etat_BP_HAUT);
  Serial.print(" Etat_BP_BAS :");   Serial.print(Etat_BP_BAS);
  Serial.print(" Reglage :");   Serial.print(Reglage);
  Serial.print(" Consigne :");  Serial.println (Consigne);

  //lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("consigne ");
  lcd.setCursor(12, 0);
  lcd.print(Consigne);


  if ((Etat_BP_HAUT == 1) && (Etat_BP_BAS == 1) && (Temps_Actuel - Temps_Precedent >= Tempo)) {
    Temps_Precedent = Temps_Actuel;
    Temps_Precedent2 = Temps_Actuel;
    Reglage = 1;
    while (Reglage == 1) {
      Serial.print(" dans le while ");
      if ( digitalRead(Broche_BP_HAUT) == HIGH) {
        Consigne++;
      }
      if ( digitalRead(Broche_BP_BAS) == HIGH) {
        Consigne--;
      }
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("consigne ");
      lcd.setCursor(12, 0);
      lcd.print(Consigne);
      lcd.setCursor(0, 1);
      lcd.print("Reglage ");
      Serial.print(" Consigne :");  Serial.println (Consigne);
      Temps_Actuel = millis();

      Serial.print("Tps_Actuel :");  Serial.print(Temps_Actuel); Serial.print(" Tps_Precedent2 :");   Serial.print(Temps_Precedent2);

      if (Temps_Actuel - Temps_Precedent2 >= Tempo2) {
        Reglage = 0;
        lcd.clear();
        break;
      }
    }
    Temps_Precedent = Temps_Actuel;
    Temps_Precedent2 = Temps_Actuel;
  }
}
Arduino28-FROID-Contrôler une électrovanne par le biais d'une valeur CONSIGNE et d'un DIFFERENTIEL

Modifier la VALEUR d’une VARIABLE depuis l’ECRAN LCD avec 2 boutons poussoirs

Vidéo: Arduino81-MODIFIER la VALEUR d’une VARIABLE depuis l’ÉCRAN LCD avec 2 boutons poussoirs

/*2018-08 Arduino81-MODIFIER la VALEUR d'une VARIABLE depuis l'ÉCRAN  LCD avec 2 boutons poussoirs
 * Chaine Youtube : https://www.youtube.com/playlist?list=PLF88SKt6r7NbK8nCD7TxUbKJJFv1fcR_Z
 * Blog : https://www.e-genieclimatique.com/arduino03-apprendre-lautomatisme-et-la-programmation-avec-larduino-et-e-genieclimatique/
 * on va voir comment j’ai fait pour réussir à modifier une variable qui est affichée sur l’écran LCD avec 2 boutons poussoirs. 
 * Un appui sur les 2 boutons poussoirs en même temps  permet de modifier la variable en accédant au menu réglage. 
 * Le bouton poussoir de gauche incrémente la valeur, le bouton poussoir de droite la décrémente. 
 * On bout d’un certain temps on sort du menu réglage et on ne peut plus modifier la variable
 */
#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int Broche_BP_HAUT = 6;
const int Broche_BP_BAS = 7;
const int Broche_LED = 8;

int Consigne = 15;

int Etat_BP_HAUT = 0;
int Etat_Precedent_BP_HAUT = 0;
int Etat_BP_BAS = 0;
int Etat_Precedent_BP_BAS = 0;

int Reglage = 0;
int Tempo = 5000;
int Tempo2 = 10000;

unsigned long Temps_Actuel;
unsigned long Temps_Precedent = 0;
unsigned long Temps_Precedent2 = 0;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(Broche_BP_HAUT, INPUT);
  pinMode(Broche_BP_BAS, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {
  Temps_Actuel = millis();
  digitalWrite (Broche_LED, HIGH);
  Etat_BP_HAUT = digitalRead(Broche_BP_HAUT);
  Etat_BP_BAS = digitalRead(Broche_BP_BAS);
  Serial.print("Tps_Actuel :");  Serial.print(Temps_Actuel);
  Serial.print(" Tps_Precedent :");   Serial.print(Temps_Precedent);
  Serial.print(" Etat_BP_HAUT :");   Serial.print(Etat_BP_HAUT);
  Serial.print(" Etat_BP_BAS :");   Serial.print(Etat_BP_BAS);
  Serial.print(" Reglage :");   Serial.print(Reglage);
  Serial.print(" Consigne :");  Serial.println (Consigne);

  //lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("consigne ");
  lcd.setCursor(12, 0);
  lcd.print(Consigne);


  if ((Etat_BP_HAUT == 1) && (Etat_BP_BAS == 1) && (Temps_Actuel - Temps_Precedent >= Tempo)) {
    Temps_Precedent = Temps_Actuel;
    Temps_Precedent2 = Temps_Actuel;
    Reglage = 1;
    while (Reglage == 1) {
      Serial.print(" dans le while ");
      if ( digitalRead(Broche_BP_HAUT) == HIGH) {
        Consigne++;
      }
      if ( digitalRead(Broche_BP_BAS) == HIGH) {
        Consigne--;
      }
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("consigne ");
      lcd.setCursor(12, 0);
      lcd.print(Consigne);
      lcd.setCursor(0, 1);
      lcd.print("Reglage ");
      Serial.print(" Consigne :");  Serial.println (Consigne);
      Temps_Actuel = millis();

      Serial.print("Tps_Actuel :");  Serial.print(Temps_Actuel); Serial.print(" Tps_Precedent2 :");   Serial.print(Temps_Precedent2);

      if (Temps_Actuel - Temps_Precedent2 >= Tempo2) {
        Reglage = 0;
        lcd.clear();
        break;
      }
    }
    Temps_Precedent = Temps_Actuel;
    Temps_Precedent2 = Temps_Actuel;
  }
}
Arduino81-MODIFIER la VALEUR d'une VARIABLE depuis l'ÉCRAN LCD avec 2 boutons poussoirs

Fichier zip avec le fichier TXT code source : arduino81

INTÉGRATION du PROGRAMME pour MODIFIER la VARIABLE CONSIGNE dans le programme MENU

VidéoArduino83-INTÉGRATION du PROGRAMME pour MODIFIER la VARIABLE CONSIGNE dans le programme MENU

Fichier zip avec le fichier TXT code source : arduino83

/* Chaine Youtube : https://www.youtube.com/playlist?list=PLF88SKt6r7NbK8nCD7TxUbKJJFv1fcR_Z
 * Blog : https://www.e-genieclimatique.com/arduino03-apprendre-lautomatisme-et-la-programmation-avec-larduino-et-e-genieclimatique/ 
 */

/*(Arduino83) Programme fonctionnel du menu 01 avec la consigne modifiable*/

#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int Broche_BP_HAUT = 6;
const int Broche_BP_BAS = 7;
const int Broche_LED = 8;

int Etat_Moteur = 0;
int Consigne = 15;
int valeur_BP = 0;

int Etat_BP_HAUT = 0;
int Etat_Precedent_BP_HAUT = 0;
int Etat_BP_BAS = 0;
int Etat_Precedent_BP_BAS = 0;

int Reglage = 0;
int Tempo = 5000;
int Tempo2 = 10000;

unsigned long Temps_Actuel;
unsigned long Temps_Precedent;
unsigned long Temps_Precedent2 = 0;

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(Broche_BP_HAUT, INPUT);
  pinMode(Broche_BP_BAS, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {

  Temps_Actuel = millis();
  digitalWrite (Broche_LED, HIGH);

  Etat_BP_HAUT = digitalRead(Broche_BP_HAUT);
  Etat_BP_BAS = digitalRead(Broche_BP_BAS);
  //changer de menu
  if ((Etat_BP_HAUT == HIGH && Etat_Precedent_BP_HAUT == LOW) && (valeur_BP >= 0 && valeur_BP <= 5 ) && (Reglage == 0)) {
    valeur_BP = valeur_BP + 1;
  }

  if ((Etat_BP_BAS == HIGH && Etat_Precedent_BP_BAS == LOW) && (valeur_BP >= 1 && valeur_BP <= 6 ) && (Reglage == 0)) {
    valeur_BP--;
  }
  Etat_Precedent_BP_HAUT = Etat_BP_HAUT ;
  Etat_Precedent_BP_BAS = Etat_BP_BAS ;

  Serial.print("Tps_Actuel :");
  Serial.print(Temps_Actuel);

  Serial.print(" Tps_Precedent :");
  Serial.print(Temps_Precedent);

  Serial.print(" Reglage :");
  Serial.print(Reglage);

  //Serial.print(" Etat_BP_HAUT :");
  //Serial.print(Etat_BP_HAUT);

  // Serial.print(" Etat_BP_BAS :");
  //Serial.print(Etat_BP_BAS);

  Serial.print(" valeur_BP :");
  Serial.println(valeur_BP);

  switch (valeur_BP) {
    case 0:
      //menu0
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("0-Marche Machine");

      lcd.setCursor(0, 1);
      lcd.print(" ON / OFF :  ");

      lcd.setCursor(12, 1);
      lcd.print("xx");
      break;

    case 1:
      //menu1
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("1-Consigne : ");
      lcd.setCursor(13, 0); lcd.print(Consigne);

      if ((Etat_BP_HAUT == 0) && (Etat_BP_BAS == 0)) {
        Temps_Precedent = Temps_Actuel;
      }

      if ((Etat_BP_HAUT == 1) && (Etat_BP_BAS == 1) && (Temps_Actuel - Temps_Precedent >= Tempo)) {

        Temps_Precedent2 = Temps_Actuel;
        Reglage = 1;
        while (Reglage == 1) {
          Serial.print(" dans le while ");
          if ( digitalRead(Broche_BP_HAUT) == HIGH) {
            Consigne++;
          }
          if ( digitalRead(Broche_BP_BAS) == HIGH) {
            Consigne--;
          }
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print("consigne ");
          lcd.setCursor(12, 0);
          lcd.print(Consigne);
          lcd.setCursor(0, 1);
          lcd.print("Reglage ");
          Serial.print(" Consigne :");  Serial.println (Consigne);
          Temps_Actuel = millis();

          Serial.print("Tps_Actuel :");  Serial.print(Temps_Actuel); Serial.print(" Tps_Precedent2 :");   Serial.print(Temps_Precedent2);

          if (Temps_Actuel - Temps_Precedent2 >= Tempo2) {
            Reglage = 0;
            lcd.clear();
            break;
          }
        }
        Temps_Precedent2 = Temps_Actuel;
      }
      break;

    case 2 :
      //menu 2
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("2-Intervalle Degivrage : ");
      break;

    case 3:
      //menu3
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("3-Tps Degivrage : ");

      break;
  }
}
(Arduino83) Programme fonctionnel du menu 01 avec la consigne modifiable

Mettre en MARCHE ou ARRÊTER une machine depuis un ÉCRAN LCD et 2 Boutons Poussoirs

Vidéo : Arduino84-Mettre en MARCHE ou ARRÊTER une machine depuis un ÉCRAN LCD et 2 Boutons Poussoirs

Fichier zip avec le fichier TXT code source : arduino84

/* Chaine Youtube : https://www.youtube.com/playlist?list=PLF88SKt6r7NbK8nCD7TxUbKJJFv1fcR_Z
 * Blog : https://www.e-genieclimatique.com/arduino03-apprendre-lautomatisme-et-la-programmation-avec-larduino-et-e-genieclimatique/ 
 */

// Arduino84 MENU MARCHE MACHINE ON-OFF
#include<LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int Broche_BP_HAUT = 6;
const int Broche_BP_BAS = 7;
const int Broche_LED = 8;

int Etat_Moteur = 0;
int Consigne = 15;
int valeur_BP = 0;

int Etat_BP_HAUT = 0;
int Etat_Precedent_BP_HAUT = 0;
int Etat_BP_BAS = 0;
int Etat_Precedent_BP_BAS = 0;

int Reglage = 0;
int Tempo = 5000;
int Tempo2 = 10000;

unsigned long Temps_Actuel;
unsigned long Temps_Precedent;
unsigned long Temps_Precedent2 = 0;


void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  pinMode(Broche_BP_HAUT, INPUT);
  pinMode(Broche_BP_BAS, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {

  Temps_Actuel = millis();

  Etat_BP_HAUT = digitalRead(Broche_BP_HAUT);
  Etat_BP_BAS = digitalRead(Broche_BP_BAS);
  //changer de menu
  if ((Etat_BP_HAUT == HIGH && Etat_Precedent_BP_HAUT == LOW) && (valeur_BP >= 0 && valeur_BP <= 5 ) && (Reglage == 0)) {
    valeur_BP = valeur_BP + 1;
  }

  if ((Etat_BP_BAS == HIGH && Etat_Precedent_BP_BAS == LOW) && (valeur_BP >= 1 && valeur_BP <= 6 ) && (Reglage == 0)) {
    valeur_BP--;
  }
  Etat_Precedent_BP_HAUT = Etat_BP_HAUT ;
  Etat_Precedent_BP_BAS = Etat_BP_BAS ;

  Serial.print(" Tps_Actuel :");
  Serial.print(Temps_Actuel);

  Serial.print(" Tps_Precedent :");
  Serial.print(Temps_Precedent);

  Serial.print(" Reglage :");
  Serial.print(Reglage);

  Serial.print(" valeur_BP :");
  Serial.println(valeur_BP);

  switch (valeur_BP) {
    case 0:
      //menu0 MARCHE ARRET MACHINE
      //lcd.clear();
      lcd.setCursor(0, 0); lcd.print("0-Marche Machine");
      lcd.setCursor(0, 1); lcd.print(" ON / OFF:  ");

      if (Etat_Moteur == 0) {
        //lcd.clear();
        lcd.setCursor(0, 0); lcd.print("0-Marche Machine");
        lcd.setCursor(0, 1); lcd.print(" ON / OFF: ");
        lcd.setCursor(12, 1); lcd.print("OFF");
      }
      else {
        lcd.setCursor(12, 1); lcd.print("ON");
      }

      lcd.setCursor(0, 1);
      lcd.print(" ON / OFF:  ");

      if ((Etat_BP_HAUT == 0) && (Etat_BP_BAS == 0)) {
        Temps_Precedent = Temps_Actuel;
      }

      if ((Etat_BP_HAUT == 1) && (Etat_BP_BAS == 1) && (Temps_Actuel - Temps_Precedent >= Tempo)) {

        Temps_Precedent2 = Temps_Actuel;
        Reglage = 1;
        while (Reglage == 1) {
          Serial.print(" dans le while ");
          if ( digitalRead(Broche_BP_HAUT) == HIGH) {
            Etat_Moteur = 1;
            lcd.clear();
            lcd.setCursor(0, 0); lcd.print("0-Marche Machine");
            lcd.setCursor(0, 1); lcd.print(" Reglage :  ");
            lcd.setCursor(12, 1); lcd.print("ON");
          }
          if ( digitalRead(Broche_BP_BAS) == HIGH) {
            Etat_Moteur = 0;
            lcd.clear();
            lcd.setCursor(0, 0); lcd.print("0-Marche Machine");
            lcd.setCursor(0, 1); lcd.print(" Reglage :  ");
            lcd.setCursor(12, 1); lcd.print("OFF");
          }

          Serial.print(" Etat_Moteur case0 :");  Serial.print (Etat_Moteur);
          Temps_Actuel = millis();

          Serial.print(" Tps_Actuel :");  Serial.print(Temps_Actuel); Serial.print(" Tps_Precedent2 :");   Serial.println(Temps_Precedent2);

          if (Temps_Actuel - Temps_Precedent2 >= Tempo2) {
            Reglage = 0;
            lcd.clear();
          }
        }
      } //rajout
      break;

    case 1:
      //menu1 CONSIGNE TEMPERATURE
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("1-Consigne: ");
      lcd.setCursor(12, 0); lcd.print(Consigne);
      lcd.setCursor(15, 0); lcd.print("C");

      if ((Etat_BP_HAUT == 0) && (Etat_BP_BAS == 0)) {
        Temps_Precedent = Temps_Actuel;
      }

      if ((Etat_BP_HAUT == 1) && (Etat_BP_BAS == 1) && (Temps_Actuel - Temps_Precedent >= Tempo)) {

        Temps_Precedent2 = Temps_Actuel;
        Reglage = 1;
        while (Reglage == 1) {
          Serial.print(" dans le while ");
          if ( digitalRead(Broche_BP_HAUT) == HIGH) {
            Consigne++;
          }
          if ( digitalRead(Broche_BP_BAS) == HIGH) {
            Consigne--;
          }
          lcd.clear();
          lcd.setCursor(0, 0); lcd.print("consigne ");
          lcd.setCursor(12, 0); lcd.print(Consigne);
          lcd.setCursor(15, 0); lcd.print("C ");
          lcd.setCursor(0, 1); lcd.print("Reglage ");
          Serial.print(" Consigne :");  Serial.println (Consigne);
          Temps_Actuel = millis();

          Serial.print(" Tps_Actuel :");  Serial.print(Temps_Actuel); Serial.print(" Tps_Precedent2 :");   Serial.print(Temps_Precedent2);

          if (Temps_Actuel - Temps_Precedent2 >= Tempo2) {
            Reglage = 0;
            lcd.clear();
            break;
          }
        }

        Temps_Precedent2 = Temps_Actuel;
      }
      break;

    case 2 :
      //menu 2
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("2-Intervalle Degivrage : ");
      break;

    case 3 :
      //menu3
      lcd.clear();
      lcd.setCursor(0, 0); lcd.print("3-Tps Degivrage : ");
      break;
  }

  //Moteur MARCHE ARRET
  if (Etat_Moteur == 1) {
    digitalWrite(Broche_LED, HIGH);
  }
  else {
    digitalWrite(Broche_LED, LOW);
  }
  Serial.print(" Etat_Moteur : "); Serial.print( Etat_Moteur );
}
Arduino84 MENU MARCHE MACHINE ON-OFF

TEMPO TRAVAIL-Programmation sur l’Arduino

VidéoArduino88-TEMPO TRAVAIL-PROGRAMMATION sur l’ARDUINO

Fichier zip avec le fichier TXT code source : arduino88

/* (Arduino88) Faire une TEMPORISATION TRAVAIL Software sur l'ARDUINO et
  avec e-genieclimatique 2019 */

const int Broche_BP_HAUT = 6;
const int Broche_BP_BAS = 7;
const int Broche_LED = 8;

int Etat_BP_HAUT = 0;
int Etat_BP_BAS = 0;

int Tempo_TRAVAIL = 5000; // Temps de la tempo travail en milliseconde

unsigned long Temps_Actuel;
unsigned long Temps_Precedent = 0;

void setup() {
  Serial.begin(9600);
  pinMode(Broche_BP_HAUT, INPUT);
  pinMode(Broche_BP_BAS, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {
  Temps_Actuel = millis();

  Etat_BP_HAUT = digitalRead(Broche_BP_HAUT);
  Etat_BP_BAS = digitalRead(Broche_BP_BAS);

  if (Etat_BP_HAUT == LOW) {
    Temps_Precedent = Temps_Actuel;
  }

  if ((Etat_BP_HAUT == HIGH) && (Temps_Actuel - Temps_Precedent > Tempo_TRAVAIL)) {
    digitalWrite (Broche_LED, HIGH);
  }

  if (Etat_BP_BAS == HIGH) {
    digitalWrite (Broche_LED, LOW);
  }
  Serial.print(" Temps_Actuel : "); Serial.print(Temps_Actuel);
  Serial.print(" Temps_Precedent : "); Serial.print(Temps_Precedent);
  Serial.print(" Etat_BP_HAUT : "); Serial.print(Etat_BP_HAUT);
  Serial.print(" Etat_BP_BAS : "); Serial.print(Etat_BP_BAS);
  Serial.print(" Marche MOTEUR : "); Serial.println(digitalRead(Broche_LED));
}
(Arduino88) Faire une TEMPORISATION TRAVAIL Software sur l'ARDUINO et avec e-genieclimatique 2019

TEMPO REPOS- PROGRAMMATION sur l’ARDUINO (MINUTERIE)

VidéoArduino89-TEMPO REPOS- PROGRAMMATION sur l’ARDUINO (MINUTERIE)

Fichier zip avec le fichier TXT code sourcearduino89

/*Programme TEMPORISATION REPOS (Arduino89)
   lorsqu'on appuie sur le  Bouton Poussoir, le BP est à 1 et  la sortie passe de 0 à 1, la LED est allumée
   lorsqu'on relache le Bouton Poussoir, le BP est à 0 et la sortie reste à 1 le temps de la temporation repos qui est ici de 5 secondes
   Après 5 seconde la sortie passe à 0 , la LED est eteinte.
   NOTE IMPORTANTE :  Tant que le BP reste 1 (doigt appuyer sur le BP) la temporisation ne s'écoule pas. La temporisation ne commence que quand le BP passe à 0
*/
const int Broche_BP = 6;
const int Broche_LED = 8;

int Etat_BP = 0;
int Ordre_Tempo = 0;
int Moteur = 0;

unsigned long Temps_Actuel;
unsigned long Temps_Precedent;

unsigned long Tempo_Repos = 8000; // Temps de la temporisation REPOS 8s

void setup() {
  Serial.begin(9600);
  pinMode(Broche_BP, INPUT);
  pinMode(Broche_LED, OUTPUT);
}

void loop() {
  Temps_Actuel = millis();
  //GESTION TEMPORISATION REPOS---------------------------------------------------
  Etat_BP = digitalRead(Broche_BP);

  if (Etat_BP == HIGH) {
    Temps_Precedent = Temps_Actuel;
    Ordre_Tempo = 1;
  }
  if (Ordre_Tempo == 1) {
    if ((Temps_Actuel -  Temps_Precedent) < Tempo_Repos) {
      Moteur = 1;
    }
    else {
      Moteur = 0;
      Ordre_Tempo = 0;
    }
  } 
  //FIN GESTION TEMPORISATION REPOS
  //------------------------------------------------------------------------------
  //GESTION ARRET / MARCHE MOTEUR
  if (Moteur == 1 ) {
      digitalWrite(Broche_LED, HIGH);
  }
  else {
    digitalWrite(Broche_LED, LOW);
  }
  Serial.print(";Temps_Actuel : "); Serial.print(Temps_Actuel);
  Serial.print("; Temps_Precedent : "); Serial.print(Temps_Precedent);
  Serial.print("; Etat_BP: "); Serial.print(Etat_BP);
  Serial.print("; Etat Moteur: "); Serial.println( digitalRead( Broche_LED));
}
Programme TEMPORISATION REPOS (Arduino89)

 

NOTE : mon compte github a été suspendu et je ne sais pas pourquoi, peut être à cause des liens qui renvoient sur mon blog ???

À propos de Jean-Pierre MAZEL

Technicien de Maintenance en Génie Climatique et Technicien Frigoriste
Cette entrée a été publiée dans Arduino, Automatisme-Programamtion, avec comme mot(s)-clef(s) . Vous pouvez la mettre en favoris avec ce permalien.