[Programmation] Arduino DHT22
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Arduino DHT22



  1. #1
    lucieac

    Arduino DHT22


    ------

    Bonjour,

    Je viens vers vous car après des dizaines d'essaies je n'arrive pas à faire fonctionner mon DHT 22 à 4 pins avec mes arduino alors que il y a deux semaines tout fonctionné parfaitement. Voici mon code :
    Code:
     
    #include "DHT.h"   
              
    #define DHTPIN 2
    #define DHTTYPE DHT22 // DHT11 sinon
    
    DHT dht(DHTPIN, DHTTYPE);
    
    void setup() 
    {
      // On initialise la connexion série
      Serial.begin(9600);
      delay(3000);
    dht.begin();
      // On imprime un texte de bienvenu
      Serial.println("Salut je me réveille");
      Serial.println("-----");
    }
    
    void loop() 
    {
      // On récupère la température de l'air
        double t = dht.readTemperature();
    
      // On imprime la température de l'air
      Serial.print("Température de l'air: ");
      Serial.print(t);
      Serial.println("°C");
    
      // On récupère l'humidité de l'air
      double dHumidExt = dht.readHumidity();
      
      // On imprime l'humidité de l'air
      Serial.print("Humidité de l'air: ");
      Serial.print(dHumidExt);
      Serial.println("%");
    
      Serial.println("-----");
    
      // On attends 60 secondes
      delay(20000);
    }
    Ce même code fonctionne avec mon DHT 11. Je pense que le problème vient donc de mon câblage, j'ai regarder différentes vidéos et datasheet et chacune à sa version de la chose, je les ai essayer sans aucun succès. Je me reporte donc à vous pour savoir si quelqu'un aurait la solution pour faire fonctionner mon DHT 22.

    -----

  2. #2
    umfred

    Re : Arduino DHT22

    on se rapproche d'un problème électronique alors si le code fonctionne.
    Quel est le symptôme qui te fait dire que ça ne marche pas ? il te renvoie toujours la même valeur ? dans ce cas-là, ça peut être le DHT 22 qui est en panne.
    Poste-nous ton schéma pour voir (a minima, il faut juste une résistance sur la ligne de données (d'après la doc, 1k), éventuellement un condensateur de découplage entre les pins d'alimentation)

  3. #3
    lucieac

    Re : Arduino DHT22

    Merci de votre réponse.
    Je câble mon dht 22 qu'on on peut le voir sur le schéma ci-dessous (la grille est de face).
    20200715_184210.jpg20200715_184210.jpg
    Ce qui me fait dire qu'il ne fonctionne pas et que il ne me renvoie pas de valeur dans le port série comme on peut le voir à la capture d'écran.
    capture dht22 com4.JPG

  4. #4
    jiherve

    Re : Arduino DHT22

    bonsoir,
    l'affichage dit NAN not a number ce qui signifie que ce qui est lu n'est pas un flottant , pourquoi le serait il d'ailleurs!
    apparemment la librairie semble faire la conversion à condition que cela soit la bonne.
    JR
    Dernière modification par jiherve ; 15/07/2020 à 19h18.
    l'électronique c'est pas du vaudou!

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

    Re : Arduino DHT22

    Bonjour, merci de votre réponse. Un float est un nombre décimal à virgules flottantes. Dans mon programme j'utilise double (je sais que c'est énorme) donc je ne comprend pas votre réflexion pouvez vous s'il vous plait expliciter.

  7. #6
    umfred

    Re : Arduino DHT22

    @jiherve, la fonction renvoie directement la température en Celsius ou Fahrenheit sous forme de float, donc pas de souci de ce côté là

    NAN c'est la valeur attribuée par défaut à la température au début de la fonction readTemperature() (cf la librairie https://github.com/adafruit/DHT-sensor-library)

    @lucieac il pourrait être intéressant de rajouter la ligne (ou de la décommenter dans le fichier DHT.h, au choix)
    #define DHT_DEBUG
    en tout début de code (avant le #include "DHT.h"); ça permettrait d'afficher les informations de debug, en particulier au moment de l'interrogation du composant

  8. #7
    lucieac

    Re : Arduino DHT22

    Bonjour, je viens de tester de mettre #define DHT_DEBUG et cela n'a rien changé il n'y a aucun affichage en plus ou aucune information supplémentaire.
    Nom : CAP DEBUG.jpg
Affichages : 502
Taille : 68,0 Ko

  9. #8
    jiherve

    Re : Arduino DHT22

    Bonjour,
    @umfred : oui j'avais vu .
    JR
    l'électronique c'est pas du vaudou!

  10. #9
    umfred

    Re : Arduino DHT22

    Citation Envoyé par lucieac Voir le message
    Bonjour, je viens de tester de mettre #define DHT_DEBUG et cela n'a rien changé il n'y a aucun affichage en plus ou aucune information supplémentaire.
    Essai en décommentant la ligne dans le fichier DHT.h pour voir (c'est peut-être un problème de "visibilité" du define)

  11. #10
    paulfjujo

    Re : Arduino DHT22

    bonjour,

    Code:
     // On imprime la température de l'air
      Serial.print("Température de l'air: ");
      Serial.print(t);
    print imprime de l'ascii
    il ne manquerait pas une fonction du genre
    Code:
    char texte[20);
    
     floatToStr(t, texte); 
     Serial.print(texte);

    ou

    sprintf(texte, "Température de l'air: %3.2f °C",t);
    Serial.println(texte);
    Dernière modification par paulfjujo ; 16/07/2020 à 12h21.

  12. #11
    umfred

    Re : Arduino DHT22

    le Serial.print() est assez souple => https://www.arduino.cc/reference/en/.../serial/print/

  13. #12
    mag1

    Re : Arduino DHT22

    Bonjour,

    Je n'apporte pas de solution, vu que je ne pratique ps l'arduino.
    Je viens juste dire que je n'aime pas le DHT22, sans doute parce que le protocole propriétaire est difficilement exploitable par un picaxe, un poil trop lent pour l'exercice.

    Heureusement, il y a des alternatives, comme le SI7021, aussi plus performant.
    http://electromag1.wifeo.com/capteur...-et-si7021.php

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Discussions similaires

  1. Capteur DHT22 et arduino
    Par invitedbec748e dans le forum Électronique
    Réponses: 7
    Dernier message: 29/10/2015, 15h37
  2. Plusieurs DHT22, même bus ?
    Par invite16dd091f dans le forum Électronique
    Réponses: 2
    Dernier message: 28/04/2015, 10h49
  3. Capteur DHT22 et DS18B20
    Par invite786add39 dans le forum Électronique
    Réponses: 23
    Dernier message: 19/03/2015, 22h28
  4. 3 DHT22 et 1 e blocks, comment faire ?
    Par invite16dd091f dans le forum Électronique
    Réponses: 3
    Dernier message: 20/01/2015, 13h02
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...