خواندن دما و رطوبت با پایتون

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 25, 2020

با Raspberry Pi و بعضی از سنسورها، بدون نیاز به اندازه گیری بسیار آسان است. علاوه بر این، رطوبت در موقعیت های خاص یا پروژه ها (مانند ایستگاه آب و هوایی) می تواند روشن باشد. سنسورهایی مانند DHT11 و DHT22 نه تنها برای چند یورو در دسترس هستند، بلکه می توانند دما و رطوبت را اندازه گیری کنند. شما می توانید تفاوت بین DHT11 و DHT22 را در اینجا ببینید. در نتیجه، DHT11 (آبی) ارزان تر است، اما DHT22 (سفید) دقیق تر و طولانی تر است. برای برنامه های کاربردی در مناطق "شدید" (0-20٪ یا رطوبت 80-100٪) DHT22 باید استفاده شود، زیرا در مقابل DHT11 از این مناطق پشتیبانی می کند. برای مثال، سنسور DHT22 در یخچال من برای اندازه گیری و ورود به درجه حرارت و رطوبت. به طور کلی، مدل 11er نیز باید کافی باشد.

در قسمت های قبلی با موردی بر نخوردید که نیاز به کتابخانه ای برای کنترل تجهیزات داشته باشد، برای همین منظور در این قسمت یاد میگیرید که چطور کتابخانه ای را نصب و ماژول مربوط به آن را کنترل کنید که برای مثال قرار است داده های سنسور DHT11 را با استفاده از کتابخانه adafruit و Raspberry pi با استفاده از پایتون بخوانید و در پروژه های مختلف خود استفاده کنید.

نصب قدم به قدم کتابخانه adafruit

برای شروع لیست بسته های خود را به روز کنید و چند کتابخانه پایتون را نصب کنید:

sudo apt-get update
sudo apt-get install build-essential python-dev

سپس کتابخانه Adafruit را از مخزن خود کلون کنید:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

سپس کتابخانه را برای پایتون 2 و پایتون 3 نصب کنید:

sudo python setup.py install
sudo python3 setup.py install

امیدوارم در این مرحله کتابخانه نصب شده و آماده استفاده در یک اسکریپت پایتون باشد. اما حال که کتابخانه را نصب کردید می توانید شماتیک اتصالات را طبق تصویر زیر برقرار کنید و سپس کد زیر را برای تست بورد خود به اجرا در آورید.

قطعه کد:

 

#importing libraries
import Adafruit_DHT
 
# Set sensor type : Options are DHT11,DHT22 or AM2302
sensor=Adafruit_DHT.DHT11
 
# Set GPIO sensor is connected to
gpio=14
 
# Use read_retry method. This will retry up to 15 times to
# get a sensor reading (waiting 2 seconds between each retry).
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
 
# Reading the DHT11 is very sensitive to timings and occasionally
# the Pi might fail to get a valid reading. So check if readings are valid.
if humidity is not None and temperature is not None:
  print('Temp={0:0.1f}*C  Humidity={1:0.1f}%'.format(temperature, humidity))
else:
  print('Failed to get reading. Try again!')

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
0دیدگاه