Search Code

Koodu Arduino ati Fidio fun Sensa Iwọn otutu ati Ọrinrin DHT11

Koodu Arduino ati Fidio fun Sensa Iwọn otutu ati Ọrinrin DHT11

Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe lè lo ẹ̀rọ ìwọ̀n-otútù àti ọ̀rinrin DHT11 pẹ̀lú Arduino. Ẹ̀rọ yìí jẹ́ àṣàyàn tí kò gbowó lórí fún wíwọn otútù àti ọ̀rinrin, tí ó sì jẹ́ yíyan tí ó dára fún oríṣiríṣi àwọn iṣẹ́-ọwọ́. A óò ṣàlàyé bí a ṣe ń so wọn pọ̀, kóòdù tí a nílò, àti bí àwọn ẹ̀yà náà ṣe ń ṣiṣẹ́ papọ̀ láti pèsè àwọn ìwọ̀n tí ó péye.

DHT11 Module

Ní ìparí ẹ̀kọ́ yìí, ìwọ yóò lè ka otútù ní Celsius, Fahrenheit, àti Kelvin, àti pẹ̀lú àwọn ipele ọ̀rinrin láti inú ẹ̀rọ DHT11. Fún ìmúkún òye síwájú sí i, rí i pé o wo fídíò náà ní àwọn àkókò tí a tọ́ka sí (nínú fídíò ní 00:00).

Àlàyé Ohun-èlò

Ẹ̀rọ DHT11 ní àwọn pin mẹ́ta: ilẹ̀, agbára, àti data. Pin ilẹ̀ ń so pọ̀ mọ́ ilẹ̀ Arduino, nígbà tí pin agbára ń so pọ̀ mọ́ 5V láti inú Arduino. Pin data ni ó ń ṣe iṣẹ́ ìbánisọ̀rọ̀ láàárín Arduino àti ẹ̀rọ náà, tí ó ń jẹ́ kí Arduino lè ka àwọn iye otútù àti ọ̀rinrin.

Ẹ̀rọ yìí ń lo ìjàde oní-nọ́ńbà, tí ó túmọ̀ sí pé ó ń fi data ránṣẹ́ ní ọ̀nà serial sí Arduino. Ó ní thermistor fún wíwọn otútù àti ẹ̀rọ ìwọ̀n ọ̀rinrin capacitive. DHT11 ń yí àwọn àmì analog tí ó gbà padà sí àwọn àmì oní-nọ́ńbà, tí ó sì rọrùn fún àwọn microcontroller bíi Arduino láti ṣe ìmúṣẹ data náà.

Àwọn Àlàyé Datasheet

Olùṣelọ́pọ̀ASAIR
Nọ́ńbà ẹ̀yàDHT11
Fóltì Logic/IO3.3–5.5 V
Fóltì ìpèsè3.3–5.5 V
Ìjàde lọ́wọ́lọ́wọ́ (fún ikanni kọ̀ọ̀kan)0.5 mA
Ìjàde tí ó ga jùlọ (fún ikanni kọ̀ọ̀kan)2.5 mA
Ìtọ́sọ́nà ìgbohùnsáfẹ́fẹ́ PWMKò sí
Àwọn ìpele ìbẹ̀rẹ̀ logic0.3*VDD sí 0.7*VDD
Ìrẹwẹ̀sì fóltì / RDS(on) / saturationKò sí
Àwọn ààlà otútù0 sí 60 °C
Ìpó4-pin DIP
Àwọn àkíyèsí / àwọn oríṣiKò gbowó lórí, rọrùn láti lò

  • Fóltì ìṣiṣẹ́ láàárín 3.3V sí 5.5V.
  • Ìjàde lọ́wọ́lọ́wọ́ tí ó ga jùlọ jẹ́ 2.5 mA.
  • Ìwọ̀n otútù láti 0 sí 60 ìwọ̀n Celsius.
  • Ìwọ̀n ọ̀rinrin láti 20% sí 90%.
  • Lo resistor ìfà sókè lórí pin data fún àwọn ìwọ̀n tí ó dúró ṣinṣin.
  • Rí i pé ìsopọ̀ tọ́nà láti yẹra fún àwọn input tí ń fòfò.
  • Ṣọ́ra fún polarity tí ó yí padà nígbà tí o ń so agbára pọ̀.
  • Dúró fún ìwọ̀n tí ó kéré tán ọ̀kan-ìṣẹ́jú-àáyá fún àwọn èsì tí ó péye.

Àwọn Ìtọ́sọ́nà Ìsopọ̀

Arduino wiring for DHT11 Temperature and humidity sensor
Arduino wiring for DHT11 Temperature and humidity sensor

Láti so ẹ̀rọ DHT11 pọ̀ mọ́ Arduino rẹ, tẹ̀lé àwọn ìgbésẹ̀ wọ̀nyí:

Kọ́kọ́, so pin ilẹ̀ (tí ó sábà jẹ́ dudu tàbí brown) ti DHT11 mọ́ ilẹ̀ (GND) lórí Arduino. Lẹ́yìn náà, so pin agbára (tí ó sábà jẹ́ pupa) ti DHT11 mọ́ ìjàde 5V lórí Arduino. Níkẹyìn, so pin data (tí ó sábà jẹ́ ofeefee tàbí funfun) mọ́ pin oní-nọ́ńbà 2 lórí Arduino. Rí i pé o lo resistor ìfà sókè (níwọ̀n 10k ohms) láàárín pin data àti pin agbára láti rí i pé ìbánisọ̀rọ̀ dúró ṣinṣin.

Àwọn Àpẹẹrẹ Kóòdù & Ìṣàlàyé

Nínú kóòdù Arduino, a bẹ̀rẹ̀ nípa fífi fáìlì àkọsórí tí a nílò fún ẹ̀rọ DHT11 sí inú:

#include 

Ìlà yìí ń kó àkójọpọ̀ ìwé tí ó ní àwọn iṣẹ́ tí a nílò láti bá ẹ̀rọ DHT11 ṣiṣẹ́. Lẹ́yìn náà, a dá àpẹẹrẹ kan ti ẹ̀ka DHT11:

dht11 DHT11; // ṣẹ̀dá ohun DHT11

Ìlà yìí ń bẹ̀rẹ̀ ohun DHT11 tí a óò lò láti ka data láti inú ẹ̀rọ náà. Pin tí a so mọ́ DHT11 ni a ṣàlàyé bíi:

#define dhtpin 2 // ṣeto pin láti so mọ́ DHT11

Èyí ń ṣeto pin data fún ẹ̀rọ náà sí pin 2 lórí Arduino. Nínú iṣẹ́ loop(), a ka data ẹ̀rọ náà:

DHT11.read(dhtpin);// bẹ̀rẹ̀ ìwọ̀n náà

Ìlà yìí ń bẹ̀rẹ̀ ìlànà ìwọ̀n, àti pé a lè wọ ọ̀rinrin pẹ̀lú:

int humidity = DHT11.humidity;// gba ọ̀rinrin

Iye ọ̀rinrin náà ni a fi pamọ́ sí inú oniyipada humidity, tí a óò sì tẹ̀ jáde sí ibi ìṣàkíyèsí serial pẹ̀lú àwọn iye otútù tí a yí padà sí Celsius, Fahrenheit, àti Kelvin.

Ìṣàfihàn / Ohun Tí Ó Yẹ Kí O Rí

Nígbà tí o bá ṣiṣẹ́ kóòdù náà, o yẹ kí o rí àwọn ìwọ̀n otútù àti ọ̀rinrin tí a fihàn ní ibi ìṣàkíyèsí serial. Àwọn ìwọ̀n otútù yóò máa ṣe àtúnṣe gbogbo ìdajì ìṣẹ́jú-àáyá (nínú fídíò ní 00:00). Bí a bá gbóná tàbí tutù ẹ̀rọ náà, ìwọ yóò kíyèsi pé àwọn iye náà ń yí padà. Ṣọ́ra, nítorí pé DHT11 ní ààlà otútù tí ó ga jùlọ ti 60 ìwọ̀n Celsius; bí ó bá kọjá èyí, ó lè yọrí sí àwọn ìwọ̀n tí kò péye.

Àwọn Àkókò Fídíò

  • 00:00 - Ìfihàn sí ẹ̀rọ DHT11
  • 01:30 - Àwọn ìtọ́sọ́nà ìsopọ̀
  • 02:15 - Àkópọ̀ kóòdù náà
  • 03:00 - Ṣiṣẹ́ kóòdù náà àti èsì tí a retí

Aworan

Arduino wiring for DHT11 Temperature and humidity sensor
Arduino wiring for DHT11 Temperature and humidity sensor
DHT11 Module
DHT11 Module
DHT11 Module
DHT11 Module
53-This is the Arduino code and video for a DHT11 temperature and humidity sensor.
Ede: C++
/*
 * This is the Arduino code for the DHT11 module to read temperature and humidity.
 * This code can display temperature in:
 * C is used to get Celsius.
 * F is used to get Fahrenheit.
 * K is used for Kelvin.
 * Watch the video https://youtu.be/FjZBt6eU9b4
 * 
 * Written by Ahmad Nejrabi for Robojax Video
 * Date: January 4, 2018, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 */

// header file from GitHub: https://github.com/adidax/dht11
#include <dht11.h>

dht11 DHT11; // create object of DHT11
#define dhtpin 2 // set the pin to connect to DHT11

void setup() {
    Serial.begin(9600);// setting up serial monitor

}

void loop() {
  DHT11.read(dhtpin);// initialize the reading
  //code for Robojax.com video
  int humidity = DHT11.humidity;// get humidity

   Serial.print(getTemp('C'));
   Serial.print("C ");
   Serial.print(getTemp('F'));
   Serial.print("F ");
   Serial.print(getTemp('K'));
   Serial.print("K ");
   Serial.print(" humidity:");
   Serial.print (humidity);
   Serial.println("% ");
   Serial.println();
 delay(500);
}


/*
 * getTemp(char type)
 * type character of upper case.
 * C is used to get Celsius.
 * F is used to get Fahrenheit.
 * K is used for Kelvin.
 */
float getTemp(char type) {
    float temp = (float)DHT11.temperature;//get temp
  if(type =='F')
  {
    return temp * 1.8 + 32;// convert to Fahrenheit
  }else if(type =='K')
  {
    return temp + 274.15;// convert to Kelvin
  }else{
   return temp; 
  }
  
}

Orisun & itọkasi

Fáìlìs📁

Awọn ile-ikawe Arduino (zip)

Fayile Fritzing

Iwe Itọsọna Olumulo

Awọn faili miiran