Mundarija:

HDC1000 va Raspberry Pi yordamida harorat va namlikni o'lchash: 4 qadam
HDC1000 va Raspberry Pi yordamida harorat va namlikni o'lchash: 4 qadam

Video: HDC1000 va Raspberry Pi yordamida harorat va namlikni o'lchash: 4 qadam

Video: HDC1000 va Raspberry Pi yordamida harorat va namlikni o'lchash: 4 qadam
Video: Как использовать LM35 для измерения температуры в градусах Цельсия, Фаренгейта и Кельвина 2024, Noyabr
Anonim
Image
Image

HDC1000 - bu past haroratda o'lchashning aniqligini ta'minlaydigan o'rnatilgan harorat sensori bo'lgan namlik sensori. Qurilma namlikni yangi sig'im sensori asosida o'lchaydi. Namlik va harorat sensori zavod sozlamalarida. To'liq -40 ° C dan +125 ° C gacha bo'lgan harorat oralig'ida ishlaydi.

Ushbu qo'llanmada HDC1000 sensori modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uni python tilida dasturlash ham tasvirlangan. Harorat va namlik 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:

Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi
Uskunalar talab qilinadi

Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:

1. HDC1000

2. Raspberry Pi

3. I2C kabeli

4. Malina pi uchun I2C qalqoni

5. Ethernet kabeli

2 -qadam: Uskuna ulanishi:

Uskuna ulanishi
Uskuna ulanishi
Uskuna ulanishi
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:

HDC1000 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: Harorat va namlikni o'lchash kodi:

Harorat va namlikni o'lchash kodi
Harorat va namlikni 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 pitonda dasturlashini namoyish qilamiz. HDC1000 uchun python kodini bizning GitHub hamjamiyatidan yuklab olish mumkin, bu Dcube do'koni.

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)

# HDC1000 manzili, 0x40 (64)

# Konfiguratsiya registrini tanlang, 0x02 (02)

# 0x30 (48) Harorat, namlik yoqilgan, rezolyutsiya = 14 bit, isitgich yoqilgan

bus.write_byte_data (0x40, 0x02, 0x30)

# HDC1000 manzili, 0x40 (64)

# Haroratni o'lchash buyrug'ini yuborish, 0x00 (00)

avtobus.write_byte (0x40, 0x00)

vaqt uyqu (0,5)

# HDC1000 manzili, 0x40 (64)

# Ma'lumotni qayta o'qing, 2 bayt

# temp MSB, temp LSB

ma'lumotlar0 = bus.read_byte (0x40)

ma'lumotlar1 = bus.read_byte (0x40)

# Ma'lumotni aylantirish

temp = (ma'lumotlar0 * 256) + ma'lumotlar1

cTemp = (temp / 65536.0) * 165.0 - 40

fTemp = cTemp * 1.8 + 32

# HDC1000 manzili, 0x40 (64)

# Namlikni o'lchash buyrug'ini yuborish, 0x01 (01)

avtobus.write_byte (0x40, 0x01)

vaqt uyqu (0,5)

# HDC1000 manzili, 0x40 (64)

# Ma'lumotni qayta o'qing, 2 bayt

# namlik MSB, namlik LSB

ma'lumotlar0 = bus.read_byte (0x40)

ma'lumotlar1 = bus.read_byte (0x40)

# Ma'lumotni aylantirish

namlik = (ma'lumotlar0 * 256) + ma'lumotlar1

namlik = (namlik / 65536,0) * 100,0

# 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 quyida ko'rsatilgan buyruqni kiritish orqali bajarish mumkin.

$> python HDC1000.py gt; python HDC1000.py

Sensorning chiqishi ham foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.

4 -qadam: Ilovalar:

Ilovalar
Ilovalar

HDC1000 isitish, shamollatish va konditsioner (HVAC), aqlli termostatlar va xona monitorlarida ishlatilishi mumkin. Ushbu sensor, shuningdek, printerlar, qo'l o'lchagichlar, tibbiy asboblar, yuklarni tashish, shuningdek, avtomobil oynalarini tozalashda o'z qo'llanilishini topadi.

Tavsiya: