Go Down

Topic: Contrôleur de T°, Humidité avec pilotage manuel ou automatique (Read 17192 times) previous topic - next topic

J-M-L

Quote
Mon problème est la variation d'environ 0.25°C dans certaines mesures alors que la variation n'est pas aussi rapide.
la spec parle de ±0.5°C Accuracy from -10°C to +85°C ils utilisent bien le mot accuracy, pas precision.

cf l'article wikipedia

donc dans l'absolu ça ne me choque pas - perso j'arrondis simplement en degrés... (parce que les composants que vous achetez en chine à quelques dizaines de centimes, port inclus, sont souvent les rebus lors du tri au niveau qualité - ceux qui sont les moins stables)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

AIRPOPCIE

Re bonjour J-M-L lorsque je compile ton croquis à la ligne:
LiquidCrystal_I2C lcd(0x20, 4, 5, 6, 0, 1, 2, 3, 7, NEGATIVE);
j'ai le message suivant:
'NEGATIVE' was not declared in this scope
ou est l'erreur?.
Merci de ton aide.

J-M-L

Je n'ai pas cette ligne dans mon code....c'est vous qui l'avez rajoutée non?

Il se peut que vous ayez besoin d' une autre librairie  LiquidCrystal_I2C Que celle que j'utilise pour votre afficheur, moi je n'ai pas toutes ces valeurs à passer (il existe plusieurs librairies sous ce nom) assurez vous de compiler avec la bonne
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

AIRPOPCIE

Bizarre j'ai téléchargé une première fois LCD_RTC_HUM_VENT.ino et j'ai eu cette erreur.
Je viens de recharger à nouveau et là il me manque la librairie SparkFun_Si7021_Breakout_Library.h que je vais chargé. bizarre.;

AIRPOPCIE

je viens de cocher ton lien: https://github.com/sparkfun/Si7021_Breakout
j'ai téléchargé et ca me dit à la compil:
C:\Users\airpopcie\Downloads\LCD_RTC_TEMP_HUM_VENT\LCD_RTC_TEMP_HUM_VENT.ino:390:93: fatal error: SparkFun_Si7021_Breakout_Library.h: No such file or directory

ce n'est donc pas la bonne.
As tu une solution?.

Es ce que le DTH22 sont plus précis que les DS18B20 de plus je pourrais récupérer le taux d'humidité de ma cave.
Merci de me donner le lien pour la bonne library..
Bonne arduinade.

J-M-L

Les libraires sont les bonnes - il faut les installer correctement sans doute - cf tous les liens au début de mon post. Il faut aussi vous assurer d'avoir une version à jour de l'IDE
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

AIRPOPCIE

Désolé mais j'ai chargé depuis les liens du post et cela ne fonctionne pas.
Es t-il possible d'avoir tes librairies en .ZIP afin que je puisse les installer.
j'ai IDE 1.8.3
Merci

J-M-L

Vous les installez comment ?

Ça veut dire quoi « ça ne marche pas? »

La version en cours de l'IDE est 1.8.5
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

AIRPOPCIE

je télécharge les .zip et ensuite dans l'IDE je fais:
Inclure  une bibliothèque ---> Ajouter la bibliothèque .ZIP...

Es ce qu'il faut absolument mettre à jour l'IDE en V: 1.8.5 ?
Merci

AIRPOPCIE

j'ai chargé l'IDE 1.8.5
les bibliothèques depuis les liens situés dans le début du tuto

et à la compilation j'ai les messages:
E:\ARDUINO\CROQUIS\LCD_RTC_TEMP_HUM_VENT\LCD_RTC_TEMP_HUM_VENT.ino: In function 'void setup()':

LCD_RTC_TEMP_HUM_VENT:696: error: no matching function for call to 'LiquidCrystal_I2C::begin()'

   lcd.begin();

             ^

E:\ARDUINO\CROQUIS\LCD_RTC_TEMP_HUM_VENT\LCD_RTC_TEMP_HUM_VENT.ino:696:13: note: candidate is:

In file included from E:\ARDUINO\CROQUIS\LCD_RTC_TEMP_HUM_VENT\LCD_RTC_TEMP_HUM_VENT.ino:143:0:

C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t)

   void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );

        ^

C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2/LiquidCrystal_I2C.h:58:8: note:   candidate expects 3 arguments, 0 provided

Plusieurs bibliothèque trouvées pour "LiquidCrystal_I2C.h"
Utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2
Non utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.1
Non utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
Utilisation de la bibliothèque EEPROM version 2.0 dans le dossier: C:\Users\airpopcie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\EEPROM
Utilisation de la bibliothèque LiquidCrystal_I2C-1.1.2 version 1.1.2 dans le dossier: C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2
Utilisation de la bibliothèque Wire version 1.0 dans le dossier: C:\Users\airpopcie\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\Wire
Utilisation de la bibliothèque RTClib version 1.2.0 dans le dossier: C:\Users\airpopcie\Documents\Arduino\libraries\RTClib
Utilisation de la bibliothèque OneWire version 2.3.3 dans le dossier: C:\Users\airpopcie\Documents\Arduino\libraries\OneWire
Utilisation de la bibliothèque DallasTemperature version 3.7.6 dans le dossier: C:\Users\airpopcie\Documents\Arduino\libraries\DallasTemperature
Utilisation de la bibliothèque SparkFun_Si7021_Breakout_Example prise dans le dossier : C:\Users\airpopcie\Documents\Arduino\libraries\SparkFun_Si7021_Breakout_Example (legacy)
Utilisation de la bibliothèque OneButton-master version 1.2.0 dans le dossier: C:\Users\airpopcie\Documents\Arduino\libraries\OneButton-master
exit status 1
no matching function for call to 'LiquidCrystal_I2C::begin()'
j'avoue ne pas savoir alles plus loin.
Merci de l'aide

J-M-L

Quote
Utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.2
Non utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\LiquidCrystal_I2C-1.1.1
Non utilisé : C:\Users\airpopcie\Documents\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
-> il se peut que le compilateur ne prenne pas la bonne librairie  LiquidCrystal_I2C, impossible à dire comme cela.

virez les toutes (mettez les dans un dossier temporaire sur le bureau)  et réinstallez depuis Github

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

tapez clone on desktop, decompressez à la main le zip vous obetnez un dossier  Arduino-LiquidCrystal-I2C-library-master, changez son nom en LiquidCrystal_I2C et mettez le dans
C:\Users\airpopcie\Documents\Arduino\libraries

quittez l'IDE et relancez le
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

dfgh

Bonjour JML

tout d'abord, bravo et merci pour la qualité de ce partage bien fait et très documenté.


partant du principe qu'en étudiant le code et la façon de coder des autres passionnés, on apprends énormément de choses, je regarde de très près ton code et je bute sur une façon de faire que je ne connais pas.
pourrais tu éclairer ma lanterne : dans la fonction qui suit,
 tu déclares qu'elle reçoit un boolean forceDisplay, d'accord, mais tu l'initialises !!!  à false
puis, dans la if qui suit, tu testes si le boolean forceDisplay est "true" ???
ce if ne sera jamais vérifier ??? non ?
void displayConsigne(boolean forceDisplay = false)
{
  int16_t c;

  if (forceDisplay) {
    lcd.setCursor(xVConsigne, yVConsigne);
    lcd.write(lesParametres.ventConsigne);
    lcdTemperature(lesParametres.tempConsigne, xTConsigne, yTConsigne);
    lcdHumidite(lesParametres.humConsigne, xHConsigne, yHCons

bricofoy

je vais répondre à sa place (sans me planter j'espère) vu que j'utilise aussi ce type de notation : en fait cela permet de donner une valeur par défaut à la variable.

De la sorte il est possible d'appeler la fonction displayConsigne(); sans donner de paramètre, la variable vaudra donc false, valeur par défaut donnée dans la définition.
Ou alors en faisant : displayConsigne(true); et dans ce cas la variable prendra la valeur passée en paramètre (true). Et donc le if sera exécuté.

Ça permet d'avoir des fonctions utilisable simplement dans la plupart des cas, et avec des paramètres spécifiés explicitement dans certains cas particuliers.
-tu savais que si tu passe le CD de windows à l'envers, tu entends une chanson satanique ?
-non, mais il y a pire : à l'endroit, ça l'installe !

J-M-L

Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

dfgh


Go Up