Forum de LAPLLA.net

Version complète : Gestion de l'éclairage - 001
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Version pédagogique 001

Prévoir une version 002 d'après les tuto suivants :
Code :
int photoresistante   =   0;        //  define a pin for Photo resistor
bool blink_red        =   false;    //  true ---> Led rouge clignote ; false  ----> Led rouge éteinte
bool auto_allowed     =   false;    //  true ---> autorise mode automatique ; false  ----> désactive mode automatique
bool nuit             =   true;
bool lampe_allumee    =   true;


// the setup function runs once when you press reset or power the board
void setup() {
  
  Serial.begin(9600);

  pinMode(  2, OUTPUT );       // ROUGE digital
  pinMode(  7, INPUT  );       // Interrupteur PHARES manuels
  pinMode( 12, INPUT  );       // Interrupteur PHARES automatiques

}


void gestion_automatique_phares(int value) {

  // Quand valeur supérieure à 1000, lumière éteinte

  nuit = (value > 1001);

  if ((nuit == true) && (lampe_allumee == true)) {
    lampe_allumee = false;
    Serial.print("Nuit tombee\n");
    
  }
  else
    if ((nuit == false) && (lampe_allumee == false)) {
      lampe_allumee = true;
      Serial.print("Jour leve\n");
    }
    
  if ((lampe_allumee == false) && (!blink_red)) {
    blink_red = true;
    Serial.print("auto - Blink_red:");
    Serial.print(blink_red);
    Serial.print("\n");  
  }
  else if ((lampe_allumee == true) && (blink_red)) {
    blink_red = false;
    Serial.print("auto - Blink_red:");
    Serial.print(blink_red);
    Serial.print("\n");  
  }
  
}

// the loop function runs over and over again forever rouge
void loop() {

  int Bouton_State_manuel;
  int Bouton_State_auto;
  int photoresistance_value;

  photoresistance_value    = analogRead(photoresistante);
  Bouton_State_manuel      = digitalRead(7);
  Bouton_State_auto        = digitalRead(12);
  delay(20);
  
  // ********************************************************************************​***************
  // ** Activation des phares manuellement : begin

  if (Bouton_State_manuel == HIGH) {
    blink_red = !blink_red;
    Serial.print("Blink_red:");
    Serial.print(blink_red);
    Serial.print("\n");  
  }

  if (blink_red==true) {
    digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  }
  else {
    digitalWrite(2, LOW);   // turn the LED on (HIGH is the voltage level)
  }
  
  // ** Activation des phares manuellement : end
  // ********************************************************************************​***************
  
  
  
  // ********************************************************************************​***************
  // ** Activation des phares automatique : begin

  if (Bouton_State_auto == HIGH) {
    auto_allowed = !auto_allowed;
    Serial.print("auto_allowed:");
    Serial.print(auto_allowed);
    Serial.print("\n");
  }

  if (auto_allowed) {
    gestion_automatique_phares(photoresistance_value);
  }

  // ** Activation des phares automatique : end
  // ********************************************************************************​***************

  delay(250); // wait for
}
URLs de référence