3. Cảm biến nhiệt độ & độ ẩm SHT30
1. Mục tiêu
Trong bài này, chúng ta sẽ học cách sử dụng cảm biến SHT30 để đo nhiệt độ và độ ẩm không khí với độ chính xác cao. Đây là thông số quan trọng nhất trong giám sát môi trường đô thị, ảnh hưởng trực tiếp đến sức khỏe và sinh hoạt của người dân.
2. Giới thiệu cảm biến SHT30
Cảm biến SHT30 là gì?
SHT30 là cảm biến nhiệt độ và độ ẩm kỹ thuật số thế hệ mới do hãng Sensirion (Thụy Sĩ) sản xuất. So với các cảm biến DHT11, DHT22 truyền thống, SHT30 có độ chính xác cao hơn và thời gian phản hồi nhanh hơn.
So sánh SHT30 với các cảm biến khác
| Thông số | DHT11 | DHT22 | SHT30 |
|---|---|---|---|
| Đo nhiệt độ | 0-50°C | -40~80°C | -40~125°C |
| Độ chính xác nhiệt độ | ±2°C | ±0.5°C | ±0.3°C |
| Đo độ ẩm | 20-80% | 0-100% | 0-100% |
| Độ chính xác độ ẩm | ±5% | ±2-5% | ±2% |
| Giao tiếp | 1-Wire | 1-Wire | I2C |
| Thời gian phản hồi | 6s | 2s | < 1s |
Ứng dụng trong thành phố thông minh
- Giám sát chất lượng sống: Đo nhiệt độ, độ ẩm tại các khu dân cư.
- Quản lý năng lượng: Khi nhiệt độ cao, hệ thống tự động kích hoạt quạt thông gió hoặc hệ thống làm mát.
- Bảo vệ sức khỏe: Cảnh báo khi nhiệt độ quá cao hoặc chỉ số nhiệt (Heat Index) đạt mức nguy hiểm.
Thông số kỹ thuật
| Thông số | Giá trị |
|---|---|
| Điện áp hoạt động | 2.4V - 5.5V |
| Giao tiếp | I2C |
| Địa chỉ I2C mặc định | 0x44 |
| Dải đo nhiệt độ | -40°C ~ +125°C |
| Độ chính xác nhiệt độ | ±0.3°C |
| Dải đo độ ẩm | 0 ~ 100% RH |
| Độ chính xác độ ẩm | ±2% RH |
| Thời gian phản hồi | < 1 giây |
3. Kết nối
Cảm biến SHT30 sử dụng giao tiếp I2C, kết nối vào cổng I2C trên Yolo UNO:
| SHT30 | Yolo UNO |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SCL | SCL (I2C) |
| SDA | SDA (I2C) |
Cắm cảm biến SHT30 vào cổng I2C1 hoặc I2C2 trên Yolo UNO.
Lưu ý: Tránh đặt cảm biến SHT30 gần nguồn nhiệt (mạch điện, động cơ…) để đảm bảo kết quả đo chính xác.
4. Giới thiệu khối lệnh
Để lập trình SHT30, bạn cần tải thư viện mở rộng từ liên kết sau:
https://github.com/ohstem/extensions_sht30.git
(Xem hướng dẫn thêm thư viện mở rộng tại đây hoặc dán đường link trên vào ô tìm kiếm thư viện mở rộng như hình dưới)
Sau khi tải thư viện, bạn sẽ thấy các khối lệnh mới hỗ trợ đọc nhiệt độ và độ ẩm:
- Khối đọc nhiệt độ (°C)
- Khối đọc độ ẩm (%)
5. Viết chương trình
Chương trình cơ bản: Hiển thị nhiệt độ và độ ẩm
Mô tả chương trình:
- Đọc dữ liệu nhiệt độ và độ ẩm từ cảm biến SHT30 mỗi 2 giây.
- Hiển thị giá trị lên màn hình LCD.
Bảng phân loại mức độ thoải mái
| Nhiệt độ | Độ ẩm | Mức độ |
|---|---|---|
| 20-25°C | 40-60% | 😊 Rất thoải mái |
| 25-30°C | 40-70% | 🙂 Thoải mái |
| 30-35°C | > 60% | 😓 Nóng, oi bức |
| > 35°C | > 70% | 🥵 Rất nóng, nguy hiểm |
| < 18°C | < 30% | 🥶 Lạnh, khô |
Chương trình nâng cao: Chỉ số nhiệt (Heat Index)
Chỉ số nhiệt (Heat Index) kết hợp nhiệt độ và độ ẩm để cho biết cảm giác nhiệt thực tế. Ví dụ: khi nhiệt độ 32°C và độ ẩm 70%, cảm giác thực tế có thể lên đến 41°C!
Cách tính đơn giản:
Nếu nhiệt độ ≥ 27°C và độ ẩm ≥ 40%:
Heat Index ≈ Nhiệt độ + (Độ ẩm × 0.1)
Thêm tính năng cảnh báo:
- Heat Index < 32°C → Hiển thị “An toan” (đèn LED xanh)
- Heat Index 32-40°C → Hiển thị “Than trong!” (đèn LED vàng)
- Heat Index > 40°C → Hiển thị “Nguy hiem!” (đèn LED đỏ)
6. Kiến thức mở rộng
Điểm sương (Dew Point)
Điểm sương là nhiệt độ mà tại đó hơi nước trong không khí bắt đầu ngưng tụ thành sương. Công thức ước lượng:
Điểm sương ≈ Nhiệt độ - ((100 - Độ ẩm) / 5)
| Điểm sương | Cảm giác |
|---|---|
| < 10°C | Khô ráo, dễ chịu |
| 10-15°C | Thoải mái |
| 16-18°C | Hơi ẩm |
| 19-21°C | Ẩm, khó chịu |
| > 21°C | Rất ẩm, ngột ngạt |
Thử thách: Em hãy đặt cảm biến SHT30 ở các vị trí khác nhau (trong nhà, ngoài trời, gần cửa sổ) và so sánh nhiệt độ, độ ẩm. Ghi nhận kết quả trong 1 ngày và vẽ biểu đồ thay đổi!
