তাপমাত্রা ও আর্দ্রতামাপক যন্ত্র।

বায়ুমন্ডলের তাপমাত্রা এবং আর্দ্রতা মাপা বিভিন্ন কাজেই আমাদের প্রয়োজন পড়ে। যেমন ওয়েদার স্টেশনে আবহাওয়ার রিপোর্ট তৈরী, এসির তাপমাত্রা কন্ট্রোল করা, গ্রীনহাউজ তৈরি, ফ্রিজ তৈরী, ইনকিউবেটরে উপযুক্ত তাপমাত্রা ও আর্দ্রতা বজায় রাখা ইত্যাদি আরও অনেক গুরুত্বপুর্ণ  কাজ।

এই এক্সপেরিমেন্টে আমরা আরডুইনো উনো দিয়ে তাপমাত্রা ও আর্দ্রতামাপক যন্ত্র তৈরী করব। এই কাজটি করতে আমরা আরডুইনোর সাথে ব্যবহার করব DHT22 temperature and Humidity sensor.  সেন্সর দিয়ে পরিমাপকৃত তাপমাত্রা একটি এলসিডিতে দেখানো হবে।

প্রজেক্টটি করতে নিচের যন্ত্রপাতিগুলো প্রয়োজন ।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ
Arduino UNO R3 1
DHT22 temperature and humidity sensor 1
16×2 LCD with header 1
Varible resistor 103 1
Male to male jumpers 12
Male to female jumpers 3
Breadboard 1

 

সার্কিটঃ

আরডুইনো উনো এবং সেন্সরের মধ্যে নিচের কানেকশনটি সম্পন্ন করি।

Arduino UNO Grove temperature & humidity sensor
Digital 8 DOUT
VCC VCC
GND GND

 

আরডুইনো উনো এবং এলসিডির মধ্যে নিম্নোক্ত কানেকশন সম্পন্ন করি।

Arduino UNO LCD
VCC VDD,A
GND VSS,K,RW
11 E
12 RS
5 D4
4 D5
3 D6
2 D7

 

এলসিডির V0 পিনে ভ্যারিয়েবল পটের তিন নং পিনকে সংযুক্ত করি। পটের অপর দুই পিন VCC ও GND এর সাথে সংযুক্ত করি। আমাদের সার্কিট তৈরি।

পাওয়ার দেবার পর ডিসপ্লেতে তাপমাত্রা ও আর্দ্রতা দেখা যাবে।

কোডঃ

প্রথমে এই লিংক থেকে Grove temperature & humidity sensor এর লাইব্রেরি ডাউনলোড করতে হবে এবং ইন্সটল করতে হবে। তারপর আরডুইনোতে নিচের কোডটি আরডুইনোতে আপলোড করলেই তৈরী হয়ে যাবে আমাদের তাপমাত্রা এবং আর্দ্রতামাপক যন্ত্র। এলসিডিতে ঘরের তাপমাত্রা ও আর্দ্রতা দেখা যাবে, আরডুইনোর সিরিয়াল মনিটরেও দেখা যাবে। কানেকশনে কোনো সমস্যা হলে সেটাও এলসিডিতে দেখা যাবে।

//Temperature and humidity meter
#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 8    // what pin we're connected to
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

DHT dht(DHTPIN, DHT22);

void setup() 
{
    lcd.begin(16, 2); 
    delay(2000);
}

void loop() 
{
  switch(dht.read())
  {
    case DHT_OK:
      
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Humidity:");
      lcd.print(dht.humidity);
      lcd.print("%");
      lcd.setCursor(0,1);
      lcd.print("Temp:");
      lcd.print(dht.temperature);
      lcd.print((char)223);
      lcd.print("C");
      break;
    case DHT_ERR_CHECK:
        
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Please connect"); 
        lcd.setCursor(0,1);
        lcd.print("DOUT pin");
        break;
    case DHT_ERR_TIMEOUT:
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Timout error");
        break;
    default:
        
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("Please check"); 
        lcd.setCursor(0,1);
        lcd.print("sensor's wires");
        break;
    }
    delay(2000);
}



Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.