Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Namlik va haroratni o'lchash kodi:
- 4 -qadam: Ilovalar:
Video: HTS221 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
HTS221 - nisbiy namlik va harorat uchun ultra ixcham sig'imli raqamli sensor. Raqamli ketma -ket interfeyslar orqali o'lchash ma'lumotlarini etkazib berish uchun sezuvchi element va aralash signalli maxsus o'rnatilgan elektron (ASIC) o'z ichiga oladi. Ko'p funktsiyalar bilan birlashtirilgan, bu namlik va haroratni o'lchash uchun eng mos sensorlardan biridir.
Ushbu qo'llanmada HTS221 sensori modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uni python tilida dasturlash ham tasvirlangan. Namlik va harorat ko'rsatkichlarini o'qish uchun biz I2C adapterli malina pi dan foydalanganmiz, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. HTS221
2. Raspberry Pi
3. I2C kabeli
4. Malina pi uchun I2C qalqoni
5. Ethernet kabeli
2 -qadam: Uskuna ulanishi:
Uskuna ulanish bo'limi, asosan, sensori va malina pi o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:
HTS221 I2C orqali ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.
Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz.
Sizga faqat to'rtta sim kerak! Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.
Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.
3 -qadam: Namlik va haroratni o'lchash kodi:
Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu taxtaning afzalliklaridan foydalanib, biz bu erda uning pitonda dasturlashini namoyish qilamiz. HTS221 uchun piton kodini github hamjamiyatidan yuklab olish mumkin, bu hamma narsani nazorat qilish hamjamiyati.
Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:
Kodlashning birinchi bosqichi sifatida siz python holatida smbus kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siz bu sensor uchun ishlaydigan python kodini bu erdan nusxa ko'chirishingiz mumkin:
smbus import qilish
import vaqti
# I2C avtobusini oling
avtobus = smbus. SMBus (1)
# HTS221 manzili, 0x5F (95)
# O'rtacha konfiguratsiya registrini tanlang, 0x10 (16)
# 0x1B (27) Haroratning o'rtacha namunalari = 256, Namlikning o'rtacha namunalari = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 manzili, 0x5F (95)
# Boshqarish registrini tanlang1, 0x20 (32)
# 0x85 (133) Quvvat yoqish, uzluksiz yangilanish, ma'lumotlar chiqarish tezligi = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
vaqt uyqu (0,5)
# HTS221 manzili, 0x5F (95)
# Qurilmaning doimiy xotirasidan kalibrlash qiymatlarini o'qing
# Namlikni kalibrlash qiymatlari
# 0x30 (48), 1 baytdan ma'lumotlarni o'qing
val = avtobus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# 0x31 (49), 1 baytdan ma'lumotlarni o'qing
val = avtobus.read_byte_data (0x5F, 0x31)
H1 = val /2
# 0x36 (54), 2 baytdan ma'lumotlarni o'qing
val0 = avtobus.read_byte_data (0x5F, 0x36)
val1 = avtobus.read_byte_data (0x5F, 0x37)
H2 = ((val1 va 0xFF) * 256) + (val0 va 0xFF)
# 0x3A (58), 2 baytdan ma'lumotlarni qayta o'qing
val0 = avtobus.read_byte_data (0x5F, 0x3A)
val1 = avtobus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 va 0xFF) * 256) + (val0 va 0xFF)
# Haroratni kalibrlash qiymatlari
# 0x32 (50), 1 baytdan ma'lumotlarni o'qing
T0 = avtobus.read_byte_data (0x5F, 0x32)
T0 = (T0 va 0xFF)
# 0x32 (51), 1 baytdan ma'lumotlarni o'qing
T1 = avtobus.read_byte_data (0x5F, 0x33)
T1 = (T1 va 0xFF)
# 0x35 (53), 1 baytdan ma'lumotlarni o'qing
xom = bus.read_byte_data (0x5F, 0x35)
xom = (xom va 0x0F)
# Haroratni kalibrlash qiymatlarini 10 bitga aylantiring
T0 = ((xom va 0x03) * 256) + T0
T1 = ((xom va 0x0C) * 64) + T1
# 0x3C (60) dan 2 baytli ma'lumotlarni o'qing
val0 = avtobus.read_byte_data (0x5F, 0x3C)
val1 = avtobus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 va 0xFF) * 256) + (val0 va 0xFF)
# 0x3E (62) dan 2 baytli ma'lumotlarni qayta o'qing
val0 = avtobus.read_byte_data (0x5F, 0x3E)
val1 = avtobus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 va 0xFF) * 256) + (val0 va 0xFF)
# Ma'lumotlarni 0x28 (40) dan o'qing, 0x80 (128) buyruq registri, 4 bayt
# namlik msb, namlik lsb, temp msb, temp lsb
ma'lumotlar = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Ma'lumotni aylantirish
namlik = (ma'lumotlar [1] * 256) + ma'lumotlar [0]
namlik = ((1.0 * H1) - (1.0 * H0)) * (1.0 * namlik - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)
temp = (ma'lumotlar [3] * 256) + ma'lumotlar [2]
agar harorat> 32767:
Harorat -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1.8) + 32
# Ma'lumotlarni ekranga chiqarish
chop etish "Nisbiy namlik: %.2f %%" %namlik
chop etish "Tselsiy bo'yicha harorat: %.2f C" %cTemp
chop etish "Farengeytdagi harorat: %.2f F" %fTemp
Kodning quyida ko'rsatilgan qismi python kodlarining to'g'ri bajarilishi uchun zarur bo'lgan kutubxonalarni o'z ichiga oladi.
smbus import qilish
import vaqti
Kodni buyruq satriga quyidagi buyruqni kiritish orqali bajarish mumkin.
$> python HTS221.py
Sensorning chiqishi ham foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
HTS221 har xil turdagi havo namlagichlari va muzlatgichlar kabi iste'molchi mahsulotlarida ishlatilishi mumkin. Bu sensor, shuningdek, aqlli uy avtomatizatsiyasi, sanoat avtomatizatsiyasi, nafas olish uskunalari, aktivlar va tovarlarni kuzatishni o'z ichiga oladi.
Tavsiya:
HIH6130 va Arduino Nano yordamida namlik va haroratni o'lchash: 4 qadam
HIH6130 va Arduino Nano yordamida namlik va haroratni o'lchash: HIH6130 - bu raqamli chiqishga ega namlik va harorat sensori. Bu sensorlar ± 4% RH aniqlik darajasini ta'minlaydi. Sanoatning etakchi uzoq muddatli barqarorligi, haqiqiy harorat kompensatsiyalangan raqamli I2C, sanoatning etakchi ishonchliligi, energiya samaradorligi
HTS221 va Arduino Nano yordamida namlik va haroratni o'lchash: 4 qadam
HTS221 va Arduino Nano yordamida namlik va haroratni o'lchash: HTS221 - nisbiy namlik va harorat uchun ultra ixcham sig'imli raqamli sensor. O'lchov ma'lumotlarini raqamli ketma -ketlik bilan ta'minlash uchun sezuvchi element va aralash signalli maxsus integratsiyalashgan elektron (ASIC) ni o'z ichiga oladi
HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: 4 qadam
HIH6130 va Raspberry Pi yordamida namlik va haroratni o'lchash: HIH6130 - bu raqamli chiqishi bo'lgan namlik va harorat sensori. Bu sensorlar ± 4% RH aniqlik darajasini ta'minlaydi. Sanoatning etakchi uzoq muddatli barqarorligi, haqiqiy harorat kompensatsiyalangan raqamli I2C, sanoatning etakchi ishonchliligi, energiya samaradorligi
HIH6130 va zarracha foton yordamida namlik va haroratni o'lchash: 4 qadam
HIH6130 va zarracha foton yordamida namlik va haroratni o'lchash: HIH6130 - bu raqamli chiqishga ega namlik va harorat sensori. Bu sensorlar ± 4% RH aniqlik darajasini ta'minlaydi. Sanoatning etakchi uzoq muddatli barqarorligi, haqiqiy harorat kompensatsiyalangan raqamli I2C, sanoatning etakchi ishonchliligi, energiya samaradorligi
HTS221 va zarracha foton yordamida namlik va haroratni o'lchash: 4 qadam
HTS221 va zarracha foton yordamida namlik va haroratni o'lchash: HTS221 - nisbiy namlik va harorat uchun ultra ixcham sig'imli raqamli sensor. O'lchov ma'lumotlarini raqamli ketma -ketlik bilan ta'minlash uchun sezuvchi element va aralash signalli maxsus integratsiyalashgan elektron (ASIC) ni o'z ichiga oladi