[ARDUINO] Besoin d'aide sur un décodage de TRAM.

Bonjour,

Je suis en terminale SIN, et donc j'ai un projet à rendre pour la fin de l'année.

J'aurais besoin d'aide sur un décodage de TRAM du capteur DHT11 vers une carte Arduino Uno.

J'ai essayé de décodé cette tram, je voulais savoir si j'avais raison, ou si j'ai fait des erreurs me précisées lesquelles.

Merci

Lien de la TRAM (schéma):[Tuto] Capteur température & humidité DHT11 | Skyduino - Le DIY à la française

Ce que j'ai fait (mettre des mots sur les tram):

---DECODAGE TRAM---
-La carte Arduino envoie un signal, donc le transistor est passant, au capteur DHT11.
-Le transistor devient bloquant, c’est le Pull-up qui prend le relais, en envoyant du +5V.
-Le capteur DHT11 répond, en disant qu’il est prêt a fonctionner ou non.
-Le pull up prend le relais, en attendant que le capteur envoie des infos sur son fil DATA.
-Le capteur envoie un bit 0 pendant 50us. Il envoie un bite 1 pendant 75us ensuite.

Cordialement,

bonjour,
pourquoi ne pas utiliser la lib dht?

C'est ce que j'ai fais, mais je voulais savoir si ce que j'ai marquer plus haut correspondait bien, au schéma que il ya dans le liens (plus haut)... Les schémas avec le VCC et GND

Un lien parmi d'autres vers la datasheet du produit : (le vrai nom du DHT11 est AM2301)

Le meilleure bibliothèque est ici sur le site Arduino dans l'onglet "Learning/ Playground" -> Auteur Rob Tillaert
Eviter les bibliothèques Adafruit, Sparkfun et autres qui utilisent digitalRead() qui est trop lent et qui provoque des erreurs de lecture.

-Le capteur envoie un bit 0 pendant 50us. Il envoie un bite 1 pendant 75us ensuite.

Pas tout à fait.
Pour envoyer un "bit" "0" le capteur envoi un élément binaire "0" suivi d'un élément binaire "1" : le "1" étant plus court que le "0".
Pour envoyer un "bit" "1" le capteur envoi un élément binaire "0" suivi d'un élément binaire "1" : le "1" étant plus long que le "0".

Clarification :
un bit est une information soit 1, soit 0
un élément binaire est un signal logique qui vaut soit 1 soit 0

Dans le cas du DHT11 c'est un peu déroutant mais pour obtenir une information (un bit) 1 ou 0 il faut envoyer 2 signaux logiques.

Je te remercie de ta réponse et tes recherches qui m'ont aider !

Je précise pour éviter toute confusion que je ne parlais là que des informations de température, humidité et somme de contrôle.
La procédure d’acquiescement (acknoledge) utilise aussi un couple 0/1 mais ce n'est pas le même.

Bonjour,

Je vous relance, car je n’arrive pas trop a comprend le tableau, et l’algorithme.
Je galère avec le vocabulaire anglais associé, si quelqu’un peux m’aider …

Merci

Fonctionnement_dht.PNG

Prend la bibliothèque du "playground" et regarde comment elle fait le travail :

  1. Réveil
  2. Réponse (acquiescement)
  3. Envoie des bits (1 bit = 1 couple 0 de temps constant suivi d'un 1 plus ou moins long).
    Dans la suite de couples (0+1) les premiers sont pour l'humidité puis la température, puis la somme de contrôle.
    La somme de contrôle est calculée dans le capteur en fonction des valeurs humidité et température.
    Si l'utilisateur le désire il peut la recalculer avec les valeurs qu'il a détecté et comparer avec la somme qu'il a reçu.
    C'est simple à comprendre.

Donc si j’ai bien compris:

1- Réveil du capteur
2- Réponse (le capteur dit qu’il est prêt à fonctionner)
3- Envoie des bits; (1bit= 1+0 + Un 1 plus ou moins long<- C’est la somme de controle ?

Est-ce que la somme de controle c’est = Humidité plus haute + Humidité plus basse + température plus haute + température plus basse ?

Merci de ta réponse,

PS: Heureusement que tu es la ! :slight_smile:

Envoie des bits; (1bit= 1+0 + Un 1 plus ou moins long<- C’est la somme de controle ?

Est-ce que la somme de controle c’est = Humidité plus haute + Humidité plus basse + température plus haute + température plus basse ?

La somme de contrôle ne se joue pas aux devinettes, son calcul est expliqué dans la datasheet du DHT11.

LA PREMIERE DES CHOSES QUE TU AURAIS DU FAIRE C’EST TELECHARGER LA DATASHEET

Tu sais comment fonctionne un moteur de recherche ?
Il y en a un pas mal : gogole
Tu tape : DHT11 datasheet aosong
N’oublie pas aosong sinon tu aura n’importe quoi comme datasheet.

Dans cette version la somme de contrôle est appellée checksum ou parity bit

Et comme cela à du mal à entrer :
un bit 0 c’est un signal “bas” qui dure 50 µs et un signal “haut” qui dure 27 µs
un bit 1 c’est un signal “bas” qui dure 50 µs et un signal “haut” qui dure 70 µs

Tout est déjà réalisé de manière compréhensible dans les nombreuses bibliothèques qui existent pour ce DHT11.
Jusqu’à présent j’ai répondu à tes question mais je n’ai toujours pas compris ce que tu cherche à faire.
N’oublie pas que ce n’est pas moi qui passe le bac, moi c’était il y a plus de 50 ans et je l’ai obtenu.
Pour être clair : bosse par toi même.