Du DHT22 au SHT35 (GENESYS V1/V2,GROWDUINO)


Recommended Posts

Avé les gens !

 

Depuis que les sondes DHT22 ne sont plus fabriquées par ASONG mais par ASAIR, beaucoup de cultivateurs on eu des soucis de plantages de circuit.

C'est bien entendu indépendant de ma volonté et hors de ma responsabilité.

Pour les gens qui suivent mes développements, vous savez que j'ai décidé de passer sur un autre type de sonde, la SHT35 en ce qui concerne la sonde intérieure

Elle est beaucoup plus fiable que le DHT22 et n'est pas sensible aux variations de tensions mais est relativement plus cher (si on veut de la qualité faut y mettre le prix ~15€)

Cependant cette sonde fonctionne en I2c ce qui limite la longueur du câble à 1m en standard, il est possible de mettre des câbles plus longs, mais  cela nécessitera des modules d'extension, j'en parlerai plus bas.

Je ne m'occuperai pas des extensions, cela sera à votre charge.

 

 

la sonde SHT35, mais il existe aussi des modèles anti-poussières, tout se trouve sur la baie (mot clé SHT35)

s-l225.jpg.5e29730dd2d11e09ba912151194d47b6.jpg  51XvHUlp-NL._SL1001_.jpg.391fbc688246f8e0a61a1019f95a968e.jpg

 

 

Comment reconnaître un GENESYS V1 d'un GENESYS V2 ?

 

la V1 possède 4 pin notées service sur le circuit

la V2 possède 6 pin notées service sur le circuit

 

Si vous possédez un GENESYS V1, il va falloir un peu jouer du fer à souder. (manipulation à faire avec soin)

le but est de repiquer les 2 signaux SDA et SCL sur le circuit imprimé

vous trouverez les signaux ci-après.

 

1284659429_GENESYSV1.png.0a63db82a8c0a55f1c0a7926c731ce50.png

SDA en rouge

SCL en jaune

pour souder les fils, étamez les avant pour faciliter la soudure, ne restez pas trop longtemps sur elle car la chaleur se transmettra à la longue à tout le composant qui risque alors de se dessouder

 

Si vous possédez un GENESYS V2, les pins sont déjà prévues sur le bornier service

GENESYS_V2.png.e399128061e8d90687d1d35c48a08500.png

SDA en rouge

SCL en jaune

 

Dans les 2 cas, vous pouvez maintenant supprimer le ou les DHT22

Pour connecter la sonde SHT35,

SDA ->SDA

SCL ->SCL

GND du bornier service au GND du SHT35

3V3 du bornier service au VCC du SHT35

 

le DHT OUT optionnel est remplacé par une sonde DS18B20

DS18B20.jpg.c7f4362a7c01551ccfba945660448b0c.jpg

Vous n'avez pas besoin de mettre une résistance pull up, elle est déjà inclue sur le circuit

 

Branchements :

VCC du DS18B20 vers bornier à vis 3V3

GROUND du DS18B20 vers bornier à vis GND

DATA du DS18B20 vers bornier sur DHT OUT

 

MISE A JOUR PROGRAMME

Munissez vous d'un programmeur FDTI 232 (dispo sur la baie)

ftdi232.jpg.05b957143901c0e39ef9ac782f8b18ce.jpg

 

IMPORTANT : Contrôlez bien que le cavalier soit placé sur 3V et non 5V

 

Relier le programmeur à GENESYS via les pins service comme suit:

 

GND programmeur sur GND GENESYS

VCC programmeur sur 3V3 GENESYS

RX programmeur sur TX GENESYS

TX programmeur sur RX GENESYS

Quand c'est fait à l'aide d'un câble USB, reliez le programmeur au GENESYS

 

Passons au chargement :

 

1-Téléchargez le code modifié du GENESYS pour SHT35 + DS18B20 là : GENESYS_SHT.pdf

2-Renommez le en GENESYS_SHT.rar

3-Décompactez le sur votre disque dur

4-Ouvrez le projet avec ATOM

 

Pour charger le programme dans le GENESYS, il y a quelques manipulations à faire, suivez les attentivement ou le GENESYS n'acceptera pas le chargement.

1- Appuyez sur le bouton RESET et maintenez le enfoncé

2- Toujours en maintenant RESET enfoncé, appuyez sur le bouton programme (PROG) et maintenez le enfoncé également

3- EN gardant  PROG appuyé, relâchez le bouton reset

4-Toujours en maintenant le bouton PROG enfoncé, lancez l'upload du code vers le GENESYS

5-Quand le chargement est terminé, relâchez le bouton programme (PROG) (ici les 2 boutons sont relâchés)

6-Appuyez 1 sec sur RESET

et voila.. Votre GENESYS est à jour et prêt pour fonctionner avec ses nouvelles sondes

 

 

 

Modifications à réaliser pour le GROWDUINO Cette partie sera remplie dès que j'ai terminé de modifier le code

 

 

 

Utiliser les I2C Bus Extender

s-l1600.thumb.jpg.eaca7c42363871ec36f4fe22982ca57a.jpg

 

Comme je l'ai précédemment expliqué, la longueur fiable maximum pour l'I2C est de 1mètre, afin de pouvoir avoir des câbles plus long, il faut changer la nature du signal.

Précédemment je pensais faire les modules moi-même, mais après recherche il semble que cela existe déjà, donc je ne vais pas réinventer le fil à couper le beurre

Attention il existe plusieurs modèles de modules expander, vous devez en prendre un qui ne nécessite pas une alimentation supplémentaire distante.

j'ai opté pour ce modèle, j'en ai moi-même commandé 2 pour faire les tests

 

Vous les trouverez 

 

Leur utilisation est relativement simple..

du coté du GENESYS, vous raccorder SDA/SCL/3V3/GND des pin SEDRVICE au connecteur noir du module expander

et du coté sonde vous relier à l'identique SDA sur SDA, SCL sur SCL, VCC sur VCC et GND sur GND

 

entre les 2 modules vous utiliserez un câble 4 conducteurs, je préconise un câble blindé si possible avec paires torsadées ou un câble USB dont vous couperez les connecteurs.

Et que vous connecterez sur les borniers bleus des modules.

 

MOD-000015.typical_app.png.3156b9d005bebef9366d9a0f4d285bf3.png

 

 

Edited by Gen
  • Like 1
  • Thanks 3
Link to post
Share on other sites

yop

 

si ta sonde déconne, oui.

mais il faudra reprogrammer la puce micro-contrôler, c'est un GRCC ou un global contrôler ?

si c'est un GRCC ça risque d'être compliqué, si c'est un global contrôler, tu pourras le reprogrammer toi-même.

 

++

GEN

 

Link to post
Share on other sites
  • 1 month later...

Salut a tous !

 


Je suis a la rechercher d'un peu d'aide ...

 

 

au chargement du projet j'ai le message suivant :

Révélation

DEPRECATED! A legacy library storage `C:\Users\mat\Downloads\GENESYS_SHT\GENESYS_SHT\.piolibdeps` has been found in a project.
Please declare project dependencies in `platformio.ini` file using `lib_deps` option and remove `C:\Users\mat\Downloads\GENESYS_SHT\GENESYS_
SHT\.piolibdeps` folder.
More details -> http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps
Processing esp32thing (platform: espressif32; board: esp32thing; framework: arduino)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option

CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32thing.html
PLATFORM: Espressif 32 1.11.1 > SparkFun ESP32 Thing
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny
-h, olimex-jtag-tiny, tumpa)
PACKAGES: toolchain-xtensa32 2.50200.80 (5.2.0), framework-arduinoespressif32 2.10004.191002 (1.0.4), tool-esptoolpy 1.20600.0 (2.6.0)
Converting genesys.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 40 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP32_CO2>
|   |-- <Adafruit MCP23008 library> 1.0.1
|   |   |-- <Wire> 1.0.1
|   |-- <MHZ19>
|   |   |-- <EEPROM> 1.0
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|-- <ESP32_Cyclic>
|   |-- <Adafruit MCP23008 library> 1.0.1
|   |   |-- <Wire> 1.0.1
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|-- <ESP32_DailyTimer>
|   |-- <Adafruit MCP23008 library> 1.0.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|-- <ESP32_DataStorage>
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|-- <EEPROM> 1.0
|-- <ESP32_HystDrive>
|   |-- <EEPROM> 1.0
|   |-- <Adafruit MCP23008 library> 1.0.1
|   |   |-- <Wire> 1.0.1
|-- <Adafruit MCP23008 library> 1.0.1
|   |-- <Wire> 1.0.1
|-- <MHZ19>
|   |-- <EEPROM> 1.0
|-- <ESP32_MotorDriver>
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|   |-- <Wire> 1.0.1
|-- <ITEADLIB_Arduino_Nextion-master>
|-- <RTClib> 1.2.1
|   |-- <Wire> 1.0.1
|-- <ESP32_SpeedCalculator>
|   |-- <RTClib> 1.2.1
|   |   |-- <Wire> 1.0.1
|   |-- <EEPROM> 1.0
|-- <Wire> 1.0.1
|-- <DallasTemperature> 3.8.0
|-- <SHT3x-master>
|   |-- <Wire> 1.0.1
|-- <WiFi> 1.0
Building in release mode
Compiling .pio\build\esp32thing\src\genesys.ino.cpp.o
Archiving .pio\build\esp32thing\libe6d\libMHZ19.a
Archiving .pio\build\esp32thing\libd49\libRTClib.a
C:/Users/mat/Downloads/GENESYS_SHT/GENESYS_SHT/src/genesys.ino:18:21: fatal error: OneWire.h: No such file or directory
 
*****************************************************************
* Looking for OneWire.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:OneWire.h"
* Web  > https://platformio.org/lib/search?query=header:OneWire.h
*
*****************************************************************
 
compilation terminated.
Archiving .pio\build\esp32thing\libcc8\libESP32_CO2.a
*** [.pio\build\esp32thing\src\genesys.ino.cpp.o] Error 1
========================== [FAILED] Took 3.54 seconds ==========================

 

Du coup, comment sait-on si on a la version "SHT35"

 

J'ai une autre question concernant l'écran : quelle est la différence entre HMI et TFT ?

 

Merci d'avance pour votre aide !

 

Edited by frenchiemaan
Link to post
Share on other sites

Yop

 

il te manque une librairie.. suffit de lire ce qui est écrit dans le message d'erreur

pour la version simplement voir l'entête du code, si il y a un #include <SHT3x.h>

TFT est la version compilée du HMI.

 

++

GEN

 

 

 

Link to post
Share on other sites

Salut,

 

j'ai fini par réussir !

la sht35 fonctionne bien

 

Le PC ou j'ai mis ATOM a été un peu bricolé et en faisant l'install sur un machine propre, c'est passé :)

 

peut passer aux choses sérieuse !

++

Edited by frenchiemaan
Link to post
Share on other sites
  • 2 months later...

Le 25/02/2020 à 19:03, Viker a dit:

Yop,

 

bon je me suis en train de me lancer pour adapter la version du programme V3.60 pour le growduino V3 afin de virer le DHT22 et de le remplace par le SHT35 (humidité et température IN) et le DS18B20 (température OUT).

 

Pour le branchement, la sonde DS18B20 se branche directement sur les borniers DHT et MH-Z19 du growduino V3 en mettant VCC sur VCC, GND sur GND et DATA sur DHT_OUT.

Pour la sonde SHT35, VCC sur la pin du growduino correspondant au 3.3V de l'arduino Mega, le GND sur GND (à récupérer sur le bornier ou la pin GND proche du 3v3).

Pour la communication i2c je passe par un module convertisseur de niveau logique bidirectionnel on récupère le SDA sur la pin 20 et on branche sur HV1 du convertisseur logique et ressort par LV1 vers SDA de la sonde. Pour SCL sur la pin 21 et on branche sur HV2 et ressort par LV2 vers SCL de la sonde. Ensuite convertisseur est également câblé GND vers GND, le 5V vers HV et le 3.3V vers LV.

(Il est également possible de mettre deux modules i2C bus extender entre le growduino et le module convertisseur de niveau logique afin d'augmenter la distance entre la sonde et le growduino à plus d'un mètre)

Voilà côté branchement si je n'ai pas dis trop de conneries (cf validation de Gen)

 

Voici le programme V3.7 avec les lib pour faire fonctionner l'ensemble (je n'ai pas encore testé car je n'ai pas encore fait le montage mais j'espère que c'est ok)

Comme d'hab c'est un .pdf à renommer en .zip puis à décompresser

 

++

Viker

 

GROWDUINO_V3.7.pdf 2.45 Mo · 1 download

Bonsoir,

 

je reviens vers vous, je n'ai toujours pas pu tester le programme et le montage de conversion DHT22 vers SHT35 et DS18B20 sur le growduino V3 mais j'ai vu qu'il y avait eu un download du fichier.

Quelqu'un a-t-il essayé et si oui est-ce que cela fonctionnait?

 

++

 

Viker

Link to post
Share on other sites
Le 14/12/2019 à 15:59, Gen a dit:

Avé les gens !

 

Depuis que les sondes DHT22 ne sont plus fabriquées par ASONG mais par ASAIR, beaucoup de cultivateurs on eu des soucis de plantages de circuit.

C'est bien entendu indépendant de ma volonté et hors de ma responsabilité.

Pour les gens qui suivent mes développements, vous savez que j'ai décidé de passer sur un autre type de sonde, la SHT35 en ce qui concerne la sonde intérieure

Elle est beaucoup plus fiable que le DHT22 et n'est pas sensible aux variations de tensions mais est relativement plus cher (si on veut de la qualité faut y mettre le prix ~15€)

Cependant cette sonde fonctionne en I2c ce qui limite la longueur du câble à 1m en standard, il est possible de mettre des câbles plus longs, mais  cela nécessitera des modules d'extension, j'en parlerai plus bas.

Je ne m'occuperai pas des extensions, cela sera à votre charge.

 

 

la sonde SHT35, mais il existe aussi des modèles anti-poussières, tout se trouve sur la baie (mot clé SHT35)

s-l225.jpg.5e29730dd2d11e09ba912151194d47b6.jpg  51XvHUlp-NL._SL1001_.jpg.391fbc688246f8e0a61a1019f95a968e.jpg

...

Modifications à réaliser pour le GROWDUINO Cette partie sera remplie dès que j'ai terminé de modifier le code

 

 

Je viens aux nouvelles au sujet du Growduino V2

Je possède la Growduino V2

Growduino_V2.jpg.3eb924396b0cf449f02b42e86607fc45.jpg

 

As t'on des nouvelles pour l’intégration de la sonde SHT35 (nouveau code)?

 

 

 

Sinon j'ai lu ICI au sujet de la DHT22 comme l'ajout d'un condensateur de 100Nf.

 dht22_arduino_bb.jpg.ad5ecd045e42446622c006f17ae2eb19.jpg

 

Mais je n'ai rien vu sur la doc AOSONG

AOSONG_DHT22.PNG.380a7f00bb165513c65354b2d2cff25a.PNG

 

Une idée de l'utilité de ce condo?

 

Bonne journée.

Edited by zefram-28
corrections orthographiques
Link to post
Share on other sites

Re la communauté,

 

Pour le condo, il est stipulé ICI

"One capacitor valued 100nF can be added between VDD and GND for wave filtering."

DHT22_Condo.PNG.d1c702b6c0d269e02fc45184255590db.PNG

 

Moi ça ne me parles pas mais peut être que quelqu'un saura expliquer a quoi ça sert en langage commun.

 

Bonne journée

Link to post
Share on other sites

Bonjour,

 

Le condensateur 100nF est indispensable pour filtrer et stabiliser la tension d'alimentation.

On l'appel condensateur de découplage comme utiliser sur tous les composants électronique actifs.

Celui-ci doit être soudé le plus près possible de la sonde entre les bornes + (Vcc) et - (GND).

Le mieux est de le souder directement à l'intérieur du boitier sous les fils d'arrivé.

Sa tension doit être de 6,3V à 35V pour ne pas être trop encombrant.

 

Bon week-end.

Link to post
Share on other sites

Yop

 

Désolé, je suis sorry mais non...Bullshit !

 

vu la vitesse de transmission et le fait qu'il y a déjà une résistance pull-up, le condo n'est pas d'une grande utilité, il va faire quoi, lisser une crête d'un signal haut..

Moralité, tout ce qui se trouve sur le net, n'est pas parole d'évangile

 

++

GEN

Link to post
Share on other sites

Re,

 

Le condensateur st sur l'alimentation, pas sur la sortie vers l'entrée du microcontrôleur. il est indispensable pour la stabilité des composants et c'est souvent une panne type dans toute les cartes que je dépanne pour au travail.

 

A+.

Link to post
Share on other sites

Re,

 

là je suis d'accord avec toi, c'est indispensable pour les microcontrôleurs, par principe, j'en colle un à chaque IC.

 

++

GEN

Link to post
Share on other sites

@Lolo2805 et @Gen,

 

Merci pour ces infos.

 

J'ai regardé sur le schéma du Growduino V2 et j'ai bien vu la résistance de 4.7KHoms.

dth22-res.PNG.936086158cb05fcfe5df8460718ab987.PNG

 

En revanche n'ayant pas trouvé de condo qui relierait la patte VCC au Gnd du DHT22.

il faut le rajouter?

 

Cdlt

Link to post
Share on other sites

Re,

 

Oui, il est préférable d'en rajouter 1 mais sur le DHT22, pas sur le circuit imprimé du Growduino.

Le condensateur doit être juste en entrée d'alimentation entre VCC et GND, le fabricant ne l'a pas intégré au module DHT ce qui peu faire qu'il soit instable et plante les mesures.

 

Sur le SHT3x de la photo, ce condensateur est déjà sur le circuit imprimé (petit carré jaune) il n'est donc pas utile d'en rajouter.

La résistance de 4,7k n'a rien à voir, elle sert de tirage au plus 5V pour le bus One Wire si la sortie du microcontrôleur est à collecteur ouvert.

 

Beaucoup de broches des microcontrôleurs (mais pas toutes) ont déjà une résistance de tirage qui peuvent être mises par programmation (configuration Pullup de la sortie) mais souvent de 10k ou 100 k suivant le fabricant et la vitesse.

 

par exemple, elle sont de 10k sur les arduino et de 100k sur ESP8266 ou ESP32.

Pour le DHT22, le datasheet préconise environ 4,7k c'est pourquoi @Gen l'a rajouté.

 

A+

Edited by Lolo2805
Link to post
Share on other sites

@Lolo2805

 

Concernant la résistance pull-up, il n'y a aucun équivoque je la mentionnait car elle figure au Datasheet.

 

Pour le condo, oui bien sur, je penses la mettre directement au niveau du DHT22 qui est plus simple d’accès.

 

dth22-condo.PNG.d56d6d2ee5105cd74e24ad763f8d32a3.PNG

 

Cdlt

Link to post
Share on other sites

yop

 

OK faites comme vous voulez...Ca ne changera rien, j'ai planché sur ces sondes et fait des mesures à l'oscillo suite aux soucis rencontrés.

condo ou non.. elles merdent plus ou moins dans le temps depuis le changement de fabricant.

voila pourquoi je ne les utilise plus.

pour mon ultime montage, j'e taffe pour le moment sur une one wire beaucoup plus fiable la TSH20x et en I2c sur SHT35

 

++

GEN

 

 

Edited by Gen
Link to post
Share on other sites
Il y a 7 heures, Gen a dit:

yop

 

OK faites comme vous voulez...Ca ne changera rien, j'ai planché sur ces sondes et fait des mesures à l'oscillo suite aux soucis rencontrés.

condo ou non.. elles merdent plus ou moins dans le temps depuis le changement de fabricant.

voila pourquoi je ne les utilise plus.

pour mon ultime montage, j'e taffe pour le moment sur une one wire beaucoup plus fiable la TSH20x et en I2c sur SHT35

 

++

GEN

 

 

 

Bahhh qu'est-ce que l'on risque à essayer?

Au pire rien....

Au mieux ça aide.

 

PS : Ma DHT22 est bien une AOSONG mais comme elle a quelques années maintenant c'est peut être normal qu'elle dérive un peu.

Mais pourquoi sur l'humidité seulement ????

 

Sinon GEN, as tu pu ré écrire  le bout de programme dédiée au Growduino V2 avec un SHT35?

 

Cdlt

Concernant la dérive de l’humidité, un type a posté un méthode sur Youtube pour "corriger" la dérive.

 

Je la partage pour ce que cela vaut.

 

Calibration DHT22

Link to post
Share on other sites

yop

 

oui il est écrit, je vous le mets en test, merci de me faire part des retours.

 

à renommer en rar et décompresser

https://www.cannaweed.com/applications/core/interface/file/attachment.php?id=764070

 

par contre, des gens ont utilisés les modules DHT montés avec condo, et le problème persistait.

effectivement la dérive de l'HR est relativement conséquente.

 

++

GEN

Link to post
Share on other sites

@Gen Merci pour cette mise à jour.

 

Je passes ma commande pour le STH35.

Je te ferais un retour dès tout ce petit monde monté.

 

et en effet, même avec le condo cela ne change rien a la dérive.... monstrueuse du DHT22.

 

DHT22 99% 

Hygromètre : 47%

 

C'ets pas rien !

Link to post
Share on other sites
  • 2 weeks later...

Salutation Champêtres,

Je suis en train d'essayer de faire le chargement
et je suis un peu confuse

Dans le dossier GENESYS


il y a un fichier README qui indique :
 

How to build PlatformIO based project
=====================================

1. `Install PlatformIO Core <http://docs.platformio.org/page/core.html>`_
2. Download `development platform with examples <https://github.com/platformio/platform-espressif32/archive/develop.zip>`_
3. Extract ZIP archive
4. Run these commands:

.. code-block:: bash

    # Change directory to example
    > cd platform-espressif32/examples/arduino-wifiscan

    # Build project
    > platformio run

    # Upload firmware
    > platformio run --target upload

    # Build specific environment
    > platformio run -e quantum

    # Upload firmware for the specific environment
    > platformio run -e quantum --target upload

    # Clean build files
    > platformio run --target clean


Faut il installer également "PlatformIO" et suivre ces indications
que je trouve désepérement obscures...?

La seconde est encore plus révélatrice de mon ignorance en la matière...

Faut il alimenter le Genesys pendant la manoeuvre ?

En espérant qu'une âme charitable puisse m'apporter ses lumières...

Bien à vous :)



 

 

Link to post
Share on other sites

Yop

 

1 installer ATOM

2 installer Platformio (j'en parle dans un post)

3 pour programmer le GENESYS, il faut le relier au PC via un adaptateur TTL RS232. C'est le pc qui alimentera alors

 

++

GEN

  • Like 1
Link to post
Share on other sites