Climate indoor station

Bonjour,

Ce montage m’intéresse :

Mais j'ai des messages d'erreur que je ne comprend pas :

barometre:29: error ‘DHT’ does not name a type
barometre.ino: in fonction ‘void setup () ‘:
barometre.51: error : expected unqualified-id before ‘ . ‘ token
barometre.ino: In fonction ‘void loop () ‘ :
barometre:88: error expected primary-expression before ‘ . ‘ token
barometre:100: error expected primary-expression before ‘ . ‘ token

Pourtant j'ai bien toutes les "librairies" concernant ce code.

Merci de votre aide.

Bonjour,
Sans ton code, la détection de l'erreur va être difficle.
@+

bonjour,
parions qu'une lib manque :slight_smile:
la dht par exemple

Si je peux te donner un conseil pour la faible différence de prix utilise un DHT22 au lieu d'un DHT11.

  • meilleure précision et gamme de mesure plus large.
  • le DHT11 est à 1 °C près, le DHT22 indique un chiffre après la virgule.
  • le DH11 est +0°C + 70°C, le DHT22 est -40°C +80°C
  • le DHT11 indique un hygrométrie entre 30% et 70 % , le DH22 entre 0% et 100%

Tu peux acheter sans crainte sur Ebay j'en ai 2 qui fonctionnent très bien et qui indiquent un écart de température entre eux de seulement 0,2 °C

Attention à la librairie utilisée : fuit toutes celle qui utilisent la fonction arduino "digitalRead()" dans une boucle "while" tu aura des volées de timeout.
La dernière dispo sur le playground (1.07) est fonctionnelle avec une fréquence d'horloge de 16 MHz ce qui est le cas général. A 8 MHz il y a encore quelques erreurs timeout.

J'ai bien toutes les libraries concernant ce code, dht.h compris.

Le code est dans le lien que j'ai donné.

Il est là :

http://blog.simtronyx.de/source_code/BMP085_DHT11_DS1307_und_HY_1_8_SPI.ino

Ce que je ne comprend pas c'est que l'auteur de ce montage et de ce code a fait fonctionner son montage sans problème, pourquoi chez moi ça ne marche pas.........

T'as bien relancé l'IDE ?

Parce que si tu utilises exactement le code du lien, la seule explication est un problème de librairie (mauvais dossier, IDE non redémarré ...)

Je redémarre l'IDE à chaque modif, le dossier "librairies" est bien dans le dossier Arduino, j'ai bien toutes les librairies concernant ce montage c'est bien ce que je ne comprend pas........

J'ai essayé un autre sketch pour faire fonctionner un DHT11, j'ai les mêmes erreurs, j'ai donc bien un problème de librairies mais je ne vois pas !

mimichris:
Je redémarre l'IDE à chaque modif, le dossier "librairies" est bien dans le dossier Arduino, j'ai bien toutes les librairies concernant ce montage c'est bien ce que je ne comprend pas........

J'ai essayé un autre sketch pour faire fonctionner un DHT11, j'ai les mêmes erreurs, j'ai donc bien un problème de librairies mais je ne vois pas !

Bonjour
testé avec les libs récupérés par les liens
ça compile sans problème chez moi IDE 1.5.6

J'ai bien toutes les libraries concernant ce code, dht.h compris.

Oui mais est-ce les bonnes ?

lorsque tu lance l'ide, tu as des messages d'alerte?
ca pourrait être un nom de lib qui passe pas avec un espace ou un - dans le nom

Bon, j'ai tout enlevé, tout ré-installé :

C:\Arduino : l'IDE Arduino 1.0.6 y compris la "librairies" avec tous les éléments pour faire fonctionner le sketch "climate indoor station". DHT.h, DHT.ccp.

C:\Document\Arduino : tous mes sketchs.

J'ai toujours l'erreur avec DHT.h

Rapport :

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows Vista), Board: "Arduino Uno"
weather_station_v2.ino:1:17: error: DHT.h: No such file or directory
weather_station_v2:16: error: 'DHT' does not name a type
weather_station_v2.ino: In function 'void setup()':
weather_station_v2:23: error: 'dht' was not declared in this scope
weather_station_v2.ino: In function 'void loop()':
weather_station_v2:31: error: 'dht' was not declared in this scope

De même quand je vérifie l'exemple "DHTtester.ino" qui est dans "libraries" et "DHT", j'ai ce problème :

Rapport :

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows Vista), Board: "Arduino Uno"
DHTtester.pde:4:17: error: DHT.h: No such file or directory
DHTtester:18: error: 'DHT' does not name a type
DHTtester.pde: In function 'void setup()':
DHTtester:24: error: 'dht' was not declared in this scope
DHTtester.pde: In function 'void loop()':
DHTtester:30: error: 'dht' was not declared in this scope

C'est incroyable, j'y perd mon latin.

Artouste:

mimichris:
Je redémarre l'IDE à chaque modif, le dossier "librairies" est bien dans le dossier Arduino, j'ai bien toutes les librairies concernant ce montage c'est bien ce que je ne comprend pas........

J'ai essayé un autre sketch pour faire fonctionner un DHT11, j'ai les mêmes erreurs, j'ai donc bien un problème de librairies mais je ne vois pas !

Bonjour
testé avec les libs récupérés par les liens
ça compile sans problème chez moi IDE 1.5.6

J'ai essayé d'installer la 1.5.6 mais ça bug chez moi, j'ai donc ré-installé la 1.0.6.

c'est clair, la lib n'est pas au bon endroit ou alors doublon

Le répertoire contenant la bibliothèque doit être placée dans le répertoire "library" , que tu dois créer s'il n'existe pas encore , qui se trouve dans le répertoire ''schetchbook''.

Une autre solution qui fonctionne aussi, mais fait des doublons de fichiers, est de placer les fichiers h et cpp dans le même répertoire que le fichier ino. Ne pas oublier de relancer l'IDE.

Inutile de changer constamment de version d'IDE, le problème sera toujours le même.

Merci pour vos réponses, malheureusement, j'ai toujours un problème avec le DHT, même après avoir mis les DHT.h et DHT.cpp et DHT11.h et DHT11.cpp dans le même répertoire que le fichier *.ino.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows Vista), Board: "Arduino Uno"
simpe_climate_indoor:27: error: 'DHT11' was not declared in this scope
simpe_climate_indoor.ino: In function 'void setup()':
simpe_climate_indoor:49: error: 'class DHT' has no member named 'begin'
simpe_climate_indoor.ino: In function 'void loop()':
simpe_climate_indoor:86: error: 'class DHT' has no member named 'readTemperature'
simpe_climate_indoor:98: error: 'class DHT' has no member named 'readHumidity'

Sans les fichiers DHT dans le répertoire *.ino :

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows Vista), Board: "Arduino Uno"
simple_climate_indoor:27: error: 'DHT11' was not declared in this scope
simple_climate_indoor.ino: In function 'void setup()':
simple_climate_indoor:49: error: 'class DHT' has no member named 'begin'
simple_climate_indoor.ino: In function 'void loop()':
simple_climate_indoor:86: error: 'class DHT' has no member named 'readTemperature'
simple_climate_indoor:98: error: 'class DHT' has no member named 'readHumidity'

Bonsoir,
Si tu mets tes .h et .cpp dans le même répertoire que le .ino, il faut changer les #include<toto.x> par #include"toto.x".
@+

Pour savoir comment installer une nouvelle bibliothèque c'est pas loin c'est ici :

Au passage tu pourra constater que j'ai écrit de mémoire et que j'ai fait une faute d'orthographe sur le mot "libraries"
Cela montre qu'il ne faut jamais prendre pour argent content tout ce qu'on peux te dire et qu'en aucun cas tu n'es dispensé, une fois qu'on t'a mis sur la voie, de vérifier par toi même, et pour le cas présent il ne fallait pas aller bien loin.

Pour la suite si ce que t'as dit Icare et ou/si en rectifiant l'orthographe de "libraries" tu as toujours des soucis je te conseille de partir sur une installation propre, cela ira plus vite que de chercher une aiguille dans une meule de foin.

  • Tu renome comme tu veux le dossier schetchbook mais tu ne l'efface pas : on ne sais jamais.
  • Tu lance l'IDE, elle créra un nouveau dossier schetchbook bien propre dans lequel tu sera sans doute obligé de créer le dossier "libraries".
  • Tu fais comme il est dit sur le lien que j'ai placé plus haut.

Merci pour vos réponses, malheureusement, j'ai toujours un problème avec le DHT, même après avoir mis les DHT.h et DHT.cpp et DHT11.h et DHT11.cpp dans le même répertoire que le fichier *.ino.

va falloir revoir certaines bases :wink:
le ino que tu créé se met dans un rep "sketchbook" (en principe)
les librairies avec leurs exemples se mettent dans un sous répertoire du programme arduino qui est librairy
ex :
librairy/dht (le repertoire de la lib)
librairy/wire
etc...

@ Infobarquee
Tu fais la même erreur que moi : le nom du répertoire pour les lib n'est library mais libraries.

Par contre tu peux parfaitement placer les fichiers h et cpp dans le même répertoire que le fichier ino à condition de faire ce qu'à rappellé Icare (et que j'avais oublié de spécifier) il faut remplacer
#include <ddd.h> par #include "ddd.h".
C'est ce que je fais couramment quand je veux bricoler une bibliothèque sans foutre le bazar dans le répertoire libraries

Tu peux également mettre avec le fichier *.ino autant de fichier *.c que tu veux. Quand c'est simplement pour écrire des fonctions utilitaires écrire, en C permet de gagner quelques octets et un peu de vitesse d'exécution.

:wink: effectivement libraries et non library

viens de me rendre compte qu'on ne peut plus éditer un post pour modifier.