Вельмі часта сустракаецца вымярэнне тэмпературы і вільготнасці у многіх праектах электронных вытворцаў. У DIY звычайна трэба вымяраць гэтыя параметры для кіравання пэўнымі сістэмамі. Напрыклад, каб мець магчымасць стварыць халадзільнік, сыход за раслінамі альбо сістэму кандыцыянавання, якая запускаецца, калі тэмпература альбо вільготнасць дасягаюць пэўнага значэння. Але каб гэта было магчыма, вам патрэбен такі датчык, як DHT11.
рынак ёсць шмат датчыкаў вельмі розныя дыяпазоны тэмператур, з падтрымліваемымі дыяпазонамі тэмператур ці рознымі дакладнасцямі. Прыклад таму ёсць LM35, адзін з самых папулярных і выкарыстоўваюцца ў электроніцы. Існуюць таксама іншыя датчыкі вільготнасці, якія дзейнічаюць шляхам змены праводнасці, такія як AD22103KTZ ад Analog Devices. Але калі вы хочаце вымераць абодва параметры, магчыма, прылада, пра якую мы сёння гаворым у гэтым артыкуле, уяўляе значна большую цікавасць ...
Індэкс
Што такое DHT11?
El DHT11 - гэта просты датчык, які вымярае тэмпературу і вільготнасць, усё ў адным. А) Так вам не трэба будзе купляць два датчыка асобна. Яго кошт складае каля 2 еўра, таму ён даволі танны, хаця вы таксама можаце знайсці яго на модулі (усталяваным на друкаванай плаце для зручнасці выкарыстання), як гэта звычайна бывае ў гэтым тыпе электронных кампанентаў для Arduino. У выпадку з платай яна ўключае падцягвальны рэзістар на 5 кіламетраў і святлодыёд, які папярэджвае нас пра працу.
DHT11 мае высокая надзейнасць і стабільнасць дзякуючы калібраванаму лічбаваму сігналу. Акрамя таго, калі вы паглядзіце яго табліцу, вы ўбачыце, што яна мае цікавыя функцыі, як вы ўбачыце ў наступных раздзелах.
Падобныя прадукты
Ёсць тавар, падобны на DHT11, які можа вас зацікавіць. Гэта DHT22. Гэта таксама ўбудаваны датчык тэмпературы і вільготнасці, але ў гэтым выпадку яго цана крыху вышэйшая - каля 4 еўра. Дакладнасць вымярэння тэмпературы складае 5%, таксама як і DHT11, але ў адрозненне ад яе яна вымярае дыяпазон вільготнасці ад 20 да 80%. Такім чынам, вы можаце быць зацікаўлены ў DHT22 для праектаў, дзе вам трэба вымераць вільготнасць ад 0 да 100%.
La частата збору дадзеных гэта таксама ўдвая больш, чым у DHT11, у DHT22 узяць 2 пробы ў секунду замест 1 пробы ў секунду DHT11. Што тычыцца тэмпературы, яна можа з большай дакладнасцю вымяраць ад -40ºC да + 125ºC, паколькі яна можа вымяраць долі градусаў, у прыватнасці, яна можа ацаніць варыяцыі плюс / мінус 0,5ºC.
Распінаванне, асаблівасці і табліца дадзеных
Вы можаце знайсці даволі шмат тэхнічнай інфармацыі пра DHT11 у вашых табліцах. Кожны вытворца гэтай прылады можа ўказаць некаторыя значэнні, якія могуць адрознівацца, таму я заўсёды рэкамендую прачытаць PDF канкрэтнага вытворцы набытай вамі прылады. Хоць большасць значэнняў для вас могуць выглядаць аднолькава, магчымыя невялікія адхіленні ад аднаго да іншага. Яго найбольш важныя тэхнічныя характарыстыкі:
- Электрасілкаванне ад 3,5v да 5v
- Спажыванне току 2,5 мА
- Лічбавы выхадны сігнал
- Дыяпазон тэмператур ад 0ºC да 50ºC
- Дакладнасць для вымярэння тэмпературы пры тэмпературы 25 ° C каля 2 ° C
- Дазвол вымярэння тэмпературы складае 8 біт, 1ºC
- Вільготнасць паветра можа складаць ад 20% да 90%
- Дакладна вільготнасць 5% вільготнасці пры тэмпературы ад 0-50ºC
- Дазвол складае 1% вільготнасці, ён не можа захаваць варыяцыі ніжэй гэтага
- Mouser Datasheet
Што тычыцца дадзеных, вяшчанне ў лічбавым фармаце. Такім чынам, неабавязкова пераходзіць ад аналагавага да лічбавага, як у іншых датчыках. Гэта ўскладняла код для запісу ў IDE Arduino, але ў гэтым выпадку ён не патрэбны, і гэта нашмат прасцей. Хоць сам датчык з'яўляецца аналагавым, але ён уключае ў сябе сістэму для пераўтварэння і можа быць падлучаны непасрэдна да лічбавага ўваходу Arduino.
Аналагавы сігнал, які ўяўляе сабой змену напружання, ад датчыка пераўтворыцца ў лічбавы фармат для адпраўкі на мікракантролер Arduino. Ён перадаецца ў 40-бітны кадр якія адпавядаюць інфармацыі пра вільготнасць і тэмпературу, зафіксаванай DHT11. Першыя дзве групы з 8 біт прызначаны для вільготнасці, гэта значыць найбольш значныя 16 біт гэтай рамкі. Затым астатнія 2 астатнія 8-бітныя групы па тэмпературы. Гэта значыць, ён мае два байты вільготнасці і два байта тэмпературы. Напрыклад:
0011 0101 0000 0010 0001 1000 0000 0000 0011 1001
У гэтым выпадку 0011 0101 0000 0010 - гэта значэнне вільготнасці, а 0001 1000 0000 0000 - тэмпература. Першая частка прызначана для цэлай часткі, а другая - для дзесятковых знакаў. Што тычыцца 0011 1001, то ёсць апошнія 8-бітныя - гэта парытэт каб пазбегнуць памылак. Такім чынам вы можаце праверыць, ці правільна ўсё падчас перадач. Гэта адпавядае суме папярэдніх бітаў, таму, калі сума роўная цотнасці, яна будзе правільнай. У прыкладзе, які я прывёў, гэтага не было б, бо, як бачыце, ён не адпавядае ... Гэта сведчыць пра няўдачу.
Пасля таго, як гэта стане вядома, наступнае, што трэба адзначыць на тэхнічным узроўні DHT11, - гэта штыфты. кантакты альбо разводка гэтага прылады проста, бо ў ім толькі 4. Адзін з кантактаў прызначаны для харчавання або Vcc, другі - для ўводу / вываду для перадачы дадзеных, штыфт NC, які не падключаецца, і GND для зазямлення.
Інтэграцыя з Arduino
Пасля таго, як вы даведаецеся пра распілоўку DHT11, а таксама плата Arduino, падключэнне вельмі простае. Памятаеце, што калі вы абралі модуль DHT11, інтэграваны ў друкаваную плату, высноў будзе тры, бо NC выдаляецца, каб зрабіць справы прасцей. Усё, што вам трэба зрабіць, гэта падключыць штыфт зазямлення да аднаго з GND-злучэнняў Arduino, як гэта паказана на схеме на папярэднім малюнку.
З іншага боку, да штырка харчавання трэба падключыць злучэнне 5v ад Arduino, такім чынам, датчык будзе цалкам харчавацца ад GND і Vcc, але цяпер дадзеныя адсутнічаюць. Каб перадаць дадзеныя з датчыка DHT11 на плату Arduino, вы можаце выкарыстоўваць любы з лічбавых уваходаў, напрыклад, 7, які з'яўляецца на малюнку ... Цяпер у вас ёсць усё гатова для яго выкарыстання, як толькі вы створыце неабходны код у IDE Arduino ...
Калі датчык знаходзіцца далёка ў вашым праекце, і вы збіраецеся выкарыстоўваць кабель даўжынёй больш за 20 метраў, то выкарыстоўвайце падцягвальны рэзістар 5k, для вялікіх кабеляў ён павінен быць прапарцыйна большым. Звярніце ўвагу, што калі вы выкарыстоўваеце магутнасць 3,5 В замест 5 В, кабель не павінен быць даўжэй 20 см з-за падзення напружання.
Памятаеце, што яны рэкамендуюць праводзіце вымярэння кожныя 5 секунд, хаця частата выбаркі, з якой DHT11 можа працаваць, вышэй, але калі гэта робіцца часцей, гэта можа быць не гэтак дакладна.
Код у IDE Arduino
Перайшоўшы проста да кода, скажыце, што ў Ардуіна IDE вы можаце выкарыстоўваць шэраг існуючых бібліятэк з функцыямі, якія палегчаць вам жыццё з DHT11. Напрыклад, адзін з іх - той, які забяспечвае Адафрут. Памятаеце, што ў нас ёсць кіраўніцтва для пачаткоўцаў, якое пачынаецца з Arduino ў PDF, і вы можаце спампаваць бясплатна адсюль і гэта можа вам дапамагчы.
Пасля ўстаноўкі адпаведнай бібліятэкі вы можаце каментаваць увядзіце код для кіравання датчыкам тэмпературы і вільготнасці DHT11 для вашага праекта з Arduino. Напрыклад:
#include "DHT.h" const int DHTPin = 7; DHT dht(DHTPin, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("Midiendo..."); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Fallo en la lectura del sensor DHT11"); return; } Serial.print("Humedad relativa: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(t); Serial.print(" ºC "); }
Будзьце першым, каб каментаваць