ESP32 Cảm Biến Nhiệt Độ LCD

Hướng dẫn này sẽ chỉ bạn cách sử dụng ESP32 để đọc nhiệt độ từ cảm biến nhiệt độ DS18B20 và hiển thị trên LCD I2C 16x2.

Linh Kiện Cần Thiết

1×mô-đun phát triển ESP-WROOM-32
1×Alternatively, ESP32 Uno-form board
1×Alternatively, ESP32 S3 Uno-form board
1×Cáp USB Type-C
1×LCD I2C
1×Cảm Biến Nhiệt Độ DS18B20 (CÓ Adapter)
1×Cảm Biến Nhiệt Độ DS18B20 (KHÔNG Adapter)
1×breadboard
1×Dây Jumper
1×(Tùy chọn) DC Power Jack
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP32
1×(Khuyến nghị) Breakout Expansion Board for ESP32
1×(Khuyến nghị) Power Splitter for ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Cảm Biến Nhiệt Độ và LCD

Chúng tôi có những hướng dẫn cụ thể về cảm biến nhiệt độ và LCD. Mỗi hướng dẫn chứa thông tin chi tiết và hướng dẫn từng bước về pinout phần cứng, nguyên lý hoạt động, kết nối dây với ESP32, code ESP32... Tìm hiểu thêm tại các liên kết sau:

Sơ Đồ Đấu Nối

  • Cách kết nối ESP32 với cảm biến nhiệt độ và LCD sử dụng breadboard
ESP32 cảm biến nhiệt độ lcd sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.

how to connect ESP32 with cảm biến nhiệt độ and lcd

This image is created using Fritzing. Click to enlarge image

Code ESP32

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit void setup() { DS18B20.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in Celsius tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // display position lcd.print(tempC); // display the temperature in Celsius lcd.print((char)223); // display ° character lcd.print("C"); lcd.setCursor(0, 1); // display position lcd.print(tempF); // display the temperature in Fahrenheit lcd.print((char)223); // display ° character lcd.print("F"); delay(500); }

※ Lưu ý:

Địa chỉ LCD I2C có thể khác nhau tùy từng nhà sản xuất. Trong code, chúng tôi sử dụng địa chỉ 0x27 được chỉ định bởi nhà sản xuất DIYables

Các Bước Thực Hiện

  • Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
  • Thực hiện đấu nối theo sơ đồ trên.
  • Kết nối board ESP32 với PC của bạn qua cáp micro USB
  • Mở Arduino IDE trên PC.
  • Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và COM port.
  • Click vào biểu tượng Libraries trên thanh bên trái của Arduino IDE.
  • Tìm kiếm "DallasTemperature" trong ô search, sau đó tìm thư viện DallasTemperature của Miles Burton.
  • Click nút Install để cài đặt thư viện DallasTemperature.
ESP32 dallas temperature thư viện
  • Bạn sẽ được yêu cầu cài đặt dependency. Click nút Install All để cài đặt thư viện OneWire.
ESP32 onewire thư viện
  • "LiquidCrystal I2C" trong ô search, sau đó tìm thư viện LiquidCrystal_I2C của Frank de Brabander
  • Click nút Install để cài đặt thư viện LiquidCrystal_I2C.
ESP32 liquidcrystal i2c thư viện
  • Copy code trên và paste vào Arduino IDE.
  • Biên dịch và upload code lên board ESP32 bằng cách click nút Upload trên Arduino IDE
tải mã lên Arduino IDE
  • Làm cho cảm biến nóng hơn hoặc lạnh hơn bằng cách nắm cảm biến nhiệt độ DS18B20 trong tay, hoặc nhúng vào nước nóng và nước lạnh.
  • Xem kết quả trên LCD

Nếu LCD không hiển thị gì, hãy xem Khắc Phục Sự Cố LCD I2C

Giải Thích Code Từng Dòng

Code ESP32 trên có chứa giải thích từng dòng. Hãy đọc các comment trong code!

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận