DHT11 Temperature – Humidity

Bonjour,

j'essais d'utiliser DHT11 Temperature and Humidity Sensor suivant le programme à cette adresse internet :
https://www.brainy-bits.com/dht11-tutorial/

la séquence vérifier et téléverser ok , sauf affichage mesures = 0 !

Par contre j'utilise arduino mega 2560 au lieu de UNO . Est cela le probléme , peut être code doit être différent ?

Cordialement .

A priori, je n'aurais pas utilisé une bibliothèque peu connue pour démarrer avec un composant très populaire (et qui ne m'a jamais posé de problème) . Je suis d'autant plus mal à l'aise que le DHT11 a 4 battes (dont une qui ne sert à rien) et que le tutoriel que vous liez n'en montre que trois.
Pourquoi ne pas demarrer avec un tutoriel eprouvé, comme celui de ladyada Connecting to a DHTxx Sensor | DHT11, DHT22 and AM2302 Sensors | Adafruit Learning System qui n'oublie pas une resistance de tirage de 10 k?
et qui vous lie vers les librairies d'adafruit (qui sont maintenues au cours du temps: un individu, si brillant fût il, ne peut pas le faire).
Normalement, le passage du UNO au Mega ne pose aucun problème ...

Sur la Mega il existe deux "interfaces séries".
N'y a -t-il pas confusion dans le couple (nommage/connexions).

Conseil : commencer par écrire un texte quelconque sur le moniteur de l'IDE

AFAIK, il existe plus de deux ports serie sur le 2560...(abondance de biens n'a jamais nui)

Et je ne m'inquieterais pas trop de l'interface serie:
normalement, si le lien -que je critique par ailleurs- a été suivi scrupuleusement, il affiche un message très complet -et le mega peut être programmé.

 DHT.read11(dht_apin);
    
    Serial.print("Current humidity = ");
    Serial.print(DHT.humidity);
    Serial.print("%  ");
    Serial.print("temperature = ");
    Serial.print(DHT.temperature); 
    Serial.println("C  ");

Son ecran serie devrait contenir:
Current humidity = ???% temperature = ???C
qui se rafraîchit toutes les >= 5 secondes....

Bonjour,

Il n'y a pas de raison pour que ça ne fonctionne pas.

Ca veut dire quoi "affichage mesures = 0" ?

  • Tu n'as rien qui s'affiche? Vérifies que le terminal série est bien configuré avec la bonne vitesse
  • Les mesures sont incorrectes? Vérifies que ton cablage est correcte et que tu as bien un pullup de 10k sur la pin data.

Il y a une très bonne (ou plutôt très mauvaise raison) pour que ça ne fonctionne pas:
“que tu as bien un pullup de 10k sur la pin data.”
Le tutoriel cité ne montre aucune resistance de tirage (regarder son schema fitzing, la photo de sa broad beard, le texte: brainy bits n’en parle NULLE PART ).
A fortiori, il n’explique pas à quoi elle sert (ce que fait le tutoriel de lady Ada).

Un individu très brillant peut commettre des etourderies, et poster une fois que ça marche pour lui par hasard; s’il a une nouvelle idee, il n’aura à la longue pas le temps de corriger ses éventuelles bêtises. Une société innovante (et féministe, ce qui ne gâche rien) , qui n’aimerait pas avoir affaire à des mécontents, ne peut pas s’offrir ce luxe et teste plus sérieusement.

Très souvent cette résistance est pré-implantée dans les modules du commerce, vérifier sa présence avec un ohmmetre.
Il est inutile de descendre en dessous de 10k, cela n'apporte rien si ce n'est une consommation inutile.

Cette résistance est obligatoire pour refermer le circuit car l'étage de sortie des DHT est un collecteur ouvert.