Loading...
Arduino වලදී DHT 11 Sensor එක භාවිතා කරන්නේ කොහොමද? (Lesson 08)

සුභ දවසක්. අද අපි කතා කරන්න යන්නේ DHT 11 Sensor එකක් පාවිච්චි කරන්නේ කොහොමද කියලා.

DHT 11 යනු Temperature (උෂ්ණත්වය) සහ Humidity (වාතයේ ආර්ධතාවය) මැනීම සදහා භාවිතා කරනු ලබන module එකකි. මෙමගින් analog ලෙස values ලබාගත හැකිය.

මුලින්ම අපට මේ සදහා ඕන දේවල් බලමු.
1. Uno board එකක්.
2. DHT 11 Sensor එකක්.
3. Jumper Wires.

DHT 11 Sensor

දැන් පහත ආකාරයට පරිපථය සකසා ගන්න.

Cricuit

දැන් අපි code එක පැහැදිලි කර ගනිමු.

මුලින්ම අපි මේ සදහා DHT.h කියන library එක install කරගන්න ඕන. ඒ සදහා Sketch-> Include Library -> Manage Library වෙත ගොස් DHT 11 ලෙස search කර download කර ඉන්ස්ටෝල් කරගන්න.

Library

දැන් එම library එක code එකේ උඩින්ම include කරන්න.

#include <DHT.h>

ඉන්පසු අප භාවිතා කරන්නේ DHT 11 නැමැති Sensor එක නිසා එය type එක වශයෙන් define කල යුතු වේ.

#define DHTTYPE DHT11

දැන් අපි භාවිතා කරන analog pin එක define කරගත යුතුය.

#define dht_apin A0

දැන් අපි DHT නම් class එකෙන් dht කියල object එකක් සදා ගනී. ඒ සදහා අපි pin එක සහ භාවිතා කරන type එක parameters වශයෙන් ලබා දිය යුතුය.

දැන් අපි void setup() තුල ක්‍රියාවලිය බලමු.

මෙහිදී Serial monitor එක ඕපන් කිරීමට අදාල කෝඩ් එක සහ අපගේ sensor එක ON කිරීමට අදාල code එක මේ ආකාරයෙන් ලියනු ලැබේ. එහිදී අපි තරමක delay එකක් ලබාදෙනුයේ values ගැනීමට පෙර නිවැරදිව sensor එක ON වීමට කාලය ලබා දීමටයි.

void setup() {
   Serial.begin(9600);
   delay(500);
   dht.begin();
   delay(1000);
}

දැන් අපි void loop() තුල ක්‍රියාවලිය බලමු.

එහිදී අපි ඉහලින්ම සාදාගත් dht නැමැති object එක හරහා එහි ඇති readHumidity() නැමැති function එක call කර තිබේ. එමගින් අපට අවශ්‍ය Humidity අගය ලැබේ. එය ප්‍රතිශතයක් ලෙස දැක ගැනීමට පුලුවනි.

තවද එම object එකේම ඇති readTemperature() function එක call කර විට අපට අදාල temperature එකද Celcius වලින් ලබාගත හැකියාව ලැබේ.

void loop() {
    Serial.print("Current humidity = ");
    Serial.print(dht.readHumidity());
    Serial.print("%  ");
    Serial.print("temperature = ");
    Serial.print(dht.readTemperature());
    Serial.println("C  ");
    delay(1000);
}
Code

Code file https://github.com/realrajapaksha/Arduino

එහෙනම් යාලුවනේ අදට අපි සමුගන්නවා. තවත් මේ වගේ ආටිකල් එකක් අරගෙන ආයෙත් එන්නම්. ඔයාලගේ අදහස් යෝජනා සහ අඩුපාඩු comment කරන්නත් අමතක කරන්න එපා. සුභ දවසක්.