The first thing we need is to install the library to allow us to read the DHT11 Sensor. If you have never installed a library, you can watch this video that shows you how. For this project the two libraries we're looking for are both by Adafruit and called "DHT sensor library" and "Adafruit Unified Sensor" which looks like this in the Library Manager:
DHT11 Left pin --> Power (Red, middle pin on Arduino)
DHT11 Second pin --> D2, Digital Signal pin (Yellow pin on Arduino)
DHT11 Third pin (some don't have this) --> nothing
DHT11 Right pin -- GND (Black pin on Arduino)
DHT11 Left pin --> Power (Red, middle pin on Arduino)
DHT11 Second pin --> D2, Digital Signal pin (Blue pin on Arduino)
DHT11 Third pin (some don't have this) --> nothing
DHT11 Right pin -- GND (Black pin on Arduino)
#include "DHT.h"
#define DHTPIN 2 // Digital pin connected to the DHT sensor
// Uncomment whatever type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// 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();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}