- Преглед сензора ДХТ11:
- Предуслови:
- Инсталирање Адафруит ЛЦД библиотеке на Распберри Пи:
- Инсталирање библиотеке Адафруит ДХТ11 на Распберри Пи:
- Кружни дијаграм:
- Питхон програмирање за ДХТ11 сензор:
- Мерење влажности и температуре помоћу Распберри Пи:
Температура и влага су најчешћи параметри који се прате у било ком окружењу. Постоји мноштво сензора за одабир за мерење температуре и влажности, али најчешће коришћени је ДХТ11 због свог пристојног опсега мерења и тачности. Такође ради са једном пинском комуникацијом и стога је врло лако повезати се са микроконтролерима или микропроцесорима. У овом упутству научићемо како повезати популарни ДХТ11 сензор са Распберри Пи и приказати вредност температуре и влажности на ЛЦД екрану од 16к2. Већ смо га користили за изградњу ИоТ Распберри Пи временске станице.
Преглед сензора ДХТ11:
ДХТ11 сензор може мерити релативну влажност и температуру према следећим спецификацијама
Распон температуре: 0-50 ° Ц Тачност температуре: ± 2 ° Ц Распон влажности: 20-90% РХ Тачност влажности: ± 5%
ДХТ11 сензор је доступан у облику модула или у облику сензора. У овом упутству користимо модуларни облик сензора, једина разлика између оба је та што у модуларном облику сензор има кондензатор за филтрирање и отпор за извлачење причвршћен на излазни пин сензора. Дакле, ако користите само сензор, обавезно додајте ове две компоненте. Такође научите ДХТ11 повезивање са Ардуином.
Како функционише ДХТ11 сензор:
ДХТ11 сензор долази у кућишту плаве или беле боје. Унутар овог кућишта имамо две важне компоненте које нам помажу да осетимо релативну влажност и температуру. Прва компонента је пар електрода; електрични отпор између ове две електроде одређује подлога која задржава влагу. Дакле, измерени отпор је обрнуто пропорционалан релативној влажности околине. Што је већа релативна влажност ваздуха, већа је вредност отпора и обрнуто. Такође имајте на уму да се релативна влажност разликује од стварне влажности. Релативна влажност ваздуха мери садржај воде у ваздуху у односу на температуру у ваздуху.
Друга компонента је површински монтирани НТЦ термистор. Термин НТЦ означава негативни температурни коефицијент, јер ће пораст температуре смањити вредност отпора
Предуслови:
Претпоставља се да је ваш Распберри Пи већ спојен са оперативним системом и да је у могућности да се повеже на Интернет. Ако није, следите Водич за почетак рада са Распберри Пи пре него што наставите.
Такође се претпоставља да свом пиу имате приступ било кроз прозоре терминала или путем друге апликације путем које можете писати и извршавати програме питхон и користити прозор терминала.
Инсталирање Адафруит ЛЦД библиотеке на Распберри Пи:
Вредност температуре и влажности биће приказане на ЛЦД дисплеју 16 * 2. Адафруит нам пружа библиотеку за лако руковање овим ЛЦД-ом у 4-битном режиму, па га допустимо да га додамо у нашу Распберри Пи тако што ћемо отворити прозор терминала Пи и следити кораке у наставку.
Корак 1: Инсталирајте гит на Распберри Пи користећи линију испод. Гит вам омогућава да клонирате све пројектне датотеке на Гитхуб-у и користите их на вашем Распберри пи. Наша библиотека је на Гитхуб-у, тако да морамо инсталирати гит да бисмо је преузели у пи.
апт-гет инсталл гит
Корак 2: Следећи ред води до ГитХуб странице на којој је библиотека само извршава ред за клонирање пројектне датотеке у почетном директоријуму Пи
гит клон гит: //гитхуб.цом/адафруит/Адафруит_Питхон_ЦхарЛЦД
Корак 3: Помоћу наредбе у наставку промените линију директоријума да бисте ушли у пројектну датотеку коју смо управо преузели. Командна линија је дата у наставку
цд Адафруит_Питхон_ЦхарЛЦД
Корак 4: Унутар директоријума налази се датотека под називом сетуп.пи , морамо је инсталирати и инсталирати библиотеку. Користите следећи код за инсталирање библиотеке
судо питхон сетуп.пи инсталација
То је то што је библиотека требала бити успешно инсталирана. Сада слично, наставимо са инсталирањем ДХТ библиотеке која је такође из Адафруит-а.
Инсталирање библиотеке Адафруит ДХТ11 на Распберри Пи:
ДХТ11 сензор ради на принципу једножичног система. Вредност температуре и влажности сензор детектује и затим их преноси преко излазног пина као серијске податке. Затим можемо да читамо ове податке помоћу И / О пина на МЦУ / МПУ. Да бисте разумели како се ове вредности читају, морали бисте да прочитате листу података сензора ДХТ11, али за сада ћемо олакшати ствари користећи библиотеку за разговор са сензором ДХТ11.
Библиотека ДХТ11 коју пружа Адафруит може се користити и за ДХТ11, ДХТ22 и друге једножичне температурне сензоре. Поступак за инсталирање ДХТ11 библиотеке такође је сличан оном који се примењује за инсталирање ЛЦД библиотеке. Једина линија која би се променила је веза до ГитХуб странице на којој је сачувана ДХТ библиотека.
Унесите четири наредбене линије једну по једну на терминал да бисте инсталирали ДХТ библиотеку
гит клон хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_ДХТ.гит
цд Адафруит_Питхон_ДХТ судо апт-гет инсталл буилд-битни питхон-дев судо питхон сетуп.пи инсталација
Након што завршите, обе библиотеке ће бити успешно инсталиране на нашој Распберри Пи. Сада можемо да наставимо са хардверском везом.
Кружни дијаграм:
Комплетна шема повезивања Повезивање ДХ11 са Распберри пи дата је у наставку, направљена је помоћу Фритзинга. Пратите везе и направите коло
И ЛЦД и ДХТ11 сензор раде са напајањем од + 5В, тако да користимо 5В пинове на Распберри Пи за напајање оба. Отпор за повлачење вредности 1к користи се на излазном пину сензора ДХТ11, ако користите модул, овај отпор можете избећи.
Тример пот оф 10к се додаје у Вее пин ЛЦД бисте контролисали ниво контраста ЛЦД. Осим тога, све везе су прилично равне. Али забележите које ГПИО пинове користите за повезивање пинова, јер ће нам бити потребни у нашем програму. Доња табела би требало да вам омогући да откријете ГПИО бројеве пинова.
Користите графикон и успоставите везе према схеми кола. За повезивање сам користио даску за спавање и џамперске жице. Пошто сам користио ДХТ11 модул, спојио сам га директно на Распберри Пи. Мој хардвер је изгледао овако доле
Питхон програмирање за ДХТ11 сензор:
Морамо да напишемо програм за очитавање вредности температуре и влажности са ДХТ11 сензора, а затим исти приказујемо на ЛЦД-у. Пошто смо преузели библиотеке и за ЛЦД и за ДХТ11 сензор, код би требао бити прилично директан. Комплетан програм питон може наћи на крају ове странице, али можете читати даље да схвате како програм ради.
Морамо да увеземо ЛЦД библиотеку и ДХТ11 библиотеку у наш програм да бисмо користили функције повезане с њом. Будући да смо их већ преузели и инсталирали на наш Пи, можемо једноставно да користимо следеће редове за њихов увоз. Такође увозимо библиотеку времена да бисмо користили функцију одлагања.
време увоза # време увоза за стварање кашњења увоз Адафруит_ЦхарЛЦД као ЛЦД # Увоз ЛЦД библиотеке увоз Адафруит_ДХТ # Увоз ДХТ библиотеке за сензор
Даље, морамо да одредимо на које пинове је сензор повезан и која врста сензора температуре се користи. Променљива име_сензора додељена је Адафруит_ДХТ.ДХТ11, јер овде користимо сензор ДХТ11. Излазни пин сензора повезан је на ГПИО 17 Распберри Пи-а и стога додељујемо 17 променљивој сенсор_пин као што је приказано доле.
сенсор_наме = Адафруит_ДХТ.ДХТ11 # користимо ДХТ11 сензор сенсор_пин = 17 # Сензор је повезан на ГПИО17 на Пи
Слично томе, такође морамо да дефинишемо на које ГПИО пинове је повезан ЛЦД. Овде користимо ЛЦД у 4-битном режиму, па ћемо имати четири пина за податке и два контролна пина за повезивање на ГПИО пинове пи. Такође, пин за позадинско осветљење можете повезати са ГПИО пином ако такође желимо да контролишемо позадинско осветљење. Али за сада то не користим, па сам му доделио 0.
лцд_рс = 7 #РС ЛЦД је повезан са ГПИО 7 на ПИ лцд_ен = 8 #ЕН ЛЦД је повезан са ГПИО 8 на ПИ лцд_д4 = 25 # Д4 ЛЦД је повезан са ГПИО 25 на ПИ лцд_д5 = 24 # Д5 ЛЦД је повезан на ГПИО 24 на ПИ лцд_д6 = 23 # Д6 ЛЦД-а повезан је на ГПИО 23 на ПИ лцд_д7 = 18 # Д7 ЛЦД-а повезан је на ГПИО 18 на ПИ лцд_бацклигхт = 0 # ЛЕД није повезан па додељујемо 0
Такође можете повезати ЛЦД у 8-битном режиму са Распберри пи, али тада ће бесплатни пинови бити смањени.
ЛЦД библиотека компаније Адафруит коју смо преузели може се користити за све врсте карактеристичних ЛЦД екрана. Овде у нашем пројекту користимо ЛЦД екран 16 * 2, тако да спомињемо број редова и колона на променљиву као што је приказано доле.
лцд_цолумнс = 16 #за 16 * 2 ЛЦД лцд_ровс = 2 #за 16 * 2 ЛЦД
Сада, када смо прогласили ЛЦД прибадаче и број редова и колона за ЛЦД, можемо покренути ЛЦД приказ помоћу следећег реда који шаље све потребне информације у библиотеку.
лцд = ЛЦД.Адафруит_ЦхарЛЦД (лцд_рс, лцд_ен, лцд_д4, лцд_д5, лцд_д6, лцд_д7, лцд_цолумнс, лцд_ровс, лцд_бацклигхт) # Пошаљите све детаље о пиновима у библиотеку
Да бисмо покренули програм, приказујемо малу уводну поруку помоћу функције лцд.мессаге (), а затим дајемо кашњење од 2 секунде да би порука постала читљива. За штампање на 2. реду може се користити наредба \ н као што је приказано доле
лцд .мессаге ('ДХТ11 витх Пи \ н -ЦирцуитДигест') # Дајте уводну поруку тиме.слееп (2) # сачекајте 2 сек
Коначно, унутар наше вхиле петље требали бисмо очитати вредност температуре и влажности са сензора и приказивати је на ЛЦД екрану сваке 2 секунде. Комплетан програм унутар вхиле петље приказан је испод
док је 1: # Бесконачна петља
влажност, температура = Адафруит_ДХТ.реад_ретри (име_сензора, сензор_пин) #читај са сензора и сачувај одговарајуће вредности у променљивој температури и влажности
лцд.цлеар () # Очистите ЛЦД екран лцд.мессаге ('Темп =%.1ф Ц'% температуре) # Прикажите вредност температуре лцд.мессаге ('\ нХум =%.1ф %%'% влажности) #Дисплаи вредност времена влажности.спавање (2) # Сачекајте 2 секунде, а затим ажурирајте вредности
Вредност температуре и влажности можемо лако добити из сензора помоћу ове једине линије испод. Као што видите, враћа две вредности које се чувају у променљивој влажности и температури. У сенсор_наме анд сенсор_пин детаљи прошли као параметри; ове вредности су ажуриране на почетку програма
влажност, температура = Адафруит_ДХТ.реад_ретри (име_сензора, сензор_пин)
За приказ имена променљиве на ЛЦД екрану можемо користити идентификаторе попут & д,% ц итд. Овде, будући да приказујемо број са покретном тачком са само једном цифром иза децималне тачке, користимо идентификатор%.1ф за приказ вредности у променљива температура и влажност
лцд .мессаге ('Темп =%.1ф Ц'% температуре) лцд .мессаге ('\ нХум =%.1ф %%'% влаге)
Мерење влажности и температуре помоћу Распберри Пи:
Успоставите везе према схеми кола и инсталирајте потребне библиотеке. Затим покрените питхон програм дат на крају ове странице. Ваш ЛЦД би требао приказати уводну поруку, а затим приказати тренутну вриједност температуре и влажности, као што је приказано на доњој слици.
Ако утврдите да се на ЛЦД-у ништа не приказује, проверите да ли се у прозору љуске питхон приказују грешке, ако се не прикаже грешка, поново проверите везе и подесите потенциометар да мења ниво контраста ЛЦД-а и проверите да ли имате екран.
Надам се да сте разумели пројекат и уживали сте у његовој изради, ако сте се суочили са било каквим проблемом при обављању овога, пријавите га у одељак за коментаре или користите форум за техничку помоћ. Трудићу се да одговорим на све коментаре.
Такође можете проверити наше друге пројекте користећи ДХТ11 са другим микроконтролером.