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.
 
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()
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 mời nhóm một ly cà phê để chúng tôi có thêm động lực làm tài liệu và mã nguồn miễn phí

Chuyển khoản (Việt Nam)
Mã QR chuyển khoản ủng hộ InvenCamp
Quét bằng app ngân hàng, hoặc chạm vào mã để chọn app HOANG BA DUY 2154755042
Thẻ quốc tế / PayPal Buy Me A Coffee Mở trang Buy Me a Coffee
Logo

AI InvenCamp

Trực tuyến 24/7

Xin chào! Tôi là trợ lý tự động của InvenCamp. Tôi có thể tra cứu giúp bạn sản phẩm, bài viết hướng dẫn và chính sách có trên website. Bạn cần tìm gì ạ?

Câu hỏi gợi ý: