Arduino + 19 sondes 18B20 + 1 AM2302 + carte mémoire SnootLab

Bonjour,
j'ai construit une station de mesure d'armoire de climatisation sur la base d'un Arduino d'abord équipé de 19 sondes de température 18B20 et d'une sonde externe AM2302, que j'ai voulu équipé d'un enregistreur sous la forme d'une carte mémoire KIT-00601 de chez SnootLab.
Inexpérimenté, j'ai branché mes 16 sondes suivant le schéma "parasite" sur deux fils, et malgré la distance d'une quinzaine de mètres entre l'Arduino et certaine sondes j'ai réussi à capter des informations en multipliant les 1-Wire.
(je serai bien revenu sur ce branchement pour faire un seul 1-wire et un branchement 3 fils mais c'est trop tard).
Mon programme fait seulement 22k byte sur les 32k autorisé sur un Uno et plus sur un Méga, mais bernique le résultat est le même: après l'initialisation de la carte, tout part en live : c'est à dire :
Bj ( initialisation de la carte (testée aussi d'autre part).. jusque là ça va !)
Çf
¼Ç ¹[1] [1] @ é


ce qui ressemble fort à un dépassement de mémoire.

Je séche complètement sur ce code: Merci de votre aide.

AM2302_DS18B20_date_3_wire_FR_horodate_reduit_8.ino (10 KB)

AM2302_DS18B20_date_3_wire_FR_horodate_reduit_8.ino (10 KB)

Berny:
Bonjour,
j'ai construit une station de mesure d'armoire de climatisation sur la base d'un Arduino d'abord équipé de 19 sondes de température 18B20 et d'une sonde externe AM2302, que j'ai voulu équipé d'un enregistreur sous la forme d'une carte mémoire KIT-00601 de chez SnootLab.
Inexpérimenté, j'ai branché mes 16 sondes suivant le schéma "parasite" sur deux fils, et malgré la distance d'une quinzaine de mètres entre l'Arduino et certaine sondes j'ai réussi à capter des informations en multipliant les 1-Wire.
(je serai bien revenu sur ce branchement pour faire un seul 1-wire et un branchement 3 fils mais c'est trop tard).
Mon programme fait seulement 22k byte sur les 32k autorisé sur un Uno et plus sur un Méga, mais bernique le résultat est le même: après l'initialisation de la carte, tout part en live : c'est à dire :
Bj ( initialisation de la carte (testée aussi d'autre part).. jusque là ça va !)
Çf
¼Ç ¹[1] [1] @ é


ce qui ressemble fort à un dépassement de mémoire.

Je séche complètement sur ce code: Merci de votre aide.

bonjour
attention avec du parasitic sur des longueurs et des compos multilpes.
sans mauvais jeu de lots ça peut etre chaud
attention aussi au temps d'acquisition et de relaxation (750 ms dans le code) vu le nombre de compo il ne serait pas idiot de passer à 2000.
ce qui fait pour chaque capteur ~ une acquisition par polling par minute.

voir ces AN chez Maxim