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:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

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

Manu

  • Newbie
  • *
  • Messages: 36
    • 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