Мазмұны:
- 1 -қадам: Қажетті жабдық:
- 2 -қадам: Жабдықты қосу:
- 3 -қадам: Ылғалдылық пен температураны өлшеу коды:
- 4 -қадам: Өтініштер:
Бейне: HTS221 және Raspberry Pi көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
HTS221 - салыстырмалы ылғалдылық пен температураның ультра жинақы сыйымдылықты сандық сенсоры. Ол сандық сериялық интерфейстер арқылы өлшеу ақпаратын беру үшін сенсорлық элементті және аралас сигналдық арнайы интегралды схеманы (ASIC) қамтиды. Бұл көптеген мүмкіндіктермен біріктірілген, бұл ылғалдылық пен температураны өлшеуге арналған ең қолайлы сенсорлардың бірі.
Бұл оқулықта HTS221 сенсорлық модулінің таңқурай пи -мен байланысы көрсетілген және оны питон тілінде бағдарламалау да суреттелген. Ылғалдылық пен температураның мәндерін оқу үшін I2C адаптері бар таңқурай pi қолдандық, бұл I2C адаптері сенсорлық модульге қосылуды жеңіл әрі сенімді етеді.
1 -қадам: Қажетті жабдық:
Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:
1. HTS221
2. Raspberry Pi
3. I2C кабелі
4. Таңқурайға арналған I2C қалқаны
5. Ethernet кабелі
2 -қадам: Жабдықты қосу:
Аппаратты қосу бөлімі негізінен сенсор мен таңқурай пи арасындағы қажетті сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:
HTS221 I2C арқылы жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.
Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз.
Сізге тек төрт сым қажет! Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.
Бұл байланыстар жоғарыдағы суреттерде көрсетілген.
3 -қадам: Ылғалдылық пен температураны өлшеу коды:
Таңқурай пиін қолданудың артықшылығы - бұл сенсорды интерфейске қосу үшін тақтаны бағдарламалайтын тілдің икемділігін қамтамасыз етеді. Бұл тақтаның артықшылығын пайдаланып, біз мұнда оның питонда бағдарламалануын көрсетеміз. HTS221 үшін питон кодын біздің барлығын бақылау қауымдастығы github қауымдастығынан жүктеуге болады.
Пайдаланушыларға ыңғайлы болу үшін біз кодты осында түсіндіреміз:
Кодтаудың бірінші қадамы ретінде сізге python жағдайында smbus кітапханасын жүктеу қажет, себебі бұл кітапхана кодта қолданылатын функцияларды қолдайды. Сонымен, кітапхананы жүктеу үшін келесі сілтемеге кіруге болады:
pypi.python.org/pypi/smbus-cffi/0.5.1
Бұл сенсордың жұмыс питон кодын мына жерден көшіруге болады:
smbus импорттау
импорт уақыты
# I2C автобусын алыңыз
автобус = smbus. SMBus (1)
# HTS221 мекенжайы, 0x5F (95)
# Орташа конфигурация регистрін таңдаңыз, 0x10 (16)
№ 0x1B (27) Температураның орташа үлгілері = 256, Ылғалдылықтың орташа үлгілері = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# HTS221 мекенжайы, 0x5F (95)
# Басқару регистрін таңдау1, 0х20 (32)
# 0x85 (133) Қуат қосу, үздіксіз жаңарту, деректерді шығару жылдамдығы = 1 Гц
bus.write_byte_data (0x5F, 0x20, 0x85)
уақыт.ұйқы (0.5)
# HTS221 мекенжайы, 0x5F (95)
# Құрылғының тұрақты емес жадынан калибрлеу мәндерін оқыңыз
# Ылғалдылықты калибрлеу мәндері
# Деректерді 0x30 (48), 1 байттан кері оқыңыз
val = bus.read_byte_data (0x5F, 0x30)
H0 = вал / 2
# Деректерді 0x31 (49), 1 байттан кері оқыңыз
val = bus.read_byte_data (0x5F, 0x31)
H1 = вал /2
# Деректерді 0x36 (54), 2 байттан кері оқыңыз
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Деректерді 0x3A (58), 2 байттан кері оқыңыз
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Температураны калибрлеу мәндері
# Деректерді 0x32 (50), 1 байттан кері оқыңыз
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Деректерді 0x32 (51), 1 байттан кері оқыңыз
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 және 0xFF)
# Деректерді 0x35 (53), 1 байттан кері оқыңыз
raw = bus.read_byte_data (0x5F, 0x35)
шикі = (шикі және 0x0F)
# Температураны калибрлеу мәндерін 10 битке түрлендіріңіз
T0 = ((шикі & 0x03) * 256) + Т0
T1 = ((шикі & 0x0C) * 64) + Т1
# Деректерді 0x3C (60), 2 байттан кері оқыңыз
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Деректерді 0x3E (62), 2 байттан кері оқыңыз
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Деректерді 0x28 (40) бастап 0x80 (128) командалық регистрімен, 4 байтпен оқыңыз
# ылғалдылық msb, ылғалдылық lsb, temp msb, temp lsb
data = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Деректерді түрлендіру
ылғалдылық = (деректер [1] * 256) + деректер [0]
ылғалдылық = ((1.0 * H1) - (1.0 * H0)) * (1.0 * ылғалдылық - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)
temp = (деректер [3] * 256) + деректер [2]
егер температура> 32767:
температура -= 65536
cTemp = ((T1 - T0) / 8,0) * (темп - T2) / (T3 - T2) + (T0 / 8,0)
fTemp = (cTemp * 1.8) + 32
# Деректерді экранға шығару
басып шығару «Салыстырмалы ылғалдылық: %.2f %%» %ылғалдылық
басып шығару «Цельсий бойынша температура: %.2f C» %cTemp
басып шығару «Фаренгейт температурасы: %.2f F» %fTemp
Төменде келтірілген код бөлігіне питон кодтарын дұрыс орындау үшін қажет кітапханалар кіреді.
smbus импорттау
импорт уақыты
Кодты пәрмен жолында төмендегі пәрменді теру арқылы орындауға болады.
$> python HTS221.py
Датчиктің шығысы пайдаланушының анықтамасы үшін жоғарыдағы суретте де көрсетілген.
4 -қадам: Өтініштер:
HTS221 ауаны ылғалдандырғыштар мен тоңазытқыштар сияқты әр түрлі тұтыну өнімдерінде қолданыла алады. Бұл сенсор ақылды үйді автоматтандыру, өнеркәсіптік автоматтандыру, тыныс алу құралдары, активтер мен тауарларды бақылау сияқты кең ауқымда қолданылады.
Ұсынылған:
HIH6130 және Arduino Nano көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HIH6130 мен Arduino Nano көмегімен ылғалдылық пен температураны өлшеу: HIH6130 - цифрлық шығысы бар ылғалдылық пен температура сенсоры. Бұл датчиктер ± 4% RH дәлдік деңгейін қамтамасыз етеді. Өнеркәсіптің жетекші ұзақ мерзімді тұрақтылығымен, шынайы температуралық компенсацияланған сандық I2C, өнеркәсіптің сенімділігі, энергия тиімділігі
HTS221 және Arduino Nano көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HTS221 және Arduino Nano көмегімен ылғалдылық пен температураны өлшеу: HTS221 - салыстырмалы ылғалдылық пен температураға арналған өте жинақы сыйымдылықты сандық сенсор. Ол сандық серия арқылы өлшеу ақпаратын беру үшін сенсорлық элементті және аралас сигналға арналған арнайы интегралды схеманы (ASIC) қамтиды
HIH6130 мен Raspberry Pi көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HIH6130 мен Raspberry Pi көмегімен ылғалдылық пен температураны өлшеу: HIH6130 - бұл цифрлық шығысы бар ылғалдылық пен температура сенсоры. Бұл датчиктер ± 4% RH дәлдік деңгейін қамтамасыз етеді. Өнеркәсіптің жетекші ұзақ мерзімді тұрақтылығымен, шынайы температуралық компенсацияланған сандық I2C, өнеркәсіптің сенімділігі, энергия тиімділігі
HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: HIH6130 - бұл цифрлық шығысы бар ылғалдылық пен температура сенсоры. Бұл датчиктер ± 4% RH дәлдік деңгейін қамтамасыз етеді. Өнеркәсіптің жетекші ұзақ мерзімді тұрақтылығымен, шынайы температуралық компенсацияланған сандық I2C, өнеркәсіптің сенімділігі, энергия тиімділігі
HTS221 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HTS221 мен бөлшектер фотонының көмегімен ылғалдылық пен температураны өлшеу: HTS221 - салыстырмалы ылғалдылық пен температураның ультра жинақы сыйымдылықты сандық сенсоры. Ол сандық серия арқылы өлшеу ақпаратын беру үшін сенсорлық элементті және аралас сигналға арналған арнайы интегралды схеманы (ASIC) қамтиды