Sciences et Technologies de Laboratoire
M2C3T1
DébutUARTDataloggingDHT22BMP180GPSGPS+LCDGPS KiwiFinal

Programme DHT22

Mise en oeuvre du capteur avec un écran LCD pour afficheur.

Ce programme est basé sur le programme exemple de la bibliothèque DHT.

arduino code

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "DHT.h"
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

#define DHTPIN 3     // what pin we're connected to

// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11 
#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

LiquidCrystal_I2C lcd(0x27,16,2); 
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  pinMode(12,OUTPUT);              // Alimentation sur patte 12
  digitalWrite(12,1);
  lcd.init();                      // initialize the lcd  
  lcd.backlight();
  lcd.print("DHTxx test!"); 
  dht.begin();
}

void loop() {
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  int h = dht.readHumidity();
  int t = dht.readTemperature();


  // check if returns are valid, if they are NaN (not a number) then something went wrong!
  if (isnan(t) || isnan(h)) {
    lcd.clear();
    lcd.print("Erreur");
  } else {
    lcd.setCursor(0, 0);
    lcd.print("Hum. rel : "); 
    lcd.print(h);lcd.print(" %");
    lcd.print("  ");
    lcd.setCursor(0, 1);
    lcd.print("   Temp. : "); 
    lcd.print(t);
    lcd.write(223);
    lcd.print("C");
    lcd.print("  ");
  }
}