Lập trình dht22 bằng Arduino IDE (Không dùng thư viện)

Mỗi lần đọc gồm 40 bit:
16 bit độ ẩm (humidity)
16 bit nhiệt độ (temperature)
8 bit checksum (kiểm tra)
Giao tiếp 1 dây (single-wire), do đó cần thao tác mức logic chính xác bằng digitalWrite và digitalRead.
Mỗi bit:
Bắt đầu bằng xung LOW 50µs
Nếu là 0 ➜ HIGH ~26-28µs
Nếu là 1 ➜ HIGH ~70µs
Lưu ý
Đảm bảo có điện trở kéo lên (pull-up) 10kΩ giữa chân dữ liệu và Vcc.
Thời gian đọc cần chính xác micro giây → dùng micros() và delayMicroseconds() thay vì delay().
DHT22 cần ít nhất 2 giây giữa mỗi lần đọc.

Nhanvat

Ủng hộ chúng tôi

Nếu bạn thấy nội dung hữu ích, hãy ủng hộ chúng tôi một ly cà phê nhé

Buy Me A Coffee buymeacoffee.com/invencamp