Bincika Lambar

Lambar Arduino da Bidiyo don DHT11 Sensor na Zazzabi da Danshi

Lambar Arduino da Bidiyo don DHT11 Sensor na Zazzabi da Danshi

A cikin wannan koyawa, za mu bincika yadda ake amfani da na'urar DHT11 mai auna zafin jiki da danshi tare da Arduino. Wannan na'urar hanya ce mai rahusa don auna zafin jiki da danshi, wanda ya sa ta zama zaɓi mai kyau ga ayyuka daban-daban. Za mu rufe haɗin wayoyi, lambar da ake buƙata, da yadda sassan ke hulɗa don samar da ingantattun sakamako.

DHT11 Module

A ƙarshen wannan koyawa, za ka iya karanta zafin jiki a Celsius, Fahrenheit, da Kelvin, da kuma matakan danshi daga na'urar DHT11. Don ƙarin haske, ka tabbata ka duba bidiyon a lokutan da aka nuna (a cikin bidiyo a 00:00).

Bayanin Kayan Aiki

Na'urar DHT11 tana da ƙafafu uku: ƙasa, wutar lantarki, da bayanai. Ƙafar ƙasa tana haɗawa da ƙasan Arduino, yayin da ƙafar wutar lantarki ke haɗawa da samar da 5V daga Arduino. Ƙafar bayanai ce ke da alhakin sadarwa tsakanin Arduino da na'urar, wanda ke ba Arduino damar karanta ƙimar zafin jiki da danshi.

Wannan na'urar tana amfani da fitarwa na dijital, wanda ke nufin tana aika bayanai a tsarin serial zuwa Arduino. Tana ƙunshe da thermistor don auna zafin jiki da kuma na'urar auna danshi mai capacitive. DHT11 tana canza siginonin analog da take karɓa zuwa siginonin dijital, wanda ke sauƙaƙa wa microcontrollers kamar Arduino sarrafa bayanan.

Cikakkun Bayanai na Datasheet

Mai ƙeraASAIR
Lambar sashiDHT11
Wutar Logic/IO3.3–5.5 V
Wutar samarwa3.3–5.5 V
Fitarwar wutar (kowane tashar)0.5 mA
Matsakaicin wutar (kowane tashar)2.5 mA
Jagorar mitar PWMBabu
Matsakaicin shigarwar logic0.3*VDD zuwa 0.7*VDD
Ragewar wutar / RDS(on) / saturationBabu
Iyakokin zafi0 zuwa 60 °C
Kunshin4-pin DIP
Bayanan kula / bambance-bambanceMai rahusa, mai sauƙin amfani

  • Wutar aiki tsakanin 3.3V zuwa 5.5V.
  • Matsakaicin fitarwar wutar na 2.5 mA.
  • Kewayon zafin jiki daga 0 zuwa 60 digiri Celsius.
  • Kewayon danshi daga 20% zuwa 90%.
  • Yi amfani da resistor mai ɗagawa akan ƙafar bayanai don ingantattun karatu.
  • Ka tabbatar da haɗi mai kyau don guje wa shigarwar da ba ta da ƙarfi.
  • Ka yi hattara da juyar da polarity lokacin haɗa wutar lantarki.
  • Jinkirta karatu da akalla daƙiƙa 1 don ingantattun sakamako.

Umarnin Haɗin Wayoyi

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

Don haɗa na'urar DHT11 zuwa Arduino, ka bi waɗannan matakan:

Da farko, haɗa ƙafar ƙasa (yawanci baƙar fata ko launin ruwan kasa) na DHT11 zuwa ƙasa (GND) akan Arduino. Na gaba, haɗa ƙafar wutar lantarki (yawanci ja) na DHT11 zuwa fitarwar 5V akan Arduino. A ƙarshe, haɗa ƙafar bayanai (yawanci rawaya ko fari) zuwa dijital pin 2 akan Arduino. Ka tabbata ka yi amfani da resistor mai ɗagawa (kusan 10k ohms) tsakanin ƙafar bayanai da ƙafar wutar lantarki don tabbatar da ingantaccen sadarwa.

Misalan Lamba da Bayani

A cikin lambar Arduino, muna farawa ta haɗa fayil ɗin da ake buƙata don na'urar DHT11:

#include 

Wannan layin yana shigo da ɗakin karatu wanda ya ƙunshi ayyukan da ake buƙata don hulɗa da na'urar DHT11. Na gaba, muna ƙirƙirar misali na ajin DHT11:

dht11 DHT11; // ƙirƙirar abu na DHT11

Wannan layin yana fara abin DHT11 wanda za mu yi amfani da shi don karanta bayanai daga na'urar. Ƙafar da aka haɗa zuwa DHT11 an ayyana ta kamar:

#define dhtpin 2 // saita ƙafar don haɗawa da DHT11

Wannan yana saita ƙafar bayanai don na'urar zuwa pin 2 akan Arduino. A cikin aikin loop(), muna karanta bayanan na'urar:

DHT11.read(dhtpin);// fara karatun

Wannan layin yana fara tsarin karatu, kuma ana iya samun danshi da:

int humidity = DHT11.humidity;// samun danshi

Ƙimar danshi ana adana ta a cikin maɓallin humidity, wanda aka buga shi zuwa serial monitor tare da ƙimar zafin jiki da aka canza zuwa Celsius, Fahrenheit, da Kelvin.

Nuni / Abin da Za Ka Yi Tsammani

Lokacin da ka gudanar da lambar, ya kamata ka ga karatun zafin jiki da danshi a cikin serial monitor. Karatun zafin jiki zai sabunta kowane rabin daƙiƙa (a cikin bidiyo a 00:00). Idan an dumama ko sanyaya na'urar, za ka lura ƙimar suna canzawa daidai. Ka yi hattara, saboda DHT11 tana da iyakar zafin jiki na digiri 60 Celsius; wuce wannan na iya haifar da karatu mara inganci.

Lokutan Bidiyo

  • 00:00 - Gabatarwa ga na'urar DHT11
  • 01:30 - Umarnin haɗin wayoyi
  • 02:15 - Bayanin lambar
  • 03:00 - Gudanar da lambar da sakamakon da ake tsammani

Hotuna

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.
Harshe: 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; 
  }
  
}

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Littattafan Arduino (zip)

Fayil Fritzing

Jagoran Mai Amfani

Sauran fayiloli