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


Recommended Posts

Bonjour 


?

J'ai verifié et oui il semble bien detecté comme

"USB serial Port (COM4) at COM4"
"Baudrate 9600"
Party : N
"Filter - Remote typical terminal control codes from input"
"Encoding : UTF-8"
"EOL mode CRTLF"
"DTR - "
"RTS -"
"Raw No"
"Local echo No"

Lors du chargement - et depuis que j'ai chagé mes câbles -
j'observe un clignotement du FT232 quand je relache "RESET"
il clignote également beaucoup lors du transfert
et toujours :

"Writing at 0x00001000... (100%)
Wrote 15872 Bytes ....


A fatal error occurred : timed out wainting for packet header
(upload error 2
FAILED
"

Que faire ?


Bien à vous,

Blue

?

PS : j'ai essayé également sur un hack, et j'obtiens le même résultat...

 

Link to post
Share on other sites

yop

 

1 - appuyer et maintenir reset enfoncé

2- appuyer sur prog et maintenir enfoncé

3-  relâcher reset

4- uploader le prog

ensuite 2 possiblites

soit

- on reste avec prog enfoncé le temps de l'upload

- on relache prog dès que la compile est terminée et juste avant l'upload

 

SI rien ne fonctionne c'est que l'ESP est dead

 

++

GEN

Link to post
Share on other sites

Bonjour GEN,

C'est avec un profond effarement et une incomprehention totale que je lis ton message,

j'ai essayée egalement la deuxième méthode et oui, quand je relache au mauvais moment j'ai "error 1"
et quand je relache au bon moment j'ai à nouveau "Error 2"

Le genesys est resté dans son envelope et je l'ai sortit au moment de faire la manipulation.
Comment est-ce possible qu'il ne fonctionne pas ?

Que puis-je faire ?

Bien à vous

Blue

?

Link to post
Share on other sites

Yop

bien que le circuit a été testé avant expédition, les causes peuvent être multiples; mauvaise manip, tension > 3.3V,  (mauvais choix de la tension sur le FDTI) décharge électrostatique etc..

Si tu l'as pris chez moi, il y a une garantie d'un an à condition que ce ne soit pas dû à une erreur de ta part.

je peux te réparer le circuit, suffit de me le renvoyer.. (frais de port aller-retour à ta charge) 

Mais cela prendra un peu de temps car je vais être overbooké fin de mois pour les expéditions en attentes

 

++

GEN

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

Bonjour Blueberry_Rudel

 

Il y a un problème connu sur google que tu peux essayer de tenter,

Il fait souder un condensateur chimique, le + sur la broche EN et le - sur la masse.

Un condensateur de 4,7µF à 10 µF et de 6V à 16V devrait passer.

Sinon il y a plusieurs solutions quand tu tape le code d'erreur sur google.

 

Bon courage.

Link to post
Share on other sites
il y a 58 minutes, Gen a dit:

Yop

bien que le circuit a été testé avant expédition, les causes peuvent être multiples; mauvaise manip, tension > 3.3V,  (mauvais choix de la tension sur le FDTI) décharge électrostatique etc..

Si tu l'as pris chez moi, il y a une garantie d'un an à condition que ce ne soit pas dû à une erreur de ta part.

je peux te réparer le circuit, suffit de me le renvoyer.. (frais de port aller-retour à ta charge) 

Mais cela prendra un peu de temps car je vais être overbooké fin de mois pour les expéditions en attentes

 

++

GEN


Oui en effet je l'avais pris chez toi,
Concernant le temps,
la culture demande de toutes façon de la patience.

?

je reviens vers toi en MP pour les détails

Merci pour ton aide GEN

?

Bien à vous

Blue

Link to post
Share on other sites
il y a 22 minutes, Lolo2805 a dit:

Bonjour Blueberry_Rudel

 

Il y a un problème connu sur google que tu peux essayer de tenter,

Il fait souder un condensateur chimique, le + sur la broche EN et le - sur la masse.

Un condensateur de 4,7µF à 10 µF et de 6V à 16V devrait passer.

Sinon il y a plusieurs solutions quand tu tape le code d'erreur sur google.

 

Bon courage.

Bonjour Lolo2805,

Merci de ta réponse et pour ce courage !

?

Pour la solution que tu proposes je dois avouer que je ne l'ai pas comprise

Cela me semble dépasser largement mes compétances en électronique et que
en toute honnêteté si j'ai optée pour le Genesys c'est parce que qu'il me semblait qu'il était plus simple à mettre en oeuvre.
à priori,

une petite manipulation sur l'écran
et un peu de cablage propre
et le tour devait être joué

?

Je suis certaine que ta solution est très efficace
Je vais rester sur des manipulations et configurations simples
Et renvoyer Genesys aux bons soins de GEN

?

Peut être semer plus de treffle ?

Bien à vous

Blue
 

Link to post
Share on other sites
il y a une heure, Lolo2805 a dit:

Bonjour Blueberry_Rudel

 

Il y a un problème connu sur google que tu peux essayer de tenter,

Il fait souder un condensateur chimique, le + sur la broche EN et le - sur la masse.

Un condensateur de 4,7µF à 10 µF et de 6V à 16V devrait passer.

Sinon il y a plusieurs solutions quand tu tape le code d'erreur sur google.

 

Bon courage.

Yop

 

Pas besoin, c'est déjà sur le circuit, le problème ne vient pas de là , vu que j'ai chargé le prog et testé avant expédition.

Personne d'autre n'a eu ce soucis

 

Merci quand même pour ta participation à la résolution du prob

++

GEN

Edited by Gen
Link to post
Share on other sites

Bonjour GEN,

 

En fait j'ai proposé d'essayer une correction d'un problème de sensibilité de l'ESP32.

Je n'ai pas le schéma du Genesys donc je ne savais pas que tu avait déjà implanté ce condensateur.

Et surtout n'ai pas encore reçu mes Genesys mais je risque bien de tenter d'en torturer un pour quelques évolutions que j'ai en tête.

Tu as fait un superbe travail et j'en suis encore à décortiquer ton programme pour bien l'assimiler.

 

Bonne fin de semaine.

Link to post
Share on other sites

Salut la communauté,

 

Venant donc du monde du Growduino V2 et voulant me séparer de mon DHT22, j'ai commandé (et reçu) mon SHT35.

 

Je n'ai pas de 3.3V directement accessible par une pin sur mon V2.

 

En analysant un peu le schéma, j'ai trouvé un accès au 3.3V via la flèche bleue ci-dessous.

Je penses donc me repiquer dessus et prendre le restant sur les connecteurs dédiés a l'I2C (hors 5V).

 

Cela vous parait-il  correct?

 

 

 

Dudu.thumb.PNG.582fa7d727ad279f609ddc60503edf2a.PNG

Link to post
Share on other sites

Salut la ROOM,

 

Je m’apprête à installer le STH35 dans ma boite (Shield GROWDUINO V2).

 

Dans le code, je vois des differences dans la déclaration des PIN entre V2 et V3 (V3 n'est pas le même shield que V2 si j'ai bien suivi) :

 

Ci-dessous le code de la V2 (celle que j'utilises)

//***************************************
// Hardware definition Shield V2
//***************************************
#define MOTOR_ADRESS      0x20
#define I2C_LCD_ADDRESS   0x27  //0x27
#define TIMER1_PIN			  7		// Don't modify this line !!
#define TIMER2_PIN	      6		// Don't modify this line !!
#define CYCLIC1_PIN		    5		// Don't modify this line !!
#define CYCLIC2_PIN			  4		// Don't modify this line !!
#define TEMP_PIN          3		// Don't modify this line !!
#define HR_U_PIN	        2		// Don't modify this line !!
#define HR_D_PIN				  18  // Don't modify this line !!
#define CO2_VALVE_PIN		  19 	// Don't modify this line !!
#define DHT_PIN				    14	// Don't modify this line !!
#define TEMP_U_PIN			  8	  // NOT USED
#define RelaySecurityPin  22
bool relaysDown = true;
//***************************************

 

Et ici celui de la V3.8 :

//***************************************
// Hardware definition Shield V3
//***************************************
//#define TIMER1_PIN			  22	  // Don't modify this line !!
//#define TIMER2_PIN	      24		// Don't modify this line !!
//#define CYCLIC1_PIN		    26  	// Don't modify this line !!
//#define CYCLIC2_PIN			  27		// Don't modify this line !!
//#define CO2_VALVE_PIN		  48	  // Don't modify this line !!
//#define TEMP_D_PIN        50		// Don't modify this line !!
//#define HR_U_PIN	        25		// Don't modify this line !!
//#define HR_D_PIN				  23    // Don't modify this line !!
//#define ONE_WIRE_BUS 			2     // Don't modify this line !!
//#define TEMP_U_PIN        4     // a supprimer
//***************************************

 

Je comptais copier mon code V2 dans le Code V3.8 et commenter les lignes de déclaration de PIN de la V3.8

 

Est-ce bien ce qu'il faut faire et est-ce suffisant?

 

Merci pour votre aide.

Edited by zefram-28
erreur code V2
Link to post
Share on other sites

Je me suis sorti les doigts du C... comme dirait une célébrité verte que tout le monde connait bien ici et j'ai commencé a ré ecrire cette partie du code

 

//***************************************
// Hardware definition Shield V3
//***************************************
//#define TIMER1_PIN			  22	  // Don't modify this line !!
//#define TIMER2_PIN	      24		// Don't modify this line !!
//#define CYCLIC1_PIN		    26  	// Don't modify this line !!
//#define CYCLIC2_PIN			  27		// Don't modify this line !!
//#define CO2_VALVE_PIN		  48	  // Don't modify this line !!
//#define TEMP_D_PIN        50		// Don't modify this line !!
//#define HR_U_PIN	        25		// Don't modify this line !!
//#define HR_D_PIN				  23    // Don't modify this line !!
//#define ONE_WIRE_BUS 			2     // Don't modify this line !!
//#define TEMP_U_PIN        4     // a supprimer
//***************************************

//***************************************
// Hardware definition Shield V2
//***************************************
#define MOTOR_ADRESS      0x20
#define I2C_LCD_ADDRESS   0x27  //0x27
#define TIMER1_PIN        7   // Don't modify this line !!
#define TIMER2_PIN        6   // Don't modify this line !!
#define CYCLIC1_PIN       5   // Don't modify this line !!
#define CYCLIC2_PIN       4   // Don't modify this line !!
#define TEMP_D_PIN        3    // Don't modify this line !!
#define HR_U_PIN          2   // Don't modify this line !!
#define HR_D_PIN          18  // Don't modify this line !!
#define CO2_VALVE_PIN     19  // Don't modify this line !!
#define DHT_PIN           14  // Don't modify this line !!
#define TEMP_U_PIN        8   // NOT USED
#define ONE_WIRE_BUS       2     // Don't modify this line !!
#define RelaySecurityPin  22
bool relaysDown = true;
//***************************************

Mon problème est sur le PIN 2 : ONE_WIRE_BUS.

Il est redondant avec mon assignation des PIN de la V2, PIN utilisé pour HR_U_PIN (que je n'utilises pas!)

 

Je ne comprends pas à quoi sert ce PIN, j'ai essayé d'analyser le schéma de la V3 ... sans réussite.

 

Il ne me reste donc que cette PIN a assigner.

 

Merci pour votre aide.

Link to post
Share on other sites

OK, j'ai analysé plus en profondeur (et après avoir pris le temps d'une clope et d'un café).

 

Le PIN 2 Est associé au DATA du DHT22 (d'origine monté sur la Shield V3).

 

Cela reviens donc pour ma Shield V2 à l'assigner au PIN 14.

 

J'ai compilé et déversé le code, pas d'erreur.

 

Le Shield retourne bien La température et l'hygro.

 

Bon et bien on va partir avec ça.

 

Tchuss à tous et bon Grow.

 

Pour info ça donne ça au final :

//***************************************
// Hardware definition Shield V2
//***************************************
#define MOTOR_ADRESS      0x20
#define I2C_LCD_ADDRESS   0x27  //0x27
#define TIMER1_PIN        7   // Don't modify this line !!
#define TIMER2_PIN        6   // Don't modify this line !!
#define CYCLIC1_PIN       5   // Don't modify this line !!
#define CYCLIC2_PIN       4   // Don't modify this line !!
#define TEMP_D_PIN        3    // Don't modify this line !!
#define HR_U_PIN          2   // Don't modify this line !!
#define HR_D_PIN          18  // Don't modify this line !!
#define CO2_VALVE_PIN     19  // Don't modify this line !!
//#define DHT_PIN           14  // Don't modify this line !!
#define TEMP_U_PIN        8   // NOT USED
#define ONE_WIRE_BUS       14     // Don't modify this line !!
#define RelaySecurityPin  22
bool relaysDown = true;
//***************************************

 

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

Salut la ROOM,

 

Pour ce qui est de la sonde de température/humidité ça roule. ?

 

En revanche, tous mes relais sont inversés (Platine 8 relais chinoise)?

 

Pour le timer et le cyclique c'est réglé, j'ai modifié les états dans les Librairies.?

 

Pour ce qui est des Intra/Extra .... J'ai beau chercher, je n'y arrives pas.?

 

Un petit coup de main serait le bienvenu.

Link to post
Share on other sites

Yop

 

Comme expliqué en MP

c'est toute l'architecture du shield qui a été modifiée suite à certains problèmes rencontrés précédemment.

1-Les anciennes commandes moteurs se faisaient via un MCP23016 tandis que dans les version suivantes elles sont directement pilotées par des I/O

2-sur l'ancien shield, il n'y a pas l'inverseur HC des sorties relais pour être 100% compatible avec les platines chinoises (cela a aussi été une évolution de compatibilité.)

 

Je suis débordé de taf pour le moment, mais je ferai un petit post car apparemment j'ai trouvé une sonde one wire beaucoup plus fiable que le DHT; je l'ai commandée pour test mais elle vient de Chine à pied..

SI c'est efficace, cela pourra remplacer le SHT I2c avec sa contrainte de distance et sera utilisée avec la redBoard.

 

Hé oui, élaborer un circuit efficient qui tient la route ne se fait pas en deux coups de cuillère à pot, c'est du travail, de la recherche, des tests

 

++

GEN

Edited by Gen
  • Like 1
Link to post
Share on other sites
Le 19/04/2020 à 09:07, Gen a dit:

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 2.08 Mo · 24 downloads

 

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

 

Salut,

 

je viens de faire la modification sur le growduino V3 avec une sonde SHT35 et une sonde DS18B20.

J'ai branché la sonde DS18B20 sur le bornier de la DHT22 (pin 2 ou 3 selon la déclaration dans le programme)

J'ai branché la sonde SHT35 sur le pin 20 de l'arduino mega pour le SDA et sur le pin 21 pour le SCL. (Pour brancher sur ces pin j'ai dessoudé les pin du shield et je les ai remplacés par des pin traversant me permettant de toujours brancher le shield sur l'arduino et d'avoir une pin au dessus pour un câble dupont)

 

Ensuite j'ai repiqué GND et VCC sur le pin GND et sur le 5V de l'arduino mega (pin traversant du shield comme pour SDA et SCL) et non le 3.3V car j'utilise deux modules i2c bus extender et que le 5V est préférable.

Par contre en sortie du deuxième bus extender coté SHT35 j'ai inséré un module abaisseur de tension 5V-->3.3V pour que la sonde soit alimentée en 3.3V.

 

Au final avec la version du code 3.8 j'ai une température et une hygrométrie affichée qui ne part pas en sucette mais je précise que je ne suis pas in situ dans ma box avec tous les relais et transformateurs branchés. Je ferais le retour quand j'aurais mis en box.

 

Par contre la gestion des intra et extra ne fonctionnant pas sur la version 3.8 j'ai essayé la modif que j'avais fait sur la version du GROWDUINO_V3.7.pdf et là ça fonctionne à merveille. (Voir post plus ancien, ne pas prendre en compte le level shifter car la sonde SHT35 fonctionne bien sur le bus i2c en 5V et enfin la version s'affiche en 3.6 sur l'écran du growduino mais il s'agit bien d'une base en 3.7)

 

++

Viker

Edited by Viker
Link to post
Share on other sites

Bonjour la ROOM,

 

J'ai finalement abandonné la version 3.08 car comme expliqué par GEN,  fondamentalement différent du code du GROWDUINOV2.

 

Je suis reparti du code de la version 3.02 dédié au GROWDUINOV2.

Et je tournes maintenant avec le STH35 en remplacement du DHT22.

 

C'est en en test depuis cet après midi, tout semble réagir comme il faut.

 

Je vous mets le code (et ses librairies) en lien.

Comme d'habitude, fichier PDF à renommer en .ZIP,  décompresser... blablabla, vous connaissez la suite.

 

Salutations.

GROWDUINO4.pdf

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

Yop

 

je suis aussi débordé, j'ai enfin eu le temps hier pour enfin tester ta version ainsi que la mienne qui date du 25 février tout de même. :b2:

 

++

Viker

Link to post
Share on other sites
il y a 46 minutes, zefram-28 a dit:

C'est sûrement pas hyper propre mais ça fonctionne.

il y a 46 minutes, zefram-28 a dit:

je n'ai quasi aucune connaissance en programmation, je t'avoues que ça a été coton.

Yop

 

Ha bon, moi je trouve pas, je vous en ai écrit plusieurs milliers LOL

Du moment que ça tourne et que cela ne bug pas, il n'y a que le résultat qui compte.

 

++

GEN

Link to post
Share on other sites

Yop,

 

@zefram-28 Pour l'instant je teste ma version 3.7 qui sur breadboard fonctionnait parfaitement d'autant plus que je suis sur le growduino V3 sans MCP23016 et non le V2.

 

Sinon je viens de mettre en test in situ avec tout de branché. Je ferais un retour après benchmark.

 

++

Viker

Link to post
Share on other sites

Yop,

 

après test in situ, ça plante. Par contre il y a une amélioration. Quand je reboot la sonde SHT35 me donne des valeurs alors que la DHT22 restait muette.

 

Donc le problème viens du parasitage de la basse tension par la haute tension et je pense particulièrement par l'étincelle de claquage des relais à leur déconnexion.

Je vais investiguer en ce sens. (voir zone de partage)

 

Aujourd'hui une question me taraude. Possédant le shield V1 où tout à fonctionné sans problème de freeze et le shield V3 ou cela freeze au moindre clignement d’œil qu'est ce qui fait que l'un plante et pas l'autre alors que les montages sont sur le même modèle.

Au moment des problèmes avec les sondes DHT22 ASAIR je me disais que la sonde était vraiment responsable du dysfonctionnement mais maintenant que la SHT35 fonctionne et ne plante pas pourquoi les freezes persistent?

Est-ce que le mcp23017 créait une sorte de protection entre les i/o du mega et les relais? Sachant que sur le V1 je n'avais des relais mécanique que sur les extra et intra. Le relais pour

les autres sorties était un ssr 8 voies.

 

++

Viker

Link to post
Share on other sites