ESP32 - Temperature Sensor - LCD
This tutorial instructs you how to use ESP32 to read the temperature from DS18B20 temperature sensor and display it on LCD I2C 16x2.
Hardware Used In This Tutorial
|1||×||ESP-WROOM-32 Dev Module|
|1||×||Micro USB Cable|
|1||×||Temperature Sensor DS18B20|
|1||×||(Optional) 5V Power Adapter|
|1||×||(Optional) DC Power Jack|
|1||×||(Optional) ESP32 Screw Terminal Adapter|
One of the following breadboard:
|1||×||Full-sized 830-Point Breadboard|
|1||×||Half-sized 400-point Breadboard|
|1||×||Mini-sized 170-point Breadboard|
|1||×||All-sized Breadboard Kit|
Introduction to Temperature Sensor and LCD
We have specific tutorials about temperature sensor and LCD. Each tutorial contains detailed information and step-by-step instructions about hardware pinout, working principle, wiring connection to ESP32, ESP32 code... Learn more about them at the following links:
This image is created using Fritzing. Click to enlarge image
For ease of connection, it's advisable to purchase a DS18B20 sensor that comes with a wiring adapter equipped with a built-in resistor, eliminating the need for an additional resistor in the wiring.
※ NOTE THAT:
The LCD I2C address can be different from each manufacturer. In the code, we used address of 0x27 that is specified by DIYables manufacturer
- If this is the first time you use ESP32, see how to setup environment for ESP32 on Arduino IDE.
- Do the wiring as above image.
- Connect the ESP32 board to your PC via a micro USB cable
- Open Arduino IDE on your PC.
- Select the right ESP32 board (e.g. ESP32 Dev Module) and COM port.
On Arduino IDE, Navigate to Tools Manage Libraries
- Type “OneWire” on the search box, then look for the OneWire library by Paul Stoffregen
- Click Install button to install OneWire library.
- Type “Dallas” on the search box, then look for the DallasTemperature library by Miles Burton.
- Click Install button to install DallasTemperature library.
- Type “LiquidCrystal I2C” on the search box, then look for the LiquidCrystal_I2C library by Frank de Brabander
- Click Install button to install LiquidCrystal_I2C library.
- Copy the above code and paste it to Arduino IDE.
- Compile and upload code to ESP32 board by clicking Upload button on Arduino IDE
- Make the sensor hotter or colder by gripping the DS18B20 temerature sensor on your hand, or embedding it on hot and cold water.
- See the result in LCD
If the LCD displays nothing, see Troubleshooting on LCD I2C
Line-by-line Code Explanation
The above ESP32 code contains line-by-line explanation. Please read the comments in the code!
Making video is a time-consuming work. If the video tutorial is necessary for your learning, please let us know by subscribing to our YouTube channel , If the demand for video is high, we will make the video tutorial.