ESP32 Hệ Thống Sưởi Ấm
Trong hướng dẫn này, chúng ta sẽ học cách tạo hệ thống sưởi ấm điều khiển nhiệt độ phòng bằng ESP32, cảm biến nhiệt độ DS18B20 và linh kiện sưởi ấm. Nguyên lý hoạt động rất đơn giản: khi phòng quá lạnh, chúng ta sẽ bật linh kiện sưởi ấm, và khi ấm lên thì tắt đi. Bạn có thể điều chỉnh code để hoạt động với các cảm biến nhiệt độ khác như DHT11, DHT22 hoặc LM35, giúp bạn có sự linh hoạt để chọn cảm biến phù hợp với sở thích của mình.
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 | × | Điện trở 4.7 kΩ | ||
| 1 | × | Relay | ||
| 1 | × | Linh Kiện Sưởi Ấm | ||
| 1 | × | Adapter Nguồn 12V | ||
| 1 | × | (Tùy chọn) DC Power Jack | ||
| 1 | × | breadboard | ||
| 1 | × | Dây Cắm Jumper | ||
| 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ề Linh Kiện Sưởi Ấm và Cảm Biến Nhiệt Độ DS18B20
Linh kiện sưởi ấm chúng ta sử dụng trong hướng dẫn này hoạt động với nguồn điện 12 volt. Khi được cấp điện, linh kiện sưởi ấm sẽ tạo ra nhiệt. Để cho phép ESP32 điều khiển linh kiện sưởi ấm, chúng ta cần sử dụng relay. Relay này đóng vai trò như công tắc cho phép ESP32 bật hoặc tắt linh kiện sưởi ấm khi cần thiết.
Nếu bạn chưa biết về cảm biến nhiệt độ và linh kiện sưởi ấm (pinout, cách hoạt động, cách lập trình...), hãy tìm hiểu trong các hướng dẫn sau:
Sơ Đồ Đấu Dây
- Sơ đồ đấu dây với 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.
- Sơ đồ đấu dây với adapter (khuyến nghị)

This image is created using Fritzing. Click to enlarge image
Cách Hệ Thống Hoạt Động
- ESP32 đọc nhiệt độ từ cảm biến nhiệt độ
- Nếu nhiệt độ giảm xuống dưới ngưỡng thấp, ESP32 bật linh kiện sưởi ấm
- Nếu nhiệt độ tăng lên trên ngưỡng cao, ESP32 tắt linh kiện sưởi ấm
Quá trình trên được lặp lại vô hạn trong vòng lặp.
Code ESP32 cho Hệ Thống Sưởi Ấm với cảm biến DS18B20
Trong code trên, ESP32 bật linh kiện sưởi ấm khi nhiệt độ giảm xuống dưới 15°C, và giữ linh kiện sưởi ấm bật cho đến khi nhiệt độ trên 20°C
Các Bước Nhanh
- 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 dây theo hình ảnh trên.
- Kết nối bo mạch ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng bo mạch ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Nhấn vào biểu tượng Libraries trên thanh bên trái của Arduino IDE.
- Tìm kiếm "DallasTemperature" trong hộp tìm kiếm, sau đó tìm thư viện DallasTemperature của Miles Burton.
- Nhấn nút Install để cài đặt thư viện DallasTemperature.

- Bạn sẽ được yêu cầu cài đặt dependency. Nhấn nút Install All để cài đặt thư viện OneWire.

- Sao chép code trên và mở bằng Arduino IDE
- Nhấn nút Upload trên Arduino IDE để tải code lên ESP32
- Làm môi trường xung quanh cảm biến nóng hơn hoặc lạnh hơn
- Kiểm tra nhiệt độ của linh kiện sưởi ấm và phòng của bạn
Kiến Thức Nâng Cao
Phương pháp điều khiển trên là bộ điều khiển bật-tắt (on-off controller), còn được gọi là bộ điều khiển tín hiệu hoặc "bang-bang". Phương pháp này rất đơn giản để triển khai.
Có một phương pháp thay thế được gọi là bộ điều khiển PID. Với bộ điều khiển PID, nhiệt độ mong muốn ổn định hơn nhưng rất khó hiểu và triển khai. Do đó, bộ điều khiển PID không phổ biến trong việc điều khiển nhiệt độ.