সুচিপত্র:

HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ
HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ

ভিডিও: HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ

ভিডিও: HDC1000 এবং Arduino Nano ব্যবহার করে তাপমাত্রা এবং আর্দ্রতার পরিমাপ: 4 টি ধাপ
ভিডিও: HUARONG HDC1000 Двухкомпонентное литье стекла заднего фонаря 2024, জুলাই
Anonim
Image
Image

HDC1000 হল একটি ডিজিটাল আর্দ্রতা সেন্সর সহ সমন্বিত তাপমাত্রা সেন্সর যা খুব কম শক্তিতে চমৎকার পরিমাপ নির্ভুলতা প্রদান করে। ডিভাইসটি একটি নতুন ক্যাপাসিটিভ সেন্সরের উপর ভিত্তি করে আর্দ্রতা পরিমাপ করে। আর্দ্রতা এবং তাপমাত্রা সেন্সর কারখানার ক্রমাঙ্কিত হয়। এটি সম্পূর্ণ -40 ° C থেকে +125 ° C তাপমাত্রার পরিসরের মধ্যে কার্যকরী।

এই টিউটোরিয়ালে আরডুইনো ন্যানো সহ HDC1000 সেন্সর মডিউলের ইন্টারফেসিং চিত্রিত করা হয়েছে। তাপমাত্রা এবং আর্দ্রতার মান পড়ার জন্য, আমরা একটি I2c অ্যাডাপ্টারের সাথে arduino ব্যবহার করেছি।

পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:

হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন
হার্ডওয়্যার প্রয়োজন

আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:

1. HDC1000

2. Arduino Nano

3. I2C কেবল

4. Arduino Nano এর জন্য I2C শিল্ড

পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:

হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি
হার্ডওয়্যার সংযুক্তি

হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং আরডুইনো ন্যানোর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:

HDC1000 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।

বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই।

আপনার প্রয়োজন শুধু চারটি তারের! VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।

এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।

ধাপ 3: তাপমাত্রা এবং আর্দ্রতা পরিমাপের জন্য কোড:

তাপমাত্রা এবং আর্দ্রতা পরিমাপের জন্য কোড
তাপমাত্রা এবং আর্দ্রতা পরিমাপের জন্য কোড

এখন আরডুইনো কোড দিয়ে শুরু করা যাক।

Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা Wire.h লাইব্রেরি অন্তর্ভুক্ত করি। "ওয়্যার" লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং আরডুইনো বোর্ডের মধ্যে i2c যোগাযোগকে সহজতর করে।

ব্যবহারকারীর সুবিধার জন্য সম্পূর্ণ আরডুইনো কোড নিচে দেওয়া হল:

#অন্তর্ভুক্ত

// HDC1000 I2C ঠিকানা হল 0x40 (64)

#সংযোজনকারী 0x40

অকার্যকর সেটআপ()

{

// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন

Wire.begin ();

// সিরিয়াল যোগাযোগ শুরু করুন, বড রেট = 9600 সেট করুন

Serial.begin (9600);

// I2C যোগাযোগ শুরু করে

Wire.beginTransmission (Addr);

// কনফিগারেশন রেজিস্টার নির্বাচন করুন

Wire.write (0x02);

// তাপমাত্রা, আর্দ্রতা সক্ষম, সমাধান = 14-বিট, হিটার চালু

Wire.write (0x30);

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

বিলম্ব (300);

}

অকার্যকর লুপ ()

{

স্বাক্ষরবিহীন int ডেটা [2];

// I2C যোগাযোগ শুরু করে

Wire.beginTransmission (Addr);

// তাপমাত্রা পরিমাপ কমান্ড পাঠান

Wire.write (0x00);

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

বিলম্ব (500);

// 2 বাইট ডেটার অনুরোধ করুন

Wire.requestFrom (Addr, 2);

// 2 বাইট ডেটা পড়ুন

// temp msb, temp lsb

যদি (Wire.available () == 2)

{

ডেটা [0] = ওয়্যার.রেড ();

ডেটা [1] = ওয়্যার.রেড ();

}

// তথ্য রূপান্তর

int temp = (data [0] * 256) + data [1];

ভাসা cTemp = (temp / 65536.0) * 165.0 - 40;

ফ্লোট fTemp = cTemp * 1.8 + 32;

// I2C যোগাযোগ শুরু করে

Wire.beginTransmission (Addr);

// আর্দ্রতা পরিমাপ কমান্ড পাঠান

Wire.write (0x01);

// I2C ট্রান্সমিশন বন্ধ করুন

Wire.endTransmission ();

বিলম্ব (500);

// 2 বাইট ডেটার অনুরোধ করুন

Wire.requestFrom (Addr, 2);

// 2 বাইট ডেটা পড়ুন

// আর্দ্রতা এমএসবি, আর্দ্রতা এলএসবি

যদি (Wire.available () == 2)

{

ডেটা [0] = ওয়্যার.রেড ();

ডেটা [1] = ওয়্যার.রেড ();

}

// তথ্য রূপান্তর

ভাসমান আর্দ্রতা = (ডেটা [0] * 256) + ডেটা [1];

আর্দ্রতা = (আর্দ্রতা / 65536.0) * 100.0;

// সিরিয়াল মনিটরে আউটপুট ডেটা

সিরিয়াল.প্রিন্ট ("আপেক্ষিক আর্দ্রতা:");

সিরিয়াল.প্রিন্ট (আর্দ্রতা);

Serial.println (" %RH");

সিরিয়াল.প্রিন্ট ("সেলসিয়াস তাপমাত্রা:");

Serial.print (cTemp);

Serial.println ("C");

সিরিয়াল.প্রিন্ট ("ফারেনহাইটে তাপমাত্রা:");

Serial.print (fTemp);

Serial.println ("F");

বিলম্ব (500);

}

ওয়্যার লাইব্রেরিতে Wire.write () এবং Wire.read () কমান্ড লিখতে এবং সেন্সর আউটপুট পড়তে ব্যবহৃত হয়।

Serial.print () এবং Serial.println () Arduino IDE এর সিরিয়াল মনিটরে সেন্সরের আউটপুট প্রদর্শন করতে ব্যবহৃত হয়।

সেন্সরের আউটপুট উপরের ছবিতে দেখানো হয়েছে।

ধাপ 4: অ্যাপ্লিকেশন:

অ্যাপ্লিকেশন
অ্যাপ্লিকেশন

HDC1000 হিটিং, বায়ুচলাচল এবং এয়ার কন্ডিশনার (HVAC), স্মার্ট থার্মোস্ট্যাট এবং রুম মনিটরগুলিতে নিযুক্ত করা যেতে পারে। এই সেন্সরটি প্রিন্টার, হ্যান্ডহেল্ড মিটার, মেডিকেল ডিভাইস, কার্গো শিপিং এবং অটোমোটিভ উইন্ডশিল্ড ডিফোগ -এও এর প্রয়োগ খুঁজে পায়।

প্রস্তাবিত: