Tuesday, March 17, 2026

Motor driver 293D

 



int enA = 9;
int in1 = 8;
int in2 = 7;
int enB = 3;
int in3 = 5;
int in4 = 4;
void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void loop() {
analogWrite(enA, 255);
analogWrite(enB, 255);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}




Tuesday, March 3, 2026

1.Bluetooth ээр LED удирдах 



char value;

void setup() {

  Serial.begin(9600);//enable serial monitor

  pinMode(6, OUTPUT);//define led pin

}

 void loop() {

  if (Serial.available() > 0) {

    value = Serial.read();//read serial value

  }

   if (value == '1') {//check value

    digitalWrite(6, HIGH);//led on

    Serial.println("LED on");//print serial monitor "LED on"

  } else if (value == '0') {

    digitalWrite(6, LOW);//led off

    Serial.println("LED off");//print serial monitor "LED on"

  }

}

2.Bluetooth ээр Motor удирдах




код:
#include <AFMotor.h>

//initial motors pin
AF_DCMotor motor1(1); 
AF_DCMotor motor2(2); 
AF_DCMotor motor3(3);
AF_DCMotor motor4(4);

char command; 

void setup() 
{       
  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.
}

void loop(){
  if(Serial.available() > 0){ 
    command = Serial.read(); 
    Stop(); //initialize with motors stoped
    //Change pin mode only if new command is different from previous.   
    //Serial.println(command);
    switch(command){
    case 'F':  
      forward();
      break;
    case 'B':  
       back();
      break;
    case 'L':  
      left();
      break;
    case 'R':
      right();
      break;
    }
  } 
}

void forward()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(255);//Define maximum velocity
  motor3.run(FORWARD); //rotate the motor clockwise
  motor4.setSpeed(255);//Define maximum velocity
  motor4.run(FORWARD); //rotate the motor clockwise
}

void back()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}

void left()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(FORWARD);  //rotate the motor clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(FORWARD);  //rotate the motor clockwise
}

void right()
{
  motor1.setSpeed(255); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(255); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(255); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(255); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise

void Stop()
{
  motor1.setSpeed(0); //Define minimum velocity
  motor1.run(RELEASE); //stop the motor when release the button
  motor2.setSpeed(0); //Define minimum velocity
  motor2.run(RELEASE); //rotate the motor clockwise
  motor3.setSpeed(0); //Define minimum velocity
  motor3.run(RELEASE); //stop the motor when release the button
  motor4.setSpeed(0); //Define minimum velocity
  motor4.run(RELEASE); //stop the motor when release the button
}



Tuesday, February 10, 2026

Nokia ая базер

/* 

  Nokia Tune

  Connect a piezo buzzer or speaker to pin 9 or select a new pin.

  More songs available at https://github.com/robsoncouto/arduino-songs                                            

                                              

                                              Robson Couto, 2019

*/

#define NOTE_B0  31

#define NOTE_C1  33

#define NOTE_CS1 35

#define NOTE_D1  37

#define NOTE_DS1 39

#define NOTE_E1  41

#define NOTE_F1  44

#define NOTE_FS1 46

#define NOTE_G1  49

#define NOTE_GS1 52

#define NOTE_A1  55

#define NOTE_AS1 58

#define NOTE_B1  62

#define NOTE_C2  65

#define NOTE_CS2 69

#define NOTE_D2  73

#define NOTE_DS2 78

#define NOTE_E2  82

#define NOTE_F2  87

#define NOTE_FS2 93

#define NOTE_G2  98

#define NOTE_GS2 104

#define NOTE_A2  110

#define NOTE_AS2 117

#define NOTE_B2  123

#define NOTE_C3  131

#define NOTE_CS3 139

#define NOTE_D3  147

#define NOTE_DS3 156

#define NOTE_E3  165

#define NOTE_F3  175

#define NOTE_FS3 185

#define NOTE_G3  196

#define NOTE_GS3 208

#define NOTE_A3  220

#define NOTE_AS3 233

#define NOTE_B3  247

#define NOTE_C4  262

#define NOTE_CS4 277

#define NOTE_D4  294

#define NOTE_DS4 311

#define NOTE_E4  330

#define NOTE_F4  349

#define NOTE_FS4 370

#define NOTE_G4  392

#define NOTE_GS4 415

#define NOTE_A4  440

#define NOTE_AS4 466

#define NOTE_B4  494

#define NOTE_C5  523

#define NOTE_CS5 554

#define NOTE_D5  587

#define NOTE_DS5 622

#define NOTE_E5  659

#define NOTE_F5  698

#define NOTE_FS5 740

#define NOTE_G5  784

#define NOTE_GS5 831

#define NOTE_A5  880

#define NOTE_AS5 932

#define NOTE_B5  988

#define NOTE_C6  1047

#define NOTE_CS6 1109

#define NOTE_D6  1175

#define NOTE_DS6 1245

#define NOTE_E6  1319

#define NOTE_F6  1397

#define NOTE_FS6 1480

#define NOTE_G6  1568

#define NOTE_GS6 1661

#define NOTE_A6  1760

#define NOTE_AS6 1865

#define NOTE_B6  1976

#define NOTE_C7  2093

#define NOTE_CS7 2217

#define NOTE_D7  2349

#define NOTE_DS7 2489

#define NOTE_E7  2637

#define NOTE_F7  2794

#define NOTE_FS7 2960

#define NOTE_G7  3136

#define NOTE_GS7 3322

#define NOTE_A7  3520

#define NOTE_AS7 3729

#define NOTE_B7  3951

#define NOTE_C8  4186

#define NOTE_CS8 4435

#define NOTE_D8  4699

#define NOTE_DS8 4978

#define REST      0



// change this to make the song slower or faster

int tempo = 180;


// change this to whichever pin you want to use

int buzzer = 9;


// notes of the moledy followed by the duration.

// a 4 means a quarter note, 8 an eighteenth , 16 sixteenth, so on

// !!negative numbers are used to represent dotted notes,

// so -4 means a dotted quarter note, that is, a quarter plus an eighteenth!!

int melody[] = {


  // Nokia Ringtone 

  // Score available at https://musescore.com/user/29944637/scores/5266155

  

  NOTE_E5, 8, NOTE_D5, 8, NOTE_FS4, 4, NOTE_GS4, 4, 

  NOTE_CS5, 8, NOTE_B4, 8, NOTE_D4, 4, NOTE_E4, 4, 

  NOTE_B4, 8, NOTE_A4, 8, NOTE_CS4, 4, NOTE_E4, 4,

  NOTE_A4, 2, 

};


// sizeof gives the number of bytes, each int value is composed of two bytes (16 bits)

// there are two values per note (pitch and duration), so for each note there are four bytes

int notes = sizeof(melody) / sizeof(melody[0]) / 2;


// this calculates the duration of a whole note in ms

int wholenote = (60000 * 4) / tempo;


int divider = 0, noteDuration = 0;


void setup() {

  // iterate over the notes of the melody.

  // Remember, the array is twice the number of notes (notes + durations)

  for (int thisNote = 0; thisNote < notes * 2; thisNote = thisNote + 2) {


    // calculates the duration of each note

    divider = melody[thisNote + 1];

    if (divider > 0) {

      // regular note, just proceed

      noteDuration = (wholenote) / divider;

    } else if (divider < 0) {

      // dotted notes are represented with negative durations!!

      noteDuration = (wholenote) / abs(divider);

      noteDuration *= 1.5; // increases the duration in half for dotted notes

    }


    // we only play the note for 90% of the duration, leaving 10% as a pause

    tone(buzzer, melody[thisNote], noteDuration * 0.9);


    // Wait for the specief duration before playing the next note.

    delay(noteDuration);


    // stop the waveform generation before the next note.

    noTone(buzzer);

  }

}


void loop() {

  // no need to repeat the melody.

}

Tuesday, January 27, 2026

led matrix




#define button 9

#define LED1 0

#define LED2 1

#define LED3 2

#define LED4 3

#define LED5 4

#define LED6 5

#define LED7 6

#define LED8 7

#define LED9 8


int state = 0;


int old =0;


int buttonPoll=0;


void setup(){


  pinMode (button,INPUT);


  pinMode(LED1,OUTPUT);

  pinMode(LED2,OUTPUT);

  pinMode(LED3,OUTPUT);

  pinMode(LED4,OUTPUT);

  pinMode(LED5,OUTPUT);

  pinMode(LED6,OUTPUT);

  pinMode(LED7,OUTPUT);

  pinMode(LED8,OUTPUT);

  pinMode(LED9,OUTPUT);

 

  digitalWrite(LED1, LOW);

  digitalWrite(LED2, LOW);

  digitalWrite(LED3, LOW);

  digitalWrite(LED4, LOW);

  digitalWrite(LED5, LOW); 

  digitalWrite(LED6, LOW);

  digitalWrite(LED7, LOW);

  digitalWrite(LED8, LOW);

  digitalWrite(LED9, LOW);

}


void loop(){


  buttonPoll = digitalRead(button);


  if(buttonPoll==1){


    delay(50);


    buttonPoll =digitalRead(button);


    if(buttonPoll==0){


      state=old+1;


  }}


  else{


  delay(100);


  }


  switch (state){


   case 1:


    digitalWrite(LED7,HIGH);

    digitalWrite(LED8,HIGH);

    digitalWrite(LED9,HIGH);

   


    old=state;


    break;


   case 2:

    digitalWrite(LED3,HIGH);

    digitalWrite(LED6,HIGH);

    digitalWrite(LED9,HIGH);

 

    

   


    old=state;


    break;


   case 3:


    


    old=state;


    break;


   default:


    


    old=0;


    break;


  }


}

Sunday, January 18, 2026

Хөрсний чийг мэдрэгч

 

FC-28 Хөрсний чийг мэдрэгчийг Arduino-той холбох

📌 Мэдрэгчийн ажиллах зарчим

Хөрсний чийг мэдрэгч нь хоёр электрод (зонд)-оос бүрддэг. Эдгээр зонд нь хөрсөн дундуур цахилгаан гүйдэл нэвтрүүлж, улмаар хөрсөн дэх усны эзлэхүүний агууламжийг (volumetric water content) тодорхойлдог.

  • Хөрсөнд ус их байх үед
    → Цахилгаан сайн дамжина
    Эсэргүүцэл бага

  • Хөрс хуурай үед
    → Цахилгаан муу дамжина
    Эсэргүүцэл их

Ингэж эсэргүүцлийн өөрчлөлтөөр чийгийг тодорхойлно.


🔌 Холболтын горим

FC-28 мэдрэгч нь 2 горимоор ажиллана:

  1. Аналог горим (Analog mode)

  2. Дижитал горим (Digital mode)

Энд аналог горимыг тайлбарлая.


🔢 Аналог горим (Analogue Mode)

Аналог горимд мэдрэгчийн A0 гаралтаас аналог сигнал уншина.

  • Arduino нь 0–1023 хооронд утга уншина

  • Эдгээр утгыг 0–100% болгон хөрвүүлж,
    хөрсний чийгшлийг хувиар илэрхийлнэ

  • Энэ утгад үндэслэн:

    • Усны насос асаах / унтраах

    • Анхааруулга өгөх

    • Автомат усалгаа хийх боломжтой


🔗 Arduino-той холбох

FC-28 мэдрэгчArduino
VCC5V
GNDGND
A0A0

Модулийн дээр потенциометр (эргүүлж тохируулдаг эсэргүүцэл) байрладаг. Энэ нь босго утгыг (threshold value) тохируулах зориулалттай.

  • Потенциометрээр тохируулсан босго утгыг
    LM393 харьцуулагч (comparator) микросхем мэдрэгчийн дохиотой харьцуулна.

  • Хөрсний чийг мэдрэгчийн утга босго утгаас их эсвэл бага байхаас хамаарч:

    • Гаралтын LED асах эсвэл унтрах

    • Дижитал гаралт (DO) HIGH / LOW болж өөрчлөгдөнө

Өөрөөр хэлбэл, хөрсний чийг тодорхой хэмжээнээс ихэсвэл эсвэл багасвал LED болон дижитал дохио автоматаар өөрчлөгдөнө.


Дижитал горим (Digital Mode)

Хөрсний чийг мэдрэгч FC-28-ийг дижитал горимоор ашиглах үед мэдрэгчийн дижитал гаралтыг (D0) Arduino-гийн дижитал оролт руу холбоно.

⚙️ Ажиллах зарчим

Мэдрэгчийн модуль дээр потенциометр байрладаг бөгөөд энэ нь босго утгыг (threshold value) тохируулах үүрэгтэй.

  • Потенциометрээр тохируулсан босго утгыг
    LM393 харьцуулагч (comparator) микросхем мэдрэгчийн гаралтын утгатай харьцуулна

  • LM393 нь:

    • Мэдрэгчийн утга босго утгаас их байвал
      → Дижитал гаралт 5V (HIGH)
      → Мэдрэгч дээрх LED асна

    • Мэдрэгчийн утга босго утгаас бага байвал
      → Дижитал гаралт 0V (LOW)
      LED унтарна

Ингэснээр хөрсний чийг тодорхой түвшнээс их эсвэл бага эсэхийг дижитал байдлаар шууд мэдэж болно.

Analog code:

int sensor_pin = A0;
int output_value ;

void setup() {
  Serial.begin(9600);
  Serial.println("Reading From the Sensor ...");
  delay(2000);
  }

void loop() {

  output_value= analogRead(sensor_pin);
  output_value = map(output_value,550,0,0,100);
  Serial.print("Mositure : ");
  Serial.print(output_value);
  Serial.println("%");
  delay(1000);
  }


Digital code:
int led_pin =13;
int sensor_pin =8;
void setup() {
pinMode(led_pin, OUTPUT);
pinMode(sensor_pin, INPUT);
}
void loop() {
if(digitalRead(sensor_pin) == HIGH){
digitalWrite(led_pin, HIGH);
} else {
digitalWrite(led_pin, LOW);
delay(1000);
}
}






Saturday, January 17, 2026

LDR ашиглан гэрлийн хүчийг хэмжих

 

Оршил

Люксметр нь гэрэлтэлтийг (illuminance) болон гэрлийн цацралтыг SI нэгж болох люкс-ээр хэмждэг төхөөрөмж юм. Энэ нь тодорхой нэгж талбай дээр тусаж буй гэрлийн чадлын хэмжээг үр дүнтэйгээр хэмждэг боловч уг хэмжилт нь хүний нүд янз бүрийн долгионы уртад хэр мэдрэмтгий байдгийг харгалзан жинлэгддэг. Илүү энгийнээр тайлбарлавал, люксметр нь мэдрэгч дээр тусаж буй гэрэл хэр тод байгааг хэмждэг гэж ойлгож болно. Зах зээл дээрх бэлэн люксметрүүд ойролцоогоор 15 ам.доллараас эхлээд хэдэн зуун ам.долларын үнэтэй байдаг ч өөрөө хийж бүтээх нь хямд төдийгүй илүү сонирхолтой байдаг.

Гэрэл мэдрэгч

Люксметрийн гэрэл мэдрэгч нь фотодиод, фототранзистор зэрэг хэд хэдэн төрлийн мэдрэгч байж болох ч ашиглахад хамгийн хялбар, мөн хамгийн түгээмэл олддог нь фоторезистор буюу гэрлээс хамааралтай эсэргүүцэл (LDR) юм. Нэрнээс нь харахад LDR-ийн эсэргүүцэл нь түүн дээр тусаж буй гэрлийн хэмжээнээс хамаарч өөрчлөгдөнө. Хэрэв та LDR-ийн эсэргүүцлийг хэмжиж чадвал, мөн тухайн LDR-ийн шинж чанарыг мэддэг бол, түүн дээр тусаж буй люксийн хэмжээг тодорхойлох боломжтой.

Ерөнхийдөө гэрэл ихсэх тусам эсэргүүцэл багасдаг. Гэвч харамсалтай нь LDR-ийн эсэргүүцэл ба люксийн хоорондын хамаарал нь шулуун (шугаман) биш юм. Харин энэ нь экспоненциал хамааралтай байдаг тул тооцоход арай төвөгтэй. Гэсэн хэдий ч бага зэрэг хугацаа зарцуулж, хэд хэдэн хэмжилт хийснээр эсэргүүцэл ба люксийн хоорондын математик хамаарлыг тодорхойлж, түүнийг микроконтроллерт програмчилснаар энгийн бөгөөд хангалттай үр ашигтай люксметр хийх боломжтой.

Төслийн зорилго

Энэ төслөөр би танд LDR-ийн шинж чанарыг тодорхойлох, гэрэлтэлтийг тооцоолох программ бичих, мөн LDR ба Arduino-д суурилсан люксметр бүтээх үйл явцыг шат дараатайгаар танилцуулах болно.

Шаардлагатай тоног төхөөрөмж

  • 1 ширхэг гэрлээс хамааралтай эсэргүүцэл (LDR) — яг аль загвар байх нь хамаагүй, бүр эд ангийн дугаарыг нь мэдэх шаардлагагүй

  • 5 кОм эсэргүүцэл

  • Arduino

  • 2×16 LCD дэлгэцтэй шилд (LCD shield)

  • Breadboard (туршилтын плат)

  • Дижитал мультиметр (DMM)

  • Бэлэн (арилжааны) люксметр — LDR-ийг шинжлэх, тохируулахад ашиглана




#include <Wire.h>

#define LDR_PIN 0
#define MAX_ADC_READING 1023
#define ADC_REF_VOLTAGE 5.0
#define REF_RESISTANCE 5030 // measure this for best results
#define LUX_CALC_SCALAR 12518931 // from experiment
#define LUX_CALC_EXPONENT -1.405 // from experiment


void setup(void) {
Serial.begin(9600);
Serial.println(F("Light Sensor Test")); Serial.println("");
}


void loop(void) {
int ldrRawData;
float resistorVoltage, ldrVoltage;
float ldrResistance;
float ldrLux;

ldrRawData = analogRead(LDR_PIN);
resistorVoltage = (float)ldrRawData / MAX_ADC_READING * ADC_REF_VOLTAGE;

// voltage across the LDR is the 5V supply minus the 5k resistor voltage
ldrVoltage = ADC_REF_VOLTAGE - resistorVoltage;

ldrResistance = ldrVoltage / resistorVoltage * REF_RESISTANCE;
ldrLux = LUX_CALC_SCALAR * pow(ldrResistance, LUX_CALC_EXPONENT);

Serial.print("LDR Raw Data : "); Serial.println(ldrRawData);
Serial.print("LDR Voltage : "); Serial.print(ldrVoltage); Serial.println(" volts");
Serial.print("LDR Resistance : "); Serial.print(ldrResistance); Serial.println(" Ohms");
Serial.print("LDR Illuminance: "); Serial.print(ldrLux); Serial.println(" lux");

delay(1000);
}

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");
}