ESP8266 Cảm biến nhiệt độ
Hướng dẫn này cho bạn biết cách sử dụng cảm biến nhiệt độ DS18B20 1-Wire có vỏ chống nước với ESP8266. Cảm biến này có chi phí hợp lý, dễ sử dụng và có vẻ ngoài hấp dẫn.
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 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 (WITH Adapter) | ||
| 1 | × | DS18B20 Temperature Sensor (WITHOUT Adapter) | ||
| 1 | × | 4.7 kΩ Resistor | ||
| 1 | × | breadboard | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về cảm biến nhiệt độ One-Wire - DS18B20
Sơ đồ chân cảm biến nhiệt độ
Cảm biến nhiệt độ DS18B20 có ba chân cần được kết nối theo một cách cụ thể:
- Chân GND: nên được kết nối với đất (0V)
- Chân VCC: nên được kết nối với nguồn điện (5V hoặc 3.3V)
- Chân DATA: là bus dữ liệu 1-Wire và nên được kết nối với một chân số trên bo mạch ESP8266.
Cảm biến thường có hai loại: bao gói TO-92 (giống transistor) và một đầu dò chống nước. Trong bài hướng dẫn này, chúng ta sẽ sử dụng dạng đầu dò chống nước.

Kết nối cảm biến nhiệt DS18B20 với Arduino đòi hỏi một điện trở kéo lên, điều này có thể gây phiền toái. May mắn thay, một số nhà sản xuất đã làm cho việc này dễ dàng hơn bằng cách cung cấp một bộ adapter nối dây có điện trở kéo lên tích hợp sẵn và khối đầu nối có vít, giúp đơn giản hóa quá trình nối dây.
Sơ đồ đấu dây
- Sơ đồ đấu dây bằng breadboard.

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
- Sơ đồ nối dây sử dụng bộ adapter nối dây (được khuyến nghị).

This image is created using Fritzing. Click to enlarge image
Chúng tôi khuyến nghị mua cảm biến DS18B20 cùng với adapter dây đi kèm để có một thiết lập liền mạch. Adapter này có một điện trở tích hợp, loại bỏ nhu cầu dùng một điện trở bổ sung trong dây. Chúng tôi cũng đã thử nghiệm nó và hoạt động tốt.
Cách lập trình cho cảm biến nhiệt độ DS18B20
- Bao gồm thư viện vào dự án của bạn.
- Khai báo một đối tượng có kiểu OneWire, tương ứng với chân được kết nối với chân DATA của cảm biến. Ngoài ra, khai báo một đối tượng có kiểu DallasTemperature.
- Bắt đầu quá trình thiết lập cảm biến:
- Gửi lệnh để lấy nhiệt độ.
- Đọc nhiệt độ ở độ C.
- Tính Fahrenheit từ Celsius:
Mã nguồn ESP8266
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Hãy xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Nối các thành phần như được thể hiện trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, chẳng hạn (ví dụ NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng.
- Kết nối ESP8266 với máy tính bằng cáp USB.
- Mở Arduino IDE, chọn bo mạch và cổng phù hợp.
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm “Dallas”, sau đó tìm thư viện DallasTemperature được tạo bởi 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 phụ thuộc. Nhấn nút Cài đặt Tất cả để cài đặt thư viện OneWire.

- Sao chép mã và mở nó bằng Arduino IDE.
- Nhấn nút Tải lên trong IDE để chuyển mã tới ESP8266.
- Đặt cảm biến vào nước nóng và nước lạnh hoặc cầm nó trong tay.
- Kiểm tra kết quả trên Trình theo dõi nối tiếp.
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.