arduino and dht11 output to lcd module for sale
By continuing to use AliExpress you accept our use of cookies (view more on our Privacy Policy). You can adjust your Cookie Preferences at the bottom of this page.
Here is the simple code that will make it work correctly. I had the same issue and just figured it out. I put some comments about the changes I made and stuff I figured out…. Make sure you have the 3 libraries that are noted “#include”
This tutorial explains how to read or control modules using Arduino libraries which will be very important in any project, for it not only makes the code minimalistic, it also saves precious time.
The temperature and humidity sensor is a popular Arduino project because of its practicality and of its use of inexpensive modules. Keep in mind that this project is scalable and could also be used with a DHT22 for a much more accurate reading.
The DHT11 is a 4-pin sensor used to measure temperature and ambient humidity. This sensor can measure tempareture that ranges from 0°C - 50°C (± 2°C accuracy), and can measure ambient humidity that ranges from 20% RH - 90% RH (± 5% accuracy).
The DHT11 sensor included in the Arduino Upgraded Starter Kit comes with an ADC (Analog-to-Digital Converter) so the number of pins used will be lessend to three.
The 1602 LCD module is a 16-pin device used for display purposes. It is labeled 1602 because 16 characters can be displayed in a row, and this particular module has 2 rows. In total, it can display 32 characters at once.
The 1602 LCD Module included in the Arduino Upgraded Starter Kit already has a soldered I2C Module. This is especially helpful for those with no soldering tools and those who are saving space for the pins since using an I2C module lessens the number of pins used from sixteen pins (for parallel interface) to only four (for I2C)
The potentiometer (small blue screw knob) mounted on the I2C module is used to control the contrast of the display. Turning it full counter clockwise will result in an empty display so make sure to test this out when troubleshooting later on!
These modules would require long codes to make it function accordingly. However, there is also the option of using libraries to make these modules work with far lesser code.
Aftwerwards, you can verify if you had included the library by going back to Sketch -> Include Librarythen scroll down until you find the Contributed libraries block and saw your included user-library.
This is also a default Arduino function. Any commands set here will be looped indefinitely. The showTempHumi() function is called here and it"s designed to allow the sensor to read the temperature and humidity every two seconds.
This is a function that focuses on the display. Remember to always set the command lcd.clear() in a loop so the updated temperature and humidity would show and will not simply append after the last character on the previous set.
The dht is signalling the code that the user is going to call a function from this library. That part of the function is user-defined and could be named anyway the user wanted as highlighted below.
https://store.createlabz.com/blogs/createlabz-tutorials/humidity-and-temperature-sensing-using-dht11-and-20-4-lcd-display-on-arduino-uno-1?_pos=1&_sid=5bfdb52c8&_ss=r
For some reason I can not figure out how to get the LCD display to show one decimal place, so then I can adjust the limits for the LEDs. For example, how do I get it do display 21.9?
When autocomplete results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures.
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.
If you do not know about DHT11, DHT22 temperature sensor and LCD (pinout, how it works, how to program ...), learn about them in the following tutorials:
The above code also work for Arduino Nano. A grandfather, who learns through this tutorial to guide his grandchild has tested this code with Arduino Nano and send us the result like below:
We are considering to make the video tutorials. If you think the video tutorials are essential, please subscribe to our YouTube channel to give us motivation for making the videos.
※ OUR MESSAGESYou can share the link of this tutorial anywhere. Howerver, please do not copy the content to share on other websites. We took a lot of time and effort to create the content of this tutorial, please respect our work!
ArduinoGetStarted.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com, Amazon.it, Amazon.fr, Amazon.co.uk, Amazon.ca, Amazon.de, Amazon.es and Amazon.co.jp
Note: if the lcd displays not properly after powered on, pls adjust the blue potentiometer on the IIC Adapter board which is installed in the backside of the lcd module.
DHT11 is a Humidity and Temperature Sensor, which generates calibrated digital output. DHT11 can be interface with any microcontroller like Arduino, Raspberry Pi, etc. and get instantaneous results. DHT11 is a low cost humidity and temperature sensor which provides high reliability and long term stability.
In this project, we will build a small circuit to interface Arduino with DHT11 Temperature and Humidity Sensor. One of the main applications of connecting DTH11 sensor with Arduino is weather monitoring.
We will see the circuit design of DHT11 interfacing with Arduino. The DHT11 Humidity and Temperature sensor comes in two variants: just the sensor or a module.
The main difference is that the module consists of the pull – up resistor and may also include a power on LED. We have used a module in this project and if you wish to use the sensor itself, you need to connect a 5K Ω pull – up resistor additionally.
Coming to the design, the data pin of the DHT11 Sensor is connected to the Pin 11 of Arduino. A 16 x 2 LCD display is used to display the results. The control pins of LCD i.e. RS and E (Pins 4 and 6 on LCD) are connected to pins 4 and 5 of Arduino. The data pins of LCD i.e. D4 to D7 (pins 11 to 14 on LCD) are connected to pins 0 to 3 on LCD.
NOTE: For ease of connection, we have connected the DHT11 Sensor Module at the ICSP pins of the Arduino as it provides adjacent VCC, DATA and GND pins. This type of connection is not necessary and you can connect the data pin of sensor to normal Digital I/O pins.
DHT11 is a part of DHTXX series of Humidity sensors. The other sensor in this series is DHT22. Both these sensors are Relative Humidity (RH) Sensor. As a result, they will measure both the humidity and temperature. Although DHT11 Humidity Sensors are cheap and slow, they are very popular among hobbyists and beginners.
The DHT11 Humidity and Temperature Sensor consists of 3 main components. A resistive type humidity sensor, an NTC (negative temperature coefficient) thermistor (to measure the temperature) and an 8-bit microcontroller, which converts the analog signals from both the sensors and sends out single digital signal.
DHT11 Humidity Sensor consists of 4 pins: VCC, Data Out, Not Connected (NC) and GND. The range of voltage for VCC pin is 3.5V to 5.5V. A 5V supply would do fine. The data from the Data Out pin is a serial digital data.
The following image shows a typical application circuit for DHT11 Humidity and Temperature Sensor. DHT11 Sensor can measure a humidity value in the range of 20 – 90% of Relative Humidity (RH) and a temperature in the range of 0 – 500C. The sampling period of the sensor is 1 second i.e.
Also, the length of the cable can be as long as 20 meters. The data from the sensor consists of integral and decimal parts for both Relative Humidity (RH) and temperature.
8 – Bit data for integral RH value, 8 – Bit data for decimal RH value, 8 – Bit data for integral Temperature value, 8 – Bit data for integral Temperature value and 8 – Bit data for checksum.
In order to check whether the received data is correct or not, we need to perform a small calculation. Add all the integral and decimals values of RH and Temperature and check whether the sum is equal to the checksum value i.e. the last 8 – bit data.
This value is same as checksum and hence the received data is valid. Now to get the RH and Temperature values, just convert the binary data to decimal data.
A simple project is built using Arduino UNO and DHT11 Humidity and Temperature Sensor, where the Humidity and Temperature of the surroundings are displayed on an LCD display.
After making the connections, we need not do anything as the program will take care of everything. Although there is a special library for the DHT11 module called “DHT”, we didn’t use it. If you want to use this library, you need to download this library separately and add it to the existing libraries of Arduino.
The program written is based on the data timing diagrams provided in the datasheet. The program will make the Arduino to automatically read the data from the sensor and display it as Humidity and Temperature on the LCD Display.
Now I have been struggling with this project for like hours now. But at the end I find out I did not have the correct knowledge. So people it is very important to know what you are making. In this case I recommend you to go through the page and not just copy and paste the code.
Now, this project uses a DHT11 temperature and humidity sensor with the three pin but you can also use any other sensor the changes in the code should be as per the model. I have used Arduino UNO for this project.
NOTE-If you see that your sensor is rapidly getting warm(only for 4 pin sensors) then attach a 10K pull up resistor joining VCC and Signal ends of the sensor.
Lastly, the code part where the real understanding begins. So, basically I have used two libraries one for the sensor and the other for the LCD 1602 I2C display. Then let us start:
After that we need to determine the sensor that is being used. Now, I have used the DHT 11 sensor but if you have a different sensor then the code will change as per the sensor model
I wrote the whole code together hope you may not find it too difficult.void setup() {dht.begin();// initialize the sensorlcd.backlight();// turn on lcd backlightlcd.init();// initialize lcd}void loop() {lcd.clear();lcd.setCursor(0,0);// set the cursor on the first row and columnlcd.print("Humidity=");lcd.print((float)dht.readHumidity());//print the humiditylcd.print("%");lcd.setCursor(0,1);//set the cursor on the second row and first columnlcd.print("Temp=");lcd.print((float)dht.readTemperature());//print the temperaturelcd.print("Celsius");delay(2000);lcd.clear();}
Please note that the temperature is automatically in the celsius scale ergo you do not need to change any values unless you want the answer in Farenheit.
I strongly recommend the Arduino Web Editor as you do not need to download any additional libraries since it is pre-included but if you do not use the web editor and use the software instead you may need to make slight changes but the main part remains the same.
PO Box, APO/FPO, Alaska/Hawaii, Albania, Algeria, American Samoa, Andorra, Angola, Argentina, Armenia, Azerbaijan Republic, Bahrain, Benin, Bermuda, Bolivia, Bosnia and Herzegovina, Botswana, Brunei Darussalam, Burkina Faso, Burundi, Cambodia, Cameroon, Cape Verde Islands, Central African Republic, Central America and Caribbean, Chad, Chile, China, Colombia, Comoros, Cook Islands, Côte d"Ivoire (Ivory Coast), Democratic Republic of the Congo, Djibouti, Ecuador, Egypt, Equatorial Guinea, Eritrea, Ethiopia, Falkland Islands (Islas Malvinas), Fiji, France, French Guiana, French Polynesia, Gabon Republic, Gambia, Georgia, Ghana, Gibraltar, Greenland, Guam, Guernsey, Guinea, Guinea-Bissau, Guyana, Hong Kong, Iceland, Iraq, Jersey, Jordan, Kazakhstan, Kenya, Kiribati, Kuwait, Kyrgyzstan, Laos, Lebanon, Lesotho, Liberia, Libya, Liechtenstein, Macau, Madagascar, Malawi, Maldives, Mali, Marshall Islands, Mauritania, Mauritius, Mayotte, Micronesia, Moldova, Monaco, Montenegro, Morocco, Mozambique, Namibia, Nauru, Nepal, New Caledonia, Niger, Nigeria, Niue, Oman, Palau, Papua New Guinea, Paraguay, Peru, Qatar, Republic of the Congo, Reunion, Russian Federation, Rwanda, Saint Helena, Saint Pierre and Miquelon, San Marino, Senegal, Seychelles, Sierra Leone, Solomon Islands, Somalia, Suriname, Svalbard and Jan Mayen, Swaziland, Tajikistan, Tanzania, Togo, Tonga, Tunisia, Turkmenistan, Tuvalu, US Protectorates, Uganda, Ukraine, United Kingdom, Uzbekistan, Vanuatu, Vatican City State, Venezuela, Wallis and Futuna, Western Sahara, Western Samoa, Yemen, Zambia, Zimbabwe
The digital temperature and humidity sensor DHT11 inside contains a chip that does analog to digital conversion and spits out a digital signal with the temperature and humidity, compatible with any MCUs, ideal for those who want some basic data logging stuffs. It’s very popular for electronics hobbyists because it is very cheap but still providing great performance.
In this lesson, we will first go into a little background about humidity, then we will explain how the DHT11 measures humidity. After that, we will show you how to connect the DHT11 to an OSOYOO Basic Board and give you some example code so you can use the DHT11 in your own projects.
The DHT11 measures relative humidity. Relative humidity is the amount of water vapor in air vs. the saturation point of water vapor in air. At the saturation point, water vapor starts to condense and accumulate on surfaces forming dew.
The saturation point changes with air temperature. Cold air can hold less water vapor before it becomes saturated, and hot air can hold more water vapor before it becomes saturated.
The DHT11 detects water vapor by measuring the electrical resistance between two electrodes. The humidity sensing component is a moisture holding substrate with electrodes applied to the surface. When water vapor is absorbed by the substrate, ions are released by the substrate which increases the conductivity between the electrodes. The change in resistance between the two electrodes is proportional to the relative humidity. Higher relative humidity decreases the resistance between the electrodes, while lower relative humidity increases the resistance between the electrodes.
With the plastic housing removed, you can see the electrodes applied to the substrate, an IC mounted on the back of the unit converts the resistance measurement to relative humidity. It also stores the calibration coefficients, and controls the data signal transmission between the DHT11 and the OSOYOO Basic Board :
Before you can use the DHT11 on the OSOYOO Basic Board , you’ll need to install the DHT library. It has all the functions needed to get the humidity and temperature readings from the sensor. It’s easy to install, just download the DHT.zip file and open up the Arduino IDE. Then go to Sketch>Include Library>Add .ZIP Library and select the DHT.zip file.
After above operations are completed, connect the OSOYOO Basic Board to your computer using the USB cable. The green power LED (labelled PWR) should go on. Load upthe following sketch onto your OSOYOO Basic Board .
#include
A few seconds after the upload finishes, open the Serial Monitor, you should now see the humidity and temperature readings displayed at one second intervals.
A nice way to display the humidity and temperature readings is on a 1I2C 1602LCD. To do this, first follow our tutorial on How to Set Up an LCD Display on an Arduino, then follow below operations and complete this project.
Connect the OSOYOO Temp & Humi Module to the port D3 of the Magic I/O shield with 3-pin PNP cables and connect the OSOYOO 1602 I2C LCD Screen to the port I2C of the Magic I/O shield with 4-pin PNP cables as below:
After above operations are completed, connect the OSOYOO Basic Board to your computer using the USB cable. The green power LED (labelled PWR) should go on.Open the Arduino IDE and choose corresponding board type and port type for you project. Then load up the following sketch onto your OSOYOO Basic Board .
#include
In my photograph at the top of the post, you can see it is important to keep the build neat, as there are lots of connections which must be made. Neat work is facilitated is you use short jumper wires, instead of the big male to male wires. You can get a jumper wire set that will keep your work neat HERE. I am not trying to sell you a bunch of junk, but as projects get more complicated, you really need to use the short straight wires, or your build will become a rat’s nest.