[Programmation] Condition T° pour DHT Arduino
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Condition T° pour DHT Arduino



  1. #1
    invite35fd6583

    Condition T° pour DHT Arduino


    ------

    Bonjour à tous, je suis nouveau dans ce forum, je demande votre aide pour finir un code Arduino, et d'avance MERCI pour votre aide.
    Je voudrais actionner un relais pour fermeture de porte lorsque la T° et de 26° - ou - 5°.J'ai fait des essai lorsque T° >26 c'est bon la porte s'ouvre mais dés que j'ai une T° à 25,9 elle se referme bref çà fait yoyo. J'aurais voulu avoir une marge, c'est à dire de 5° par exemple. Voici le code, c'est la fin ou je berdouille.
    Je signale que je n'y connais rien en codage mais en collant des bout de code et en essayant de comprendre,je suis arrivé à faire celui-ci.
    Encore MERCI à tous
    Code:
    [HTML// include LCD library code
    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    // include DHT library code
    #include "DHT.h"
    
    #define DHTPIN A1
    const int relayPin = 3;
    // DHT22 data pin is connected to Arduino pin 8
    
    LiquidCrystal_I2C lcd(0x27, 20, 4);
    
    #define DHTTYPE DHT22       // DHT22 sensor is used
    DHT dht(DHTPIN, DHTTYPE);   // Initialize DHT library
    
    char temperature[] = "Temp = 00.0 C";
    char humidity[]    = "RH   = 00.0 %";
    
    void setup() {
      lcd.init();
    
    
      lcd.backlight();
      // set up the LCD's number of columns and rows
      lcd.begin(20, 4);
      dht.begin();
    }
    
    void loop() {
      delay(1000);               // wait 1s between readings
      // Read humidity
      int RH = dht.readHumidity() * 10;
      //Read temperature in degree Celsius
      int Temp = dht.readTemperature() * 10;
    
      // Check if any reads failed and exit early (to try again)
      if (isnan(RH) || isnan(Temp)) {
        lcd.clear();
        lcd.setCursor(5, 0);
        lcd.print("Error");
        return;
      }
    
      if (Temp < 0) {
        temperature[6] = '-';
        Temp = abs(Temp);
      }
      else
        temperature[6] = ' ';
      temperature[7]   = (Temp / 100) % 10  + 48;
      temperature[8]   = (Temp / 10)  % 10  + 48;
      temperature[10]  =  Temp % 10 + 48;
      temperature[11]  = 223;        // Degree symbol ( °)
      if (RH >= 1000)
        humidity[6]    = '1';
      else
        humidity[6]    = ' ';
      humidity[7]      = (RH / 100) % 10 + 48;
      humidity[8]      = (RH / 10) % 10 + 48;
      humidity[10]     =  RH % 10 + 48;
      lcd.setCursor(0, 0);
      lcd.print(temperature);
      lcd.setCursor(0, 1);
      lcd.print(humidity);
      lcd.setCursor(0, 2);
      lcd.print("Ouvert si Tp > 25");
      lcd.setCursor(0, 3);
      lcd.print("Serre ouverte");
    
    
    
    
    
      {
        pinMode(3 , OUTPUT);
    
      }
    
    
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      
      if (t > 26 )
      {
        digitalWrite(3 , HIGH);
      
      }
    if (t < 24 )
      {
        digitalWrite(3 , HIGH);
      
      }
    }][/HTML]

    -----
    Dernière modification par gienas ; 28/06/2021 à 19h32. Motif: Ajouté les balises code obligatoires pour les programmes

  2. #2
    nornand

    Re : Condition T° pour DHT Arduino

    bjr .

    tu fais 2 fois la même fonction
    pinMode(3 , OUTPUT);

    }


    float h = dht.readHumidity();
    float t = dht.readTemperature();

    if (t > 26 )
    {
    digitalWrite(3 , HIGH);

    }
    if (t < 24 )
    {


    digitalWrite(3 , HIGH);

    }





    la structure du if :
    if (x > 120) digitalWrite(LEDpin, HIGH);

    if (x > 120)
    digitalWrite(LEDpin, HIGH);

    if (x > 120) {digitalWrite(LEDpin, HIGH);}

    if (x > 120) {
    digitalWrite(LEDpin1, HIGH);
    digitalWrite(LEDpin2, HIGH);
    }
    Dernière modification par nornand ; 28/06/2021 à 19h35.

  3. #3
    Gyrocompas

    Re : Condition T° pour DHT Arduino

    Bonjour,
    Dans une version analogique pour éviter ce phénomène, un hystérésis est introduit.
    Le seuil de déclenchement varie selon l'état actif du dispositif.

    La meilleure solution consisterait à faire des mesures à intervalles réguliers et d'estimer le sens de la variation de température croissante/décroissante sur une période longue (intégration).
    Comparée avec le seuil choisi, déterminerait l'action de la porte.

  4. #4
    mag1

    Re : Condition T° pour DHT Arduino

    Citation Envoyé par gthum59 Voir le message
    Je voudrais actionner un relais pour fermeture de porte lorsque la T° et de 26° - ou - 5°.J'ai fait des essai lorsque T° >26 c'est bon la porte s'ouvre mais dés que j'ai une T° à 25,9 elle se referme bref çà fait yoyo. J'aurais voulu avoir une marge, c'est à dire de 5° par exemple. Voici le code, c'est la fin ou je berdouille.
    Bonjour,
    Il est très simple d'introduire une hystérésis dans un code. Il faut simplement deux seuils décalés.
    Ex: Si T°>26 => gosub on ouvre la porte
    Si T°<24 => gosub on ferme la porte
    Et entre 24 et 26...on ne fait rien.
    MM
    Dernière modification par mag1 ; 29/06/2021 à 12h40.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  5. A voir en vidéo sur Futura
  6. #5
    invite35fd6583

    Re : Condition T° pour DHT Arduino

    Merci beaucoup nornand

  7. #6
    invite35fd6583

    Re : Condition T° pour DHT Arduino

    Merci pour le conseil,je vais faire des recherches

Discussions similaires

  1. [Programmation] condition pour arduino
    Par invited35955f1 dans le forum Électronique
    Réponses: 3
    Dernier message: 28/04/2017, 18h26
  2. [Outils/Fab/Comp] Quelle carte arduino choisir ? Et probleme condition
    Par invite62a323e3 dans le forum Électronique
    Réponses: 0
    Dernier message: 08/02/2017, 17h11
  3. Condition périodique et condition aux limites dans Abaqus
    Par invitefede88b7 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 15/03/2016, 17h27
  4. condition pour aller en L1 bio
    Par invite93f6838d dans le forum Orientation après le BAC
    Réponses: 3
    Dernier message: 17/03/2011, 04h11
  5. Condition pour une fac de médecine
    Par invite09d06cc9 dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 08/02/2011, 02h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...