Phần 2: Kiến trúc hệ thống và sơ đồ đấu nối
Trình bày kiến trúc dữ liệu, bảng chân kết nối và cách bảo vệ chân ADC của ESP32 khi dùng cảm biến analog.
Phần 2: Kiến trúc hệ thống và sơ đồ đấu nối
Hệ thống gồm ba khối chính: cảm biến nước, ESP32 xử lý dữ liệu và khối hiển thị/cảnh báo/cloud.
[Water Sensors]
├── DS18B20 Temperature Sensor
├── TDS Sensor
├── pH Sensor
└── Turbidity Sensor
│
▼
[ESP32]
├── Đọc dữ liệu cảm biến
├── Lọc nhiễu
├── Tính toán giá trị đo
├── Đánh giá trạng thái nước
└── Gửi Serial / MQTT / Dashboard
│
▼
[Output]
├── Serial Monitor
├── LED / Buzzer
├── OLED Display
└── MQTT Dashboard
2.1. Bảng chân kết nối tổng hợp
| Thiết bị | Chân thiết bị | ESP32 | Ghi chú |
|---|---|---|---|
| DS18B20 | DATA | GPIO4 | Cần điện trở kéo lên 4.7kΩ. |
| TDS Sensor | AO | GPIO34 | ADC1, input-only. |
| pH Sensor | AO | GPIO35 | ADC1, input-only. |
| Turbidity Sensor | AO | GPIO32 | Cần chia áp nếu output lớn hơn 3.3V. |
| LED xanh | Anode | GPIO26 | Báo trạng thái NORMAL. |
| LED đỏ | Anode | GPIO27 | Báo WARNING/DANGER. |
| Buzzer | IN | GPIO25 | Bật khi DANGER hoặc SENSOR_ERROR. |
2.2. Kết nối DS18B20
DS18B20 dùng giao tiếp 1-Wire. Chân DATA cần điện trở kéo lên 4.7kΩ về 3.3V.
3.3V ----[4.7kΩ]---- DATA DS18B20
│
GPIO4 --------------┘
GND ---------------- GND DS18B20
2.3. Bảo vệ chân ADC ESP32
ESP32 chỉ nên nhận tín hiệu analog tối đa khoảng 3.3V. Nếu module turbidity hoặc pH xuất tín hiệu cao hơn, cần dùng chia áp.
AO Sensor ---- R1 10kΩ ----+---- GPIO32 ESP32
|
R2 20kΩ
|
GND
Công thức chia áp:
Vout = Vin × R2 / (R1 + R2)
Với R1 = 10kΩ và R2 = 20kΩ, ESP32 nhận khoảng 66.7% điện áp gốc từ cảm biến.
