Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
http://forum.bidouilleur.ca/index.php?action=register Les demandes d'inscription sont révisées quotidiennement.

Auteur Sujet: Point de Rosée ( Arduino & DHT22 )  (Lu 408 fois)

Manu

  • Newbie
  • *
  • Messages: 19
    • Voir le profil
Point de Rosée ( Arduino & DHT22 )
« le: février 08, 2021, 12:07:02 pm »

Bonjour à tous,

Cette fois, je souhaite partager un montage pour visualiser la Température, l'Humidité et surtout le Point de Rosée avec Arduino et un DHT22.
Allons-y !

En photo:
(Avec mesures du lieu le plus humide de mon habitat)


DHT22;
5V
GND
DATA ->PIN2

OLED;
5V
GND
SCK ->PIN A5
SDA ->PINA4

Pour la temperature en Celsius
float t = dht.readTemperature();

Pour la temperature en Fahrenheit (isFahrenheit = true)
float t = dht.readTemperature(true);

Arduino NANO + oled 128x32
// http://forum.bidouilleur.ca/
// Point de Rosée
/*
Arduino         Nano
DHT22          Data Pin PD2
Oled 128x32 SSD1306

Calcul
squareroot = sqrt(number);
cuberoot = cbrt(number);
quadroot = sqrt(sqrt(number));
pentaroot = pow(number, 0.2);
sixtroot = cbrt(sqrt(number));
par robtillaart https://forum.arduino.cc/index.php?topic=373265.0
*/

#include <U8glib.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22

U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
DHT dht(DHTPIN, DHTTYPE);

void setup(){
  u8g.setFont(u8g_font_helvR18);
  u8g.setRot180();
    u8g.firstPage();
      do {
      u8g.setPrintPos(0, 32);
      u8g.print("     ");
    }while( u8g.nextPage() );
  Serial.begin(9600);
  dht.begin();
delay(250);
}

void loop(){
    float h = dht.readHumidity();                                        // Humidité
    float t = dht.readTemperature();                                   // Temperature
    float r = ((sqrt (sqrt (sqrt(h/100)))) * (110+t) )-110; // Point de Rosée   (use sqrt 2 x 2 x 2 = 8 for eighth roots)

    Serial.print(t,0);
    Serial.print(" ");
    Serial.print(h,0);
    Serial.print(" ");
    Serial.println(r,0);

    u8g.firstPage();
      do {
      u8g.setFont(u8g_font_helvR24);
      u8g.setPrintPos(0, 28);
      u8g.print(t,0);
      u8g.print(char(176));
      u8g.print("");
      u8g.setFont(u8g_font_helvR24);
      u8g.setPrintPos(56, 28);
      u8g.print(h,0);
      u8g.setFont(u8g_font_helvR18);
      u8g.setPrintPos(102, 28);
      u8g.print(r,0);
    }while( u8g.nextPage() );
delay(300);
}

Arduino UNO + oled 128x64
// http://forum.bidouilleur.ca/
// Point de Rosée
/*
Arduino         UNO
DHT22          Data Pin2
Oled 128x64 SH1106

Calcul
squareroot = sqrt(number);
cuberoot = cbrt(number);
quadroot = sqrt(sqrt(number));
pentaroot = pow(number, 0.2);
sixtroot = cbrt(sqrt(number));
par robtillaart https://forum.arduino.cc/index.php?topic=373265.0
*/

#include <U8glib.h>
#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);
DHT dht(DHTPIN, DHTTYPE);

void setup(){
 
    u8g.firstPage();
      do {
      u8g.setPrintPos(0, 32);
      u8g.print("     ");
    }while( u8g.nextPage() );
  Serial.begin(9600);
  dht.begin();
delay(250);
}

void loop(){
 
    float h = dht.readHumidity();
    float t = dht.readTemperature();
    float r = ((sqrt (sqrt (sqrt(h/100)))) * (110+t) )-110; // Point de Rosée (use sqrt 2 x 2 x 2 = 8 for eighth roots)

    Serial.print(t,0);
    Serial.print(" ");
    Serial.print(h,0);
    Serial.print(" ");
    Serial.println(r,0);

    u8g.firstPage();
      do {
       u8g.setFont(u8g_font_fub30r);
      u8g.setPrintPos(0, 35);
      u8g.print(t,0);
      u8g.setFont(u8g_font_helvR18);
      u8g.setPrintPos(46, 23);
      u8g.print(char(176));
      u8g.setFont(u8g_font_fub30r);
      u8g.setPrintPos(66, 35);
      u8g.print(h,0);
      u8g.setFont(u8g_font_helvR18);
      u8g.setPrintPos(109, 23);
      u8g.print("%");
      u8g.setFont(u8g_font_helvR18);
      u8g.setPrintPos(37, 64);
      u8g.print(r,0);
      u8g.print(" Pr");
    }while( u8g.nextPage());
   
delay(500);
}


Info:
( www.canada.ca/fr/institut-conservation  )




( Wikipedia )


Liens utiles:

Agent de détérioration : Humidité relative inadéquate
https://www.canada.ca/fr/institut-conservation/services/agents-deterioration/humidite.html

Calcul de l'isolation thermique d'un mur
https://www.toutcalculer.com/batiment/isolation-thermique.php

Finition interieur des murs sous sol
http://publications.gc.ca/collections/collection_2016/cnrc-nrc/NR36-1-31-fra.pdf


J'ai utilisé la deuxième formule
Point de Rosée Wikipedía
https://fr.wikipedia.org/wiki/Point_de_ros%C3%A9e


https://es.wikipedia.org/wiki/Punto_de_roc%C3%ADo

 Convertion pour Arduino --> r = ((sqrt (sqrt (sqrt(h/100)))) * (110+t) )-110;

Videó:
EB_#18 Protections contre les Décharges Électrostatiques
https://www.youtube.com/watch?v=0Fcg0FMyAso

EB_#341 Construction - Mon séchoir à Filament de Plastique à Impression 3D
https://www.youtube.com/watch?v=y3b2KqOZUY8

Vidéo en accéléré d’une détérioration : parchemin et clé en fer    ( www.canada.ca/fr/institut-conservation )
https://www.canada.ca/fr/institut-conservation/services/agents-deterioration/accelere-parchemin-cle.html

Conseils:
N'oubliez pas les conseils de Bertrand. Désactiver le ioniseur des déshumidificateurs qui en disposent, car il peut dégrader certains plastiques.

Bye !  :)
« Modifié: février 08, 2021, 12:57:14 pm par Manu »
IP archivée