Đọc dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT22 với Raspberry Pi

Giới thiệu cảm biến DHT22 của Waveshare

DHT22 của Waveshare là cảm biến nhiệt độ và độ ẩm với các tính năng rất gần với độ chính xác cao. Điều đó cho phép bạn không phải phụ thuộc vào cảm biến nhiệt độ và cảm biến độ ẩm riêng biệt mà có thể tích hợp mọi thứ trong cùng một thiết bị. Cảm biến này chứa một con chip thực hiện chuyển đổi tương tự sang kỹ thuật số và phát ra tín hiệu kỹ thuật số với nhiệt độ và độ ẩm. Điều này làm cho nó rất dễ sử dụng với bất kỳ bộ vi điều khiển nào.

Cảm biến nhiệt độ và độ ẩm DHT22 với 3 chân kết nối VCC, DOUT (dữ liệu đầu ra, được kết nối với chân SDA của AM2302) và GND. Nó có thể được sử dụng để phát hiện nhiệt độ và độ ẩm môi trường xung quanh, thông qua giao diện dây đơn tiêu chuẩn.

Bài viết này, chúng tôi sẽ hướng dẫn các bạn cách kết nối phần cứng và lập trình để đọc dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT22 với Raspberry Pi.

Các sản phẩm sử dụng trong bài viết

Sơ đồ kết nối cảm biến DHT22 với mạch Raspberry Pi 3/4

Đầu tiên, bạn cần kết nối cảm biến DHT22 với Raspberry Pi 3 hoặc 4. Ngoài ra, cảm biến này cũng có thể sử dụng với nhiều thiết bị khác như Raspberry Pi Pico, Arduino, …. Bạn có thể tham khảo thêm tài liệu kỹ thuật về DHT22.

Trong ví dụ này, chúng tôi hướng dẫn bạn kết nối với Raspberry Pi 4. Bạn cần kết nối chân VCC với chân 5V trên Raspberry Pi 4, chân GND với chân GND trên Raspberry Pi 4, và chân DOUT với chân GPIO có thể được cấu hình trên Raspberry Pi 4, cụ thể chúng tôi sử dụng chân số 7 (GPIO 4).

Sơ đồ kết nối cảm biến DHT22 với Raspberry Pi

Lưu ý: Với cảm biến DHT22 của Waveshare, bạn không cần thêm điện trở như một số loại cảm biến khác.

Cài đặt thư viện Adafruit_DHT

Bạn cần cài đặt thư viện Adafruit_DHT trên Raspberry Pi để đọc dữ liệu từ cảm biến DHT22. Bạn có thể cài đặt thư viện này bằng cách mở terminal trên Raspberry Pi 4 và chạy các lệnh sau:

sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install Adafruit_DHT

Viết mã đọc dữ liệu nhiệt độ và độ ẩm từ cảm biến DHT22 với Raspberry Pi

Bạn có thể sử dụng ngôn ngữ lập trình Python để viết mã đọc dữ liệu từ cảm biến DHT22 trên Raspberry Pi 4. Bạn có thể sử dụng ví dụ mã sau đây để đọc nhiệt độ và độ ẩm từ cảm biến:

import Adafruit_DHT

sensor = Adafruit_DHT.DHT22
pin = 4

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

if humidity is not None and temperature is not None:
    print('Nhiệt độ hiện tại là = {0:0.1f}*C và Độ ẩm hiện tại là = {1:0.1f}%'.format(temperature, humidity))
else:
    print('Không thể lấy được dữ liệu, vui lòng kiểm tra lại!')

Trong ví dụ mã này, biến sensor được thiết lập để sử dụng cảm biến DHT22, và biến pin được thiết lập để sử dụng chân GPIO số 4 trên Raspberry Pi 4. Hàm Adafruit_DHT.read_retry(sensor, pin) được sử dụng để đọc dữ liệu từ cảm biến, và kết quả được lưu trữ trong các biến humidity temperature. Nếu đọc dữ liệu thành công, mã sẽ in ra nhiệt độ và độ ẩm đọc được từ cảm biến như kết quả dưới đây.

Cảm biến DHT22 hiển thị tốt kết quả nhiệt độ và độ ẩm môi trường

Hy vọng những thông tin này sẽ giúp bạn kết nối cảm biến DHT22 với Raspberry Pi 4.

Chúc các bạn thành công!

Raspberry Pi Việt Nam

  • Địa chỉ: Tầng 2, số 23, ngách 8, ngõ 30 Nguyễn Thị Định, Trung Hòa, Cầu Giấy, Hà Nội.
  • Email: info@raspberrypi.vn – Hotline: 092.707.8688
  • Hỗ trợ kỹ thuật: 09.3757.6116
  • Fanpage: https://rpi.vn/fb
  • Group: https://rpi.vn/groupfb