DHT11 температура мен ылғалдылық датчигін Arduino-ға қалай қосуға болады

Мазмұны:

DHT11 температура мен ылғалдылық датчигін Arduino-ға қалай қосуға болады
DHT11 температура мен ылғалдылық датчигін Arduino-ға қалай қосуға болады

Бейне: DHT11 температура мен ылғалдылық датчигін Arduino-ға қалай қосуға болады

Бейне: DHT11 температура мен ылғалдылық датчигін Arduino-ға қалай қосуға болады
Бейне: Tinkercad|Arduino - Видео Дәріс 4: DHT11 Температура және Ылғалдылық 2024, Мамыр
Anonim

DHT17 температура мен ылғалдылық сенсоры температура мен салыстырмалы ылғалдылықтың кең ауқымында қолдануға болатын танымал және арзан сенсор болып табылады. Оны Arduino-ға қалай қосуға болатынын және одан деректерді қалай оқуға болатындығын қарастырайық.

DHT11 температурасы мен ылғалдылығы сенсоры
DHT11 температурасы мен ылғалдылығы сенсоры

Қажетті

  • - Ардуино;
  • - DHT17 температура мен ылғалдылық сенсоры.

Нұсқаулық

1-қадам

Сонымен, DHT11 сенсоры келесі сипаттамаларға ие:

- өлшенетін салыстырмалы ылғалдылық диапазоны - 5% дейін қателікпен 20..90%, - өлшенетін температура диапазоны - 0..50 градус Цельсий, 2 градусқа дейінгі қателікпен;

- ылғалдылықтың өзгеруіне жауап беру уақыты - 15 секундқа дейін, температура - 30 секундқа дейін;

- дауыс берудің минималды уақыты - 1 секунд.

Көріп отырғаныңыздай, DHT11 сенсоры өте дәл емес, ал температура диапазоны теріс мәндерді қамтымайды, бұл біздің климаттағы суық мезгілде ашық ауада өлшеу үшін өте қолайлы емес. Алайда оның арзан құны, кішігірім мөлшері және пайдаланудың қарапайымдылығы бұл кемшіліктерді ішінара өтейді.

Суретте сенсордың көрінісі және оның өлшемдері миллиметрмен көрсетілген.

DHT11 сенсорының сыртқы түрі мен өлшемдері
DHT11 сенсорының сыртқы түрі мен өлшемдері

2-қадам

DHT11 температурасы мен ылғалдылығы сенсорының микроконтроллерге, атап айтқанда, Arduino-ға қосылу схемасын қарастырыңыз. Суретте:

- MCU - микроконтроллер (мысалы, Arduino немесе ұқсас) немесе бір тақталы компьютер (Raspberry Pi немесе ұқсас);

- DHT11 - температура мен ылғалдылық сенсоры;

- ДЕРЕК - мәліметтер шинасы; егер сенсордан микроконтроллерге жалғайтын кабельдің ұзындығы 20 метрден аспаса, онда бұл шинаны 5, 1 кОм резистормен қуат көзіне тарту ұсынылады; егер 20 метрден асса, онда тағы бір қолайлы мән (кішірек).

- VDD - сенсордың қуат көзі; ~ 3,0-ден ~ 5,5 вольтке дейінгі тұрақты кернеу; егер ~ 3,3 В қуат көзі пайдаланылса, онда 20 см-ден аспайтын сымды қолданған жөн.

Сенсордың біреуі - үшінші - ештеңеге байланысты емес.

DHT11 сенсоры жиі қажетті құбырлармен тартылатын резистор және сүзгі конденсаторы бар толық жинақ ретінде сатылады.

DHT11 сенсорын микроконтроллерге қосу схемасы
DHT11 сенсорын микроконтроллерге қосу схемасы

3-қадам

Қарастырылған схеманы біріктірейік. Логикалық анализаторды контурға қосамын, осылайша сенсормен байланыстың уақыт диаграммасын зерттей аламын.

DHT11 сенсоры және Arduino
DHT11 сенсоры және Arduino

4-қадам

Қарапайым жолмен жүрейік: DHT11 сенсорына арналған кітапхананы жүктеп алыңыз («Дереккөздер» бөліміндегі сілтеме), оны стандартты түрде орнатыңыз (Arduino даму ортасының / libraries / каталогына шығарыңыз).

Осындай қарапайым эскизді жазайық. Ардуиноға жүктейік. Бұл нобай DHT11 сенсорынан компьютердің сериялық портына 2 секунд сайын оқылатын RH және Temperature хабарламаларын шығарады.

DHT11 температура-ылғалдылық датчигімен жұмыс жасауға арналған эскиз
DHT11 температура-ылғалдылық датчигімен жұмыс жасауға арналған эскиз

5-қадам

Енді логикалық анализатордан алынған уақыт диаграммасын пайдаланып, ақпарат алмасудың қалай жүзеге асатынын анықтайық.

DHT11 температура мен ылғалдылық сенсоры микроконтроллермен байланыс орнату үшін бір сымды сериялық интерфейсті қолданады. Бір мәлімет алмасу шамамен 40 мс құрайды және оған мыналар кіреді: микроконтроллерден 1 сұраным биті, сенсор реакциясының 1 биті және сенсордан 40 деректер биті. Деректерге мыналар кіреді: ылғалдылық туралы 16 бит, температура туралы 26 бит және 8 тексеру биті.

DHU11 сенсорымен Arduino байланысының уақыт диаграммасын егжей-тегжейлі қарастырайық.

Суреттен импульстің екі түрі бар екенін көруге болады: қысқа және ұзақ. Осы айырбастау хаттамасындағы қысқа импульстар нөлдерді, ұзын импульстар - біреуін білдіреді.

Сонымен, алғашқы екі импульс - Arduino-ның DHT11-ге сұранысы және сәйкесінше сенсордың жауабы. Одан әрі 16 бит ылғалдылық келеді. Оның үстіне, олар жоғары және төмен, сол жақта жоғары байттарға бөлінеді. Яғни, біздің суретте ылғал туралы мәліметтер келесідей:

0001000000000000 = 00000000 00010000 = 0х10 = 16% RH.

Температура туралы мәліметтер:

0001011100000000 = 00000000 00010111 = 0x17 = Цельсий бойынша 23 градус.

Тексеру биттері - бақылау сомасы тек алынған 4 байттың қосындысы:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 екілік түрінде немесе 16 + 23 = 39 ондықта.

Ұсынылған: