Arduino Hệ thống làm mát bằng cảm biến nhiệt DS18B20
Trong hướng dẫn này, chúng ta sẽ điều khiển nhiệt độ bằng một chiếc quạt và cảm biến nhiệt DS18B20. Khi nhiệt độ quá cao, bật quạt làm mát. Khi nhiệt độ xuống mức thấp, tắt quạt làm mát. Nếu bạn muốn sử dụng DHT11 hoặc DHT22 thay cho cảm biến DS18B20, hãy xem Arduino - Hệ thống làm mát bằng cảm biến DHT.
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | DS18B20 Temperature Sensor (WITH Adapter) | ||
| 1 | × | DS18B20 Temperature Sensor (WITHOUT Adapter) | ||
| 1 | × | 4.7 kΩ Resistor | ||
| 1 | × | Relay | ||
| 1 | × | 12V DC Cooling Fan | ||
| 1 | × | (Hoặc) 5V DC Cooling Fan | ||
| 1 | × | 12V Power Adapter | ||
| 1 | × | DC Power Jack | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Quạt làm mát và Cảm biến nhiệt độ DS18B20
Quạt làm mát được sử dụng trong bài hướng dẫn này dùng nguồn 12V. Nếu cấp nguồn cho quạt, quạt sẽ bật và ngược lại. Để điều khiển quạt bằng Arduino, chúng ta cần dùng một rơ-le ở giữa Arduino và quạt.
Nếu bạn chưa biết về cảm biến nhiệt độ và quạt (bố trí chân, cách hoạt động, cách lập trình ...), hãy tìm hiểu chúng trong các bài 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
- Sơ đồ đấu dây kèm bộ chuyển đổi (được khuyến nghị)

This image is created using Fritzing. Click to enlarge image
Chúng tôi đề xuất mua cảm biến DS18B20 đi kèm với một bộ ghép dây để dễ dàng kết nối. Bộ ghép dây có một điện trở tích hợp sẵn, loại bỏ nhu cầu dùng một điện trở riêng trong dây dẫn.
Cách Hệ Thống Hoạt Động
- Arduino đọc nhiệt độ từ cảm biến nhiệt độ
- Nếu nhiệt độ vượt quá một ngưỡng trên, Arduino sẽ bật quạt
- Nếu nhiệt độ thấp hơn ngưỡng dưới, Arduino sẽ tắt quạt
Quá trình ở trên được lặp lại vô hạn trong vòng lặp.
Nếu bạn muốn bật quạt khi nhiệt độ vượt quá một giá trị cụ thể và tắt quạt khi nhiệt độ xuống dưới giá trị đó, bạn chỉ cần đặt ngưỡng trên và ngưỡng dưới bằng nhau.
Mã Arduino cho hệ thống làm mát với cảm biến DS18B20
Trong đoạn mã ở trên, Arduino bật quạt khi nhiệt độ vượt quá 25°C và giữ cho quạt bật cho đến khi nhiệt độ xuống dưới 20°C.
Hướng dẫn từng bước
- Kết nối Arduino với máy tính bằng cáp USB
- Mở Arduino IDE, chọn đúng bo mạch và cổng
- Đi tới biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
- Tìm kiếm “DallasTemperature”, sau đó tìm thư viện DallasTemperature của Miles Burton.
- Nhấn nút Cài đặt để cài đặt thư viện DallasTemperature.

- Bạn sẽ được yêu cầu cài đặt phụ thuộc của thư viện.
- Nhấn vào nút Cài đặt Tất cả để cài đặt thư viện OneWire.

- Sao chép mã ở trên và mở bằng Arduino IDE
- Nhấn nút Tải lên trên Arduino IDE để tải mã lên Arduino
- Làm cho môi trường xung quanh cảm biến nóng hơn hoặc lạnh đi
- Xem trạng thái của quạt
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, còn được biết đến như một 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à khó triển khai. Do đó, bộ điều khiển PID không được ưa chuộng trong điều khiển nhiệt độ.
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.