DHT22 (Temperature / Humidity)
Posted: Tue May 27, 2014 8:49 am
The DHT22 is a Humidity and Temperature Sensor.
Connecting:
DHT(GND) = I2C(0V/GND)
DHT(VCC) = I2C(3.3V)
DHT(Sensor) = I2C(DA)
Code to read the Senosr:
DHTx Library : Download
Connecting:
DHT(GND) = I2C(0V/GND)
DHT(VCC) = I2C(3.3V)
DHT(Sensor) = I2C(DA)
Code to read the Senosr:
- Code:
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
//imports the SPI library (needed to communicate with Gamebuino's screen)
#include <SPI.h>
//imports the Gamebuino library
#include <Gamebuino.h>
//creates a Gamebuino object named gb
Gamebuino gb;
#include "DHT.h"
#define DHTPIN A4 // 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
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// initialize the Gamebuino object
gb.begin(F("DHT22"));
dht.begin();
}
void loop() {
if (gb.update()) {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
float t = dht.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
if (isnan(t) || isnan(h)) {
gb.display.println(F("No Sensor!"));
} else {
gb.display.println(F("Humidity: "));
gb.display.print(h);
gb.display.println(F(" %"));
gb.display.println(F("Temperature: "));
gb.display.print(t);
gb.display.println(F(" C"));
}
}
}
DHTx Library : Download