ESP32 Cảm Biến Nhiệt Độ
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ị kết quả lên Serial Monitor.
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 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | DS18B20 Temperature Sensor (CÓ Adapter) | ||
| 1 | × | DS18B20 Temperature Sensor (KHÔNG Adapter) | ||
| 1 | × | breadboard (bo mạch thí nghiệm) | ||
| 1 | × | dây jumper (dây nối) | ||
| 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) |
Giới Thiệu Về Cảm Biến Nhiệt Độ One Wire - DS18B20
Sơ Đồ Chân DS18B20 Temperature Sensor
Cảm biến nhiệt độ DS18B20 có ba chân:
- Chân GND: kết nối chân này với GND (0V)
- Chân VCC: kết nối chân này với VCC (5V hoặc 3.3V)
- Chân DATA: là 1-Wire Data Bus. Chân này được kết nối với một chân digital trên ESP32.
Cảm biến DS18B20 có hai dạng:
- Dạng TO-92 package (trông giống như một transistor)
- Dạng probe chống nước. Chúng ta sẽ sử dụng dạng này trong hướng dẫn.

Việc kết nối cảm biến nhiệt độ DS18B20 với Arduino thường cần một điện trở kéo lên (pull-up resistor), có thể gây phiền toái. Tuy nhiên, một số nhà sản xuất đã làm cho quá trình này đơn giản hơn bằng cách cung cấp adapter đấu nối có điện trở kéo lên tích hợp sẵn và screw terminal block để dễ dàng kết nối.
Sơ Đồ Đấu Nối Giữa Cảm Biến Nhiệt Độ DS18B20 và ESP32
- Cách kết nối ESP32 và cảm biến nhiệt độ DS18B20 sử dụng breadboard.

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.
- Cách kết nối ESP32 và cảm biến nhiệt độ DS18B20 sử dụng breadboard và adapter.

This image is created using Fritzing. Click to enlarge image
- Cách kết nối ESP32 và cảm biến nhiệt độ sử dụng screw terminal block breakout board và adapter.

- Sơ đồ đấu nối thực tế với adapter

This image is created using Fritzing. Click to enlarge image
Để dễ dàng kết nối, bạn nên mua cảm biến DS18B20 đi kèm với adapter đấu nối có tích hợp sẵn điện trở, loại bỏ nhu cầu sử dụng thêm điện trở trong quá trình đấu nối.
Code ESP32
Các Bước Thực Hiện
- Nếu đây là lần đầu 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à cổng COM.
- Click vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm "DallasTemperature" trong ô tìm kiếm, sau đó tìm thư viện DallasTemperature của Miles Burton.
- Click nút Install để cài đặt thư viện DallasTemperature.

- Bạn sẽ được hỏi để cài đặt dependency. Click nút Install All để cài đặt thư viện OneWire.

- Sao chép code trên và dán 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
- 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 nó vào nước nóng và nước lạnh.
- Xem kết quả trên Serial Monitor. Nó sẽ hiển thị như dưới đây:
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.