Station Météo

Parlez nous de vos projets et de vos idées, imaginez des applications

Re: Station Météo

Message non lude HenriLeopold » Sam 28 Avr 2012 06:46

Bonjour, Zébulon,

Le code est correct.

Avec quel IDE travailles-tu ? Arduino 023 ? Arduino v.1.0 ?

OneWire.h fonctionne avec Arduino 023, pas avec Arduino 1.0

L'adresse de DS2423 est-elle correcte ?

Pourrais-tu me faire parvenir une copie d'écran ou par copier/coller dans bloc-notes le listing des erreurs apparaissant en bas de page avec la fonction verify ?

Si tu as acheté le double compteur DS2423 de Hobby-boards assemblé, ci-joint le schéma en pdf

D'après ce schéma, les entrées A et B sont reliées à la masse par une résistance de 1Mo. Donc les changements se font par impulsion positive.

La sortie DQ de compteur est reliée à la broche digitale 4. Mais cette broche digitale 4 est aussi reliée au +5v par l'intermédiaire d'une résistance de 4,7K0.

Amicalement
Henri
Fichiers joints
dual_counter_v2.6_schematic.pdf
(14.4 Kio) Téléchargé 302 fois
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Sam 28 Avr 2012 13:06

Bonjour Henri,
je travaille avec la version Arduino 023.
Quant à l'adresse du DS2423 quelle est la commande pour la connaitre ou lui imposer si je travaille avec plusieurs chips?
Pour la partie hardware j'ai acheté le chip seul que j'ai ressoudé sur une plaquette intermédiaire pour arriver à une connectique standard .Je dois encore y ajouter les résistances et autres composants .Si je lis le datasheet du ds2423 de chez Maxim, les deux entrées sont raccordées au +5v par une résistance que tu mets à 0V le temps de l'impulsion....La solution que tu me donnes est aussi utilisée dans d'autres forum; je testerai avec ta proposition.
Entre temps j'ai constaté que j'avais la librairie wire.h et non pas onewire.h; je l'ai donc installée.
Ci-dessous le sketch trouvé pour utiliser mon ds2423 +les erreurs.


Code: Tout sélectionner
#include <OneWire.h>
#include <DS2423.h>

DeviceAddress counter = { 0x1D, 0xF4, 0xCB, 0x0F, 0x0, 0x0, 0x0, 0xA5 };

OneWire ow(4);
ds2423 myCounter(&ow, counter);


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

void loop(void)
{
  Serial.print("Counter A: ");
  Serial.println(myCounter.readCounter(1));
  Serial.print("Counter B: ");
  Serial.println(myCounter.readCounter(2));
 
  Serial.println();
}


La commande verify donne ceci :

'DeviceAddress'does not name a type

sketch_apr28a.cpp:2:20: error:DS2423.h: No such file or directory
sketch_apr28a:3: error 'DeviceAddress' does not name a type
sketch_apr28a:6: error: 'ds2423',does not name a type
sketch_apr28a.cpp:In fonction 'void loop() ' :
sketch_apr28a.:17: error: 'myCounter was not declared in this scope

Merci d'avance
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude HenriLeopold » Sam 28 Avr 2012 14:02

Bonjour, Zebulon,

J'ai essayé ton code.
En effet il renvoie la liste d'erreurs que tu m'as communiquée. Il ne trouve pas "DS2423.h".

DS2423.h n'est pas dans la librairie, mais ds2423.h s'y trouve.
C'est un problème de lettres minuscules au lieu de majuscules.
J'ai réessayé ton code avec le changement des majuscules en minuscules et ça marche.


Code: Tout sélectionner
#include <OneWire.h>
#include <ds2423.h>

DeviceAddress counter = { 0x1D, 0xF4, 0xCB, 0x0F, 0x0, 0x0, 0x0, 0xA5 };

OneWire ow(4);
ds2423 myCounter(&ow, counter);


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

void loop(void)
{
Serial.print("Counter A: ");
Serial.println(myCounter.readCounter(1));
Serial.print("Counter B: ");
Serial.println(myCounter.readCounter(2));

Serial.println();
}


Pour trouver l'adresse de ce compteur, je ne sais plus comment j'avais fait. Je vais consulter mes archives.

A+
Amicalement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude HenriLeopold » Sam 28 Avr 2012 14:27

Re,

Ci-joint un programme permettant de trouver l'adresse du compteur.
Il faut faire un copier/coller dans un nouveau sketch arduino.
Et tu récupéreras l'adresse du compteur en activant "Seriel Monitor"

Tiens-moi au courant.

A+
Henri
Fichiers joints
capteur_adresse.txt
(5.05 Kio) Téléchargé 201 fois
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude Zebulon » Sam 28 Avr 2012 15:59

Henri,
je vais essayer le tout .
Encore un grand merci pour ta disponibilité.

Bon w-e
A bientot

Zebulon
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude Zebulon » Mar 1 Mai 2012 18:57

Bonsoir Henri, bonsoir à tous.

résultats des tests:
j'ai testé et récupéré les adresses de mes DS2423 grace au petit sketch que tu m'as fourni.
Je peux aussi lire les compteurs A et B ; j'ai incrémenté ceux-ci en générant des impulsions via un bouton poussoir mettant les pines compteurs au +5V.
Je peux maintenant continuer sur mon projet.
Henri, encore merci pour ton aide.

Bonne soirée.

Zebulon
Zebulon
 
Messages: 19
Inscription: Mer 28 Déc 2011 20:31

Re: Station Météo

Message non lude HenriLeopold » Mar 1 Mai 2012 20:01

Bonsoir, Zebulon,

Je suis heureux de savoir que tu aies pu lire les adresses de tes ds2423, que tu aies réussi à les compteurs les compteurs A et B.
A savoir le ds2423 n'ont pas de remise à zéro. La raz des compteurs se fait par suppression de l'alimentation. Ce sont des compteurs 32 bit, c'est-à-dire de 0 à 4 294 967 295 : il faut donc prévoir des variables "unsigned long".

Bon courage pour la continuation de ton projet.
Mais si tu as d'autres questions, n'hésites pas.

Amicalement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Dim 17 Mar 2013 12:10

Bonjour,
Je me permet de ré-ouvrir ce sujet car je commence à m'intéresser au DS2423.
Je m'en suis procuré chez Hobby-bord.
J'arrive bien à lire les compteurs A et B via mon Arduino Mega R3.

D'après Henri, les compteurs vont de 0 à 4 294 967 295 ; mais chez moi ils vont de 0 à 255, ce qui est plutôt gênant dans le comptage.
Y'a t'il un paramétrage du composant ? une façon de l'utiliser pour configurer cela ?

Pour info, j'utilise le montage de macoda (que je remercie)
http://www.macoda.com/index.php/Montage:Compteur_eau_DS2423

Merci à celles et ceux quoi pourront m'aider.
Cordialement,
Jean-Mat'
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude HenriLeopold » Dim 17 Mar 2013 14:23

Bonjour, Jean Mat',

"D'après Henri, les compteurs vont de 0 à 4 294 967 295 ; mais chez moi ils vont de 0 à 255, ce qui est plutôt gênant dans le comptage."

As-tu pensé :
    à mettre une résistance de tirage de 4.7ko entre la sortie Dq et le + ?
    età raccorder à une entrée digitale ?
As-tu inclus les librairies nécessaires ?
    #include <Wire.h>
    #include <OneWire.h>
    #include <ds2423.h>
As-tu initialisé le doucle compteur ? avec un code ressemblant à ceci ?
    //Double compteur
    DeviceAddress counter = {0x1D, 0x87, 0x4E, 0x0F, 0x00, 0x00, 0x00, 0x7D }; //code adresse unique 64 bits de mon compteur DS2423(Pluviomètre) à changer pour y mettre l'adresse de ton compteur.
    OneWire ow(2); // le double compteur pluie et vent (ds2433) est connecté à la broche digitale 2
    ds2423 myCounter(&ow, counter);

Je confirme : le double compteur fonctionne de 0 à 4 294 967 295 : le mien fonctionne depuis 2 ans sans problème. Il compte le nombre de tours/minute de l'anémomètre et la quantité de pluie sans discontinuité, 24h sur24h, 7j sur 7j, depuis 2 ans.

A+
Cordialement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Dim 17 Mar 2013 19:59

Bonsoir Henri.
Merci pour ton aide.

Les 3 librairies sont bien incluses.
Au niveau du code, tout est pareil (hormis le nom des variables)
Le 1-wire est raccorder à l'entré 5 donc digitale.

Par contre, ma résistance de tirage fait 1K et non 4.7K ; je n'ai pas de suffisantes connaissances en électronique pour savoir si cela a un impacte sur le fonctionnement du DS2423.
J'essayerai tout de même de changer la résistance.

Autrement je colle le bout de code qui me sert à calculer le nombre d’impulsions entre 2 relevés ; il y a peut être une erreur qui m’échappe.

Code: Tout sélectionner
OneWire capteur(5);
DeviceAddress adrCptEau = { 0x1D, 0x4B, 0xFF, 0x0D, 0x0, 0x0, 0x0, 0x1A };
ds2423 compteurEau(&capteur, adrCptEau);

unsigned long eauFroideCumul = 0;
unsigned long eauChaudeCumul = 0;

unsigned long eauFroideNewCumul = 0;
unsigned long eauChaudeNewCumul = 0;

int eauFroide = 0;
int eauChaude = 0;


void setup() {
  //initialisation des index de départ
  eauFroideCumul = compteurEau.readCounter(1);
  eauChaudeCumul = compteurEau.readCounter(2);
}

//exécuté toutes les 5 minutes
eauFroideNewCumul = compteurEau.readCounter(1);
eauChaudeNewCumul = compteurEau.readCounter(2);

eauFroide  = eauFroideNewCumul-eauFroideCumul;
eauChaude  = eauChaudeNewCumul-eauChaudeCumul;

envoi(eauFroide, eauChaude);

eauFroideCumul  = eauFroideNewCumul;
eauChaudeCumul  = eauChaudeNewCumul;


Je précise aussi que j'ai des sondes de températures OneWire de type DS18B20 raccordées sur le même broche 5 et que tout ce petit monde utilise la même résistance de tirage de 1K.

Merci pour ton aide.
Cordialement,
Jean-Mat'
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude HenriLeopold » Dim 17 Mar 2013 21:07

Jean-Mat'

Je pense que la résistance doit être plus élevée; on conseille en général 4.7ko

Le nombre d'impulsions est une valeur brute, il faut la converti en litre.
Par exemple, pour la pluie, 1 impulsion = 0.518mm de pluie

Je suis un peu surpris par cette ligne de code :
envoi(eauFroide, eauChaude);

Je ne vois pas à quoi elle peut correspondre.
Cette fonction envoi() transmet les valeurs où ? à qui ?

Lorsque l'on afficher une variable sur la sortie série, on utilise la fonction Serial.print () ou Serial.println()
Lorsque l'on enregistraitr une variable sur sur une carte SD, on utilise une fonction du type File.print () ou File.println ()


Si tu le souhaites, tu peux m'envoyer ton code complet à mon adresse email.
J'y jetterai un oeil et, si je le peux, je te dirai où pourrait se trouver l'erreur.

A+
Cordialement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Dim 17 Mar 2013 22:05

Henri,

Effectivement, je ne t'es pas détaillé le code de la fonction "envoi". Pour ce qui nous intéresse on peut la remplacer par un Serial.println().

Pour mon compteur d'eau, j'ai une impulsion pour 25cl d'eau soit 4 par litre.

Mais la n'est pas le problème. Mon souci c'est que ma donné brut (eauFroideCumul) repart à 0 des qu'elle dépasse 255.
Je vais faire d'autre tests et notamment en changeant la valeur de la résistance de tirage.

Merci pour ton aide.
A+
JM
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude jmatgou » Lun 18 Mar 2013 18:59

Bonsoir Henri,

Alors, j'ai changer la résistance de tirage de 1K par une de 4.7K pour la data 1-Wire.
Ça ne change rien mon compteur compte bien jusqu'à 255 puis repart à 0.

Par contre j'ai remarqué que, une fois à 0, il faut 2 impulsions pour qu'il s’incrémente de 1.
Une fois arrivé à 255 pour la 2nd fois, il faut 3 impulsions pour qu'il s’incrémente de 1.
Et ainsi de suite.

Je me suis donc dis que c'était sans doute la classe DS2423 que j'utilisais qui n'était pas bonne.

J'ai télécharger la tienne, que tu avais mis à dispo dans un post plus haut, et j'y ai trouvé un corectif dans le classe DS2423.cpp

Code: Tout sélectionner
  for (int i=0; i<32; i++) {
  _wire->read(); //ignore data in that page
  }
  /*count = _wire->read();
  count << 8;
  count |= _wire->read();
  count << 8;
  count |= _wire->read();
  count << 8;
  count |= _wire->read();
  */
  for (int i=0; i<3; i++) {
  data[i] = _wire->read();   // read in counter data
   }
  count = data[3];
  count = count << 8;
  count |= data[2];
  count = count << 8;
  count |= data[1];
  count = count << 8;
  count |= data[0];


Il y avait bien un souci de décalage de la donnée, pour l'avoir sur 32 bits dans ma classe.
Maintenant ça fonctionne super bien, mon compteur compte au delà de 255.

Merci pour ton aide Henri.

A bientôt.
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude HenriLeopold » Lun 18 Mar 2013 21:19

Bonsoir, Jean-Mat',

Heureux que tu aies trouvé la solution.

C'était donc un problème de librairie à mettre à jour.

Bonne route

A+
Cordialement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Sam 25 Jan 2014 18:54

Bonjour Henri,

J'avais une question concernant la sonde d'humidité SHT15.
Comment as tu réussi à installer cette sonde de manière à ce qu'elle te retourne une valeur correcte tout en étant "protégé" de l'humidité (oxydation des pistes, corrosion, ...)

Moi mon SHT15 n'est qu'un vulgaire petit circuit imprimé. J'ai peur qu'il ne s'abime avec le temps en le laissant à l'air libre.

J'ai vu sur ton site que tu avais un abris pour cette sonde, comment fonctionne t'il ?

Merci pour ton aide.
A bientôt.
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude HenriLeopold » Dim 26 Jan 2014 18:54

Bonsoir, jmatgou,

Bien verni pour protéger les pistes et connexions du circuit imprimé SHT15, ce dernier n'a pas résisté à la poussière, aux micro-particules et toutes sortes saletés que transporte l'air.

J'ai donc tout racheté et me suis documenté pour rendre le tout étanche tout en veillant à ce que la sonde SHT15 envoie des données correctes.

J'explique le tout sur mon site : http://www.hc-creation.fr/meteo :
Dans le menu :
- Ma station - Protection SHT15

Bonne lecture et dis-moi si j'ai répondu à tes préoccupations.

A+
Cordialement
Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Dim 26 Jan 2014 21:59

Bonsoir Henri et merci pour ta réponse.

Je n'avais pas vu cette page sur ton site ;)
Je suis rassuré de voir que ma question soulevait un réel problème.
Je vais me procurer ce petit filtre et réaliser une boite comme la tienne.

Par contre, à quoi sert ton abri à coupelle ? Est-il indispensable ? (je suis novice en météorologie)

Autre question, tant que j'y suis, concernant le capteur de pression BMP085, j'imagine que la pression atmosphérique est identique à l’intérieur et à l'extérieur. Ma station est installée dans mon abris de jardin (humide en hiver).
Toujours dans le but de protéger les capteurs, j'avais pensé mettre celui-ci dans un boitier étanche également.
Est-ce que le fait que le boitier soit étanche va modifier la pression à l’intérieur de la boite ?
J'imagine que non, mais je souhaiterais en être sûr !

Merci.
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude HenriLeopold » Dim 2 Fév 2014 18:21

Bonsoir, jmatgou,

Si on se contente de planter un piquet dans la terre et d'y accrocher un thermomètre à 1.5 m du sol, sans abri à coupelle, on constate bien vite que lorsque le soleil tape sur le thermomètre, celui-ci indique une température extrêmement élevée; cette température, elle même fonction de la couleur dominante du thermomètre, ne correspond pas à l'évidence à celle de l'air. Dans ce cas, on ne mesure pas la température de l'air mais celle du thermomètre, celui ci s'échauffe d'autant plus que sa teinte se rapproche du noir. Il faut donc soustraire le thermomètre au rayonnement direct du soleil ; en d'autres termes : il faut placer le thermomètre à l'ombre.

L'abri à coupelle ou bien à persienne permet de mesurer la température et l'humidité de l'air à l'abri du rayonnement solaire. C'est indispensable. Sur le site de Station-meteo.com tu trouveras des modèles d'abri.

Capteur de pression BMP085:
La pression atmosphérique est identique à l’intérieur et à l'extérieur. Tu peux très bien ton capteur de pression à l'intérieur.
Si tu le mets dans un boitier étanche, cela ne modifie pas la pression atmosphérique mesurée.

A+
Cordialement

Henri
HenriLeopold
 
Messages: 32
Inscription: Mer 25 Mai 2011 19:19

Re: Station Météo

Message non lude jmatgou » Dim 2 Fév 2014 20:34

Merci Henri pour toutes ces précisions.
Je vais pouvoir me débrouiller pour la suite.

A bientôt !
Cordialement
Jean-Mat'
Amateur Arduino et Raspberry pi
Ma centrale de consommation énergétique
Avatar de l’utilisateur
jmatgou
 
Messages: 41
Inscription: Lun 7 Nov 2011 16:19

Re: Station Météo

Message non lude Illico » Lun 24 Fév 2014 14:04

Bonjour à tous
Topic intéressant.
Personnellement j'envisage de remplacer le DS2423 par un "clone" en ATtiny85 (configuré par un Raspberry ou Arduino).
J'ai encore quelque soucis, mais j'ai bon espoir de trouver la solution.
Vous pouvez retrouver la méthode ici.
Illico
 
Messages: 6
Inscription: Lun 27 Jan 2014 17:48

PrécédenteSuivante

Retourner vers Vos projets, vos idées

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron