As we like basic electronic components over shield, in this guide we will use the hardware, not the shields. We can not give warranty of working about shields. Here is new test codes for Arduino temperature humidity sensor DHT11, DHT21, DHT22 test code for hardware (not shields). 2 libraries needed. Our old guides like DHT11 with TM1637 7 segment display will not work with the new libraries. DHT22 is “modern” and sensitive but more costly.
This code will work with common Arduino models such as UNO, Mega, Nano. Follow this guide for ESP32 Arduino.
Arduino Temperature Humidity Sensor : DHT11, DHT21, DHT22 Test Code
If you newly purchased some kind of those China temperature humidity sensor, it will appear to you that they have lot of pins. That blue or white coloured plastic outside is a mini casing. If you open it up it (not needed for operation but optional learning) you’ll find a PCB which has a resistive type humidity sensor, a negative temperature coefficient thermistor for measuring temperature and an 8-bit microcontroller. Left to right the pins are :
---
VCC – to connect with 5v of Arduino
Data – to connect with digital pin of Arduino
NC – not needed to do anything
GND – to connect with GND of Arduino
Essentially we have one pin for actual need, it is obvious that one pin will go to 5v and one to GND. The 2nd pin, which is Data, needs some operational voltage. Adding a 5K Ohm resister to 5v of Arduino and adding it to Data pin will work fine. Then Data pin will go to digital pin of Arduino. If you do not have 5K Ohm resister, then you can add an LED to 3.3v and add to Data pin before in circuit going to digital pin of Arduino. If you use LED that will blink when data will be read.
1 2 3 4 | ------------------------[5v of Arduino]-------------+-------+ ---[5K Ohm resister]----[Digital Pin of Arduino]----| DT | ---[Not needed]-------------------------------------| 11 | ------------------------[GND of Arduino]------------+-------+ |
We will install these libraries on Arduino IDE and restart it :
1 2 | https://github.com/adafruit/Adafruit_Sensor https://github.com/adafruit/DHT-sensor-library |
In Arduino, we will open the software Serial Monitor to view the reading. This is the code from Adafruit’s library :
1 2 3 4 5 6 7 8 9 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 53 54 55 56 57 | #include <Adafruit_Sensor.h> #include <DHT.h> #include <DHT_U.h> #define DHTPIN 2 // Pin which is connected to the DHT sensor. // type the model of sensor in use, we are using DHT 11, if you are using DHT 21 or DHT 22 change it #define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); uint32_t delayMS; void setup() { Serial.begin(9600); dht.begin(); Serial.println("Modified Temperature, Humidity Serial Monitor Example"); sensor_t sensor; dht.temperature().getSensor(&sensor); Serial.println("------------------------------------"); Serial.println("Temperature"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" *C"); Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" *C"); Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" *C"); Serial.println("------------------------------------"); dht.humidity().getSensor(&sensor); Serial.println("------------------------------------"); Serial.println("Humidity"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println("%"); Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println("%"); Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println("%"); Serial.println("------------------------------------"); delayMS = sensor.min_delay / 1000; } void loop() { delay(delayMS); sensors_event_t event; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println("Error reading temperature!"); } else { Serial.print("Temperature: "); Serial.print(event.temperature); Serial.println(" *C"); } dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println("Error reading humidity!"); } else { Serial.print("Humidity: "); Serial.print(event.relative_humidity); Serial.println("%"); } } |
On your Serial Monitor, you’ll get reading.
Tagged With paperuri:(9c24e597609e37ff461079f499353b34) , test dht11 , ардуино датчик влажности К АРДУИНО , датчик температуры ардуино подключение , dht11 , подключение dht , arduino uno ile nem sensörü , arduino test event temperature value , arduino temperature sensor code , ARDUINO TEMPERA