CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG
3.2 Phần cứng
3.2.1 Kết nối cảm biến DHT11 với mạch Arduino
DHT11 Arduino Uno R3
GND GND
Vcc 5V
DATA D8
Cảm biến DHT11 đã được tích hợp sẵn trong một mạch duy nhất, nên chỉ việc nối dây nguồn (Vcc, GND) và dây tín hiệu (Signal) vào mạch Arduino là được. Nên lưu ý điện áp hoạt động của cảm biến này ở ngưỡng 3-5.5VDC nên phân cực sai hay cấp nguồn cao hay thấp hơn ngưỡng hoạt động của cảm biến sẽ làm cho cảm biến hỏng hoặc không hoạt động do nguồn cấp khơng chính xác.
Tín hiệu DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức cao, nên trong mạch sử dụng DHT11, dây DATA phải được mắc với một trở kéo bên ngồi (thơng thường giá trị là 4.7kΩ).
Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần nguyên của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum.
Ví dụ: ta nhận được 40 bit dữ liệu như sau:
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101 Tính tốn:
8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101 Độ ẩm: 0011 0101 = 35H = 53%
Nhiệt độ: 0001 1000 = 18H = 24°C
Lưu ý rằng Cảm biến DHT11 sẽ làm “treo” chương trình trong quá trình nó đọc nhiệt độ, độ ẩm
Chỉ sử dụng cảm biến trong môi trường độ ẩm thuần là hơi nước, các mơi trường đặc biệt ủ kín như ủ tỏi đen, ủ yếm khí,… sẽ sinh ra nấm và vi khuẩn bán lên bề mặt cảm biến làm hư hỏng cảm biến