Ինչպես միացնել DHT11 ջերմաստիճանի և խոնավության տվիչը Arduino- ին

Բովանդակություն:

Ինչպես միացնել DHT11 ջերմաստիճանի և խոնավության տվիչը Arduino- ին
Ինչպես միացնել DHT11 ջերմաստիճանի և խոնավության տվիչը Arduino- ին

Video: Ինչպես միացնել DHT11 ջերմաստիճանի և խոնավության տվիչը Arduino- ին

Video: Ինչպես միացնել DHT11 ջերմաստիճանի և խոնավության տվիչը Arduino- ին
Video: DHT11 Sensor Module with Arduino Temperature and Humidity 2024, Նոյեմբեր
Anonim

DHT17 ջերմաստիճանի և խոնավության սենսորը սիրված և էժան սենսոր է, որը կարող է օգտագործվել ջերմաստիճանի և հարաբերական խոնավության բավականին լայն տիրույթում: Տեսնենք, թե ինչպես կարելի է այն միացնել Arduino- ին և ինչպես կարդալ դրանից ստացված տվյալները:

DHT11 ջերմաստիճանի և խոնավության ցուցիչ
DHT11 ջերմաստիճանի և խոնավության ցուցիչ

Անհրաժեշտ է

  • - Arduino;
  • - DHT17 ջերմաստիճանի և խոնավության սենսոր:

Հրահանգներ

Քայլ 1

Այսպիսով, DHT11 սենսորը ունի հետեւյալ բնութագրերը.

- չափված հարաբերական խոնավության միջակայք `20..90%` մինչև 5% սխալով, - չափված ջերմաստիճանների միջակայք `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 վոլտ DC; եթե օգտագործվում է power 3.3 Վ էլեկտրամատակարարում, ապա խորհուրդ է տրվում օգտագործել մատակարարման մետաղալար 20 սմ-ից ոչ ավելի:

Սենսորային տողերից մեկը `երրորդը, ոչ մի բանի հետ կապված չէ:

DHT11 սենսորը հաճախ վաճառվում է որպես ամբողջական հավաքույթ `անհրաժեշտ խողովակաշարերով` ձգվող դիմադրություն և ֆիլտրի կոնդենսատոր:

DHT11 սենսորը միկրոհսկիչին միացնելու դիագրամ
DHT11 սենսորը միկրոհսկիչին միացնելու դիագրամ

Քայլ 3

Եկեք միասին հավաքենք դիտարկված սխեման: Ես միացնելու եմ նաև տրամաբանական անալիզատորը շղթային, որպեսզի կարողանամ ուսումնասիրել սենսորի հետ կապի ժամանակային դիագրամը:

DHT11 սենսոր և Arduino
DHT11 սենսոր և Arduino

Քայլ 4

Եկեք գնանք պարզ ձևով. Ներբեռնեք գրադարանը DHT11 սենսորի համար (հղումը «Աղբյուրներ» բաժնում), տեղադրեք այն ստանդարտ ձևով (ապամոնտաժեք այն Arduino- ի զարգացման միջավայրի / գրադարանների / գրացուցակում):

Եկեք գրենք այսպիսի պարզ ուրվագիծ: Եկեք այն բեռնենք Arduino- ի մեջ: Այս ուրվագիծը դուրս կգա RH և Temperature հաղորդագրությունները, որոնք կարդում են DHT11 սենսորից համակարգչի սերիական պորտ յուրաքանչյուր 2 վայրկյանում:

Էսքիզ ՝ DHT11 ջերմաստիճանի խոնավության սենսորի հետ աշխատելու համար
Էսքիզ ՝ DHT11 ջերմաստիճանի խոնավության սենսորի հետ աշխատելու համար

Քայլ 5

Այժմ, օգտագործելով տրամաբանական վերլուծիչից ստացված ժամանակի դիագրամը, եկեք պարզենք, թե ինչպես է իրականացվում տեղեկատվության փոխանակումը:

Միկրոհսկիչի հետ հաղորդակցվելու համար DHT11 ջերմաստիճանի և խոնավության սենսորը օգտագործում է միալար սերիական ինտերֆեյս: Տվյալների մեկ փոխանակումը տևում է մոտ 40 ms և պարունակում է. 1 պահանջ բիթ միկրոհսկիչից, 1 բիթ սենսորի պատասխան և 40 տվյալների բիթ սենսորից: Տվյալները ներառում են `խոնավության 16 բիթ տեղեկատվություն, ջերմաստիճանի վերաբերյալ 26 բիթ և 8 ստուգիչ բիթ:

Եկեք ավելի սերտ նայենք DHT11 սենսորի հետ Arduino հաղորդակցության ժամանակի դիագրամին:

Նկարից երեւում է, որ իմպուլսները երկու տեսակի են ՝ կարճ և երկար: Այս փոխանակման արձանագրության կարճ իմպուլսները նշանակում են զրոներ, երկար իմպուլսները ՝ մեկը:

Այսպիսով, առաջին երկու իմպուլսները Arduino- ի խնդրանքն են DHT11- ին և, համապատասխանաբար, սենսորի պատասխանը: Հաջորդը գալիս է խոնավության 16 բիթ: Ավելին, դրանք բաժանվում են բայտերի ՝ ձախից բարձր և ցածր, բարձր: Այսինքն, մեր նկարում խոնավության տվյալները հետևյալն են.

0001000000000000 = 00000000 00010000 = 0x10 = 16% RH:

Peratերմաստիճանի վերաբերյալ տվյալները նման են.

0001011100000000 = 00000000 00010111 = 0x17 = 23 աստիճան ելսիուս:

Ստուգիչ բիթեր - ստուգման գումարը ընդամենը 4 ստացված տվյալների բայթերի գումարումն է.

00000000 +

00010000 +

00000000 +

00010111 =

00100111 երկուական կամ 16 + 23 = 39 տասնորդական:

Խորհուրդ ենք տալիս: