Arduino Forum

International => Français => Topic started by: jenny09 on Sep 16, 2020, 10:12 pm

Title: probleme fonctionnement sonde SHT20
Post by: jenny09 on Sep 16, 2020, 10:12 pm
Coucou la compagnie , j'ai achété une sonde de température / humidité SHT20 sur alibaba  ( x12962)
j'ai trouvé un code sur github :
https://github.com/DFRobot/DFRobot_SHT20

le code:
Code: [Select]
/*!
 * @file  DFRobot_SHT20_test.ino
 * @brief DFRobot's SHT20 Humidity And Temperature Sensor Module
 * @n     This example demonstrates how to read the user registers to display resolution and other settings.
 *        Uses the SHT20 library to display the current humidity and temperature.
 *        Open serial monitor at 9600 baud to see readings.
 *        Errors 998 if not sensor is detected. Error 999 if CRC is bad.
 * Hardware Connections:
 * -VCC = 3.3V
 * -GND = GND
 * -SDA = A4 (use inline 330 ohm resistor if your board is 5V)
 * -SCL = A5 (use inline 330 ohm resistor if your board is 5V)
 */

#include <Wire.h>
#include "DFRobot_SHT20.h"

DFRobot_SHT20    sht20;

void setup()
{
    Serial.begin(9600);
    Serial.println("SHT20 Example!");
    sht20.initSHT20();                                  // Init SHT20 Sensor
    delay(100);
    sht20.checkSHT20();                                 // Check SHT20 Sensor
}

void loop()
{
    float humd = sht20.readHumidity();                  // Read Humidity
    float temp = sht20.readTemperature();               // Read Temperature
    Serial.print("Time:");
    Serial.print(millis());
    Serial.print(" Temperature:");
    Serial.print(temp, 1);
    Serial.print("C");
    Serial.print(" Humidity:");
    Serial.print(humd, 1);
    Serial.print("%");
    Serial.println();
    delay(1000);
}


J'ai tout branché comme il faut avec les resistance et tout , et j ai l erreur 998 qui veut dire que la sonde n est pas detecté  ... j'ai regardé sur internet mais je trouve pas des masses d'infos
est ce que quelqu un(e) aurai deja eut ce probleme ou pourrai m aider ?
merci
Title: Re: probleme fonctionnement sonde SHT20
Post by: dfgh on Sep 18, 2020, 01:06 pm
hello

pour lancer le débat

1/ le lien sur ta sonde aurait été utile
ainsi que le type de carte que tu utilises.
pour info, dans la lib que j'ai regardé,
le source .h (https://github.com/DFRobot/DFRobot_SHT20)
l'erreur 998 est un time out i2c
l'adresse i2c de la sonde est fixée à 0x40
Quote
#define ERROR_I2C_TIMEOUT                     998
#define ERROR_BAD_CRC                         999
#define SLAVE_ADDRESS                         0x40
chez ton fournisseur,
ICI (https://fr.aliexpress.com/item/4000598507886.html?spm=a2g0o.productlist.0.0.45a53abeNTtNQ8&algo_pvid=b51c63ac-9a63-4c45-9295-fe51023f1684&algo_expid=b51c63ac-9a63-4c45-9295-fe51023f1684-0&btsid=0b0a187b16004260081698633e4804&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_)
 il est précisé:
Quote
Les broches A0/A1 placent les 2 bits inférieurs de l'adresse i2c. Il y a des résistances à tirette sur la carte donc connectez-les au Vin pour régler les bits sur '1'. Ils sont lus sur mise sous tension, donc dé-alimentation et re-alimentation pour réinitialiser l'adresse
tu n'as rien bricolé ?

autre piste, croiser les fils scl et sda, car tout dépends dans l'interprétation de la sérigraphie si on les vois "entrant" ou "sortant"

Title: Re: probleme fonctionnement sonde SHT20
Post by: jenny09 on Oct 05, 2020, 10:39 pm
Hey désole pour la réaction tardive ! et merci pour ta répons !
alores oui j ai pas mit de lien car je ne le trouvais plus sur ali !
mais oui je travail sur une mega à la base, mais c est le même problème avec une uno !
alors oui j ai bien  essayé d inversé les branchement aussi mais sans succés ...
pour le reste , j'avoue que j ai commandé ce produit en me disant que ca serai simple ...  genre des sortie analogique mais le protocole I2c , je capte vraiment pas grand chose ! ... donc pour les resistance a tirette tout ca , je suis perdu snif
Title: Re: probleme fonctionnement sonde SHT20
Post by: fdufnews on Oct 06, 2020, 11:09 am
Quote
autre piste, croiser les fils scl et sda, car tout dépends dans l'interprétation de la sérigraphie si on les vois "entrant" ou "sortant"
Avec l'I²C, il n'y a aucune ambiguïté SCL c'est l'horloge, SDA c'est la donnée. Il n'y a pas de raison de croiser les fils.

Quote
donc pour les resistance a tirette tout ca , je suis perdu snif
C'est pas une fermeture éclair il n'y a pas de tirette. Sur le bus I²C il faut prévoir des résistances de polarisation du bus (des résistances de tirage) connectées entre SCL et le + et SDA et le +. Les résistances en question sont sur la carte si j'en crois le lien donné par dfgh.

Est-ce qu'un coup de scanner  (https://forum.arduino.cc/index.php?topic=139103.msg1068899#msg1068899)détecte le composant sur le bus?

Un petit dessin des connexions réalisées permettrait peut-être de trouver une erreur de câblage.
Title: 4
Post by: jenny09 on Oct 08, 2020, 01:19 am
salut fdufnews et merci pour les infos , j ai joint une photo du montage.
en clair :
SDA,  le fil vert de la sonde est branché sur la pin A4 de l'arduino avec une resistance en ligne de 330 ohm
SDL , le fil jaune de la sonde est branché sur la pin A5 de l'arduino avec une restance idem
le fil rouge de la sonde est branché sur le 3.3v de l'arduinoi
le fil bleu est branché a la masse de l'arduino
 

(https://forum.arduino.cc/index.php?action=dlattach;topic=705348.0;attach=384556)
Title: Re: probleme fonctionnement sonde SHT20
Post by: jenny09 on Oct 08, 2020, 01:38 am
le scan donne une reponse positive :
Title: Re: probleme fonctionnement sonde SHT20
Post by: fdufnews on Oct 08, 2020, 08:58 am
Si le scan donne une réponse positive, cela valide l'interconnexion.
Donc le problème doit se situer dans ton programme ou dans la librairie.

Sensirion propose une librairie pour ses senseurs de la famille SHTxx (https://github.com/Sensirion/arduino-sht) peut-être pourrais-tu l'essayer. Il ya aussi quelques exemples de code.
Title: Re: probleme fonctionnement sonde SHT20
Post by: al1fch on Oct 08, 2020, 11:54 am
Bonjour

-est-il certain qu'un véritable capteur  Sensirion SHT20 soit présent à l'intérieur du boitier de la sonde ?

-sur la photo du montage il me semble voir deux résistances de tirage de valeur 270 Ohm


(https://forum.arduino.cc/index.php?action=dlattach;topic=705348.0;attach=384613)
Title: Re: probleme fonctionnement sonde SHT20
Post by: fdufnews on Oct 08, 2020, 01:16 pm
Les 270 Ohms ne sont pas pour le tirage mais elles sont en série entre le SHT, alimenté en 3,3V et l'ATmega328 alimenté en 5V. C'est pas très propre comme solution mais c'est ce qui est préconisé dans le soft de DFRobot et que Jenny09 a appliqué.
Et il semble que ça fonctionne puisque le scanner identifierait le composant.
Title: Re: probleme fonctionnement sonde SHT20
Post by: al1fch on Oct 08, 2020, 03:57 pm
OK, limitation de courant... si ça fonctionne pourquoi pas....
Title: Re: probleme fonctionnement sonde SHT20
Post by: jenny09 on Oct 10, 2020, 08:29 pm
fdufnews : 
salut j ai bien essayé la nouvelle librairie shtxx
aucun des exemples ne fonctionnes : 
la console arduino me renvoit :
init() : failed 
alors après je me demande si cette librairie supporte le sht 20 car il y a liste des sondes supporté et le sht 20 n y est pas pas presente. 
Title: Re: probleme fonctionnement sonde SHT20
Post by: jenny09 on Oct 10, 2020, 08:39 pm
al1fch : 
salut d'après la description du produit c est bien un SHT20 
 https://fr.aliexpress.com/item/32962527456.html
Title: Re: probleme fonctionnement sonde SHT20
Post by: dfgh on Oct 10, 2020, 09:11 pm
hello
veux tu tester celle ci ?

Title: Re: probleme fonctionnement sonde SHT20
Post by: dfgh on Oct 10, 2020, 09:14 pm
fonctionne chez moi avec une 21

mais quand on voit la déclaration dans l'exemple, on se dit que tout espoir est possible
Code: [Select]
#include <Wire.h>
#include <SHT2x.h>

void setup()
{
     Serial.begin(9600);
     Wire.begin();
}

void loop()
{
     Serial.print("Temperature: ");
     Serial.print(SHT2x.readT());
     // On the following line, \260 is the octal code for the degree sign. If
     // you would just write °, this would not work, as the Arduino IDE would
     // save it as an UTF8 character, resulting in two characters in the serial
     // transmission.
     Serial.print("\260C, Humidity: ");
     Serial.print(SHT2x.readRH());
     Serial.println("%RH");
     delay(1000);
}
Title: Re: probleme fonctionnement sonde SHT20
Post by: kamill on Oct 11, 2020, 10:53 am
Bonjour,


Chez moi ton programme avec la librairie DFRobot_SHT20 fonctionne sans problème.

Avec le scanner I2C quelle est l'adresse de ton SHT20?
Title: Re: probleme fonctionnement sonde SHT20
Post by: jenny09 on Oct 11, 2020, 01:15 pm
salut^^ 
tu as bien de la chance ! 
l'adresse est bien 0*40
Title: Re: probleme fonctionnement sonde SHT20
Post by: fdufnews on Oct 11, 2020, 02:40 pm
A noter, le SHT20 fait de l'allongement de cycle en bloquant l'horloge peut-être que la librairie ne le gère pas bien.