Friday, January 16, 2026

Температур болон чийгшил хэмжигч

 DHT22 (AM2302) нь өндөр нарийвчлалтай температурын мэдрэгч модуль бөгөөд Arduino-гийн дижитал IO хөлд холбогдож, тохируулга хийж температур ба чийгшлийн утгыг өгдөг. DHT22 нь температурыг Цельсийн хэмжигдэхүүнээр гаргана. Arduino-гийн програм нь уг температурыг Фаренгейт, Кельвин, Ранкины хэмжигдэхүүнд хөрвүүлж, сериал портоор дамжуулан ашиглаж болно.

Эд анги ба бүрдэл хэсгүүд

  • Arduino Uno самбар = 1 ширхэг

  • DHT22 (AM2302) = 1 ширхэг

  • 10 кОм эсэргүүцэл = 1 ширхэг

.

Хэрэгтэй сангуудыг суулгах заавар:
Arduino IDE нээнэ
Sketch → Include Library → Manage Libraries…
Search хэсэгт:

Adafruit Unified Sensor

Adafruit Unified Sensor → Install дарна

Дараа нь:

DHT sensor library by Adafruit→ Install

Arduino IDE-г restart хийнэ

Дахин compile хийнэ6


DHT22 дижитал температур / чийгшлийн мэдрэгч нь –40°C-аас +80°C хүртэлх температурыг, 0%-аас 100% хүртэлх чийгшлийг хэмжинэ. Температурын нарийвчлал нь хамгийн ихдээ ±0.1°C байна.

DHT22-ын өгөгдлийн (data) хөл нь Arduino-гийн дижитал IO хөлд холбогдож, 10 кОм эсэргүүцлээр дамжуулан Vcc рүү татагдсан (pull-up) байна. DHT22 (AM2302) нь калибрлагдсан дижитал өгөгдлийн дохио гаргана.

Энэ загварын DHT22 мэдрэгч бүр температурыг нөхөн тооцоолсон (temperature compensated) бөгөөд өндөр нарийвчлалтай калибрлах камерт калибрлагдсан байдаг. Калибрлах коэффициент нь дотоод OTP санах ойд хадгалагдсан.

Мэдрэгч нь өгөгдлийг алсын зайд дамжуулах боломжтой. Arduino нь температурыг болон чийгшлийг 2 секундийн интервалтай уншиж, сериал порт руу илгээнэ.

Цельсийн температурыг бусад хэмжигдэхүүнд хөрвүүлэх томьёонууд:

Фаренгейт:     T(°F) = T(°C) × 9/5 + 32
Кельвин:  T(K) = T(°C) + 273.15
Ранкин: T(°R) = (T(°C) + 273.15) × 9/5


Алхам 2: Програм хангамж

Оруулсан DHT сан (library) нь мэдрэгчээс өгөгдөл унших интерфэйсийг хангана.

Arduino нь температур ба чийгшлийн утгуудыг 2 секунд тутамд уншина.

Температур нь эхлээд Цельсийн хэлбэрээр уншигдаж, дараа нь програмын тусламжтайгаар Фаренгейт, Кельвин, Ранкин хэлбэрт хөрвүүлэгдэнэ.

Бүх дөрвөн хэлбэрийн температурын утгыг сериал порт руу илгээж, сериал терминал дээр хэвлэн харуулна.

Код:

#include <DHT.h> //San g suulgah

//holbolt #define DHTPIN 2 // 2 dugaar holond holbono #define DHTTYPE DHT22 // DHT22

DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor for normal 16mhz Arduino

//Variables float hum; //chiigshiliig hum gesen huvisagchid hadgalah float temp; //temperaturiig temp gesen huvisagchid hadgalah

void setup() { Serial.begin(9600); Serial.println("DHT22 medregchiig shalgah"); dht.begin(); }

void loop() { float converted = 0.00; //chiigshil ba temperaturiin utgiig unshij huvisagchid onooh hum = dht.readHumidity(); temp= dht.readTemperature();

Serial.print("Celsius = ");Serial.print(temp); //Print degree symbol Serial.write(176);Serial.println("C"); Serial.print("Humidity ="); Serial.println(hum);

//2000mS zaitai temperatur bolon chiigshiliig damjuulna delay(2000); 

}


Эсвэл 

#include "DHT.h" #define DHTPIN 2     //Pin where is the sensor connecte

#define DHTTYPE DHT22   // Sensor DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
Serial.println("Loading...");
dht.begin();
}

void loop() {
delay(2000);
float h = dht.readHumidity(); //Reading the humidity
float t = dht.readTemperature(); //Reading the temperature in Celsius degree
float f = dht.readTemperature(true); //Reading the temperature in Fahrenheit degrees

//--------Sending the reading through Serial port-------------

Serial.print("Humidity ");
Serial.print(h);
Serial.print(" %t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.println(" *F");
}

No comments:

Post a Comment