![HTS221 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ HTS221 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ](https://i.howwhatproduce.com/images/010/image-27336-j.webp)
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36
![Image Image](https://i.howwhatproduce.com/images/010/image-27336-2-j.webp)
![](https://i.ytimg.com/vi/BmBnq9eYrTs/hqdefault.jpg)
HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়াল ইন্টারফেসের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে। এতগুলি বৈশিষ্ট্যগুলির সাথে একীভূত এটি সমালোচনামূলক আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য সবচেয়ে উপযুক্ত সেন্সরগুলির মধ্যে একটি।
এই টিউটোরিয়ালে Arduino ন্যানো সহ HTS221 সেন্সর মডিউলের ইন্টারফেসিং চিত্রিত করা হয়েছে। আর্দ্রতা এবং তাপমাত্রার মান পড়ার জন্য, আমরা একটি I2c অ্যাডাপ্টারের সাথে arduino ব্যবহার করেছি এই I2C অ্যাডাপ্টার সেন্সর মডিউলের সাথে সংযোগ সহজ এবং আরো নির্ভরযোগ্য করে তোলে।
পদক্ষেপ 1: হার্ডওয়্যার প্রয়োজন:
![হার্ডওয়্যার প্রয়োজন হার্ডওয়্যার প্রয়োজন](https://i.howwhatproduce.com/images/010/image-27336-3-j.webp)
![হার্ডওয়্যার প্রয়োজন হার্ডওয়্যার প্রয়োজন](https://i.howwhatproduce.com/images/010/image-27336-4-j.webp)
![হার্ডওয়্যার প্রয়োজন হার্ডওয়্যার প্রয়োজন](https://i.howwhatproduce.com/images/010/image-27336-5-j.webp)
আমাদের লক্ষ্য পূরণের জন্য আমাদের যে উপকরণগুলির প্রয়োজন তা নিম্নলিখিত হার্ডওয়্যার উপাদানগুলি অন্তর্ভুক্ত করে:
1. HTS221
2. Arduino Nano
3. I2C কেবল
4. Arduino Nano এর জন্য I2C শিল্ড
পদক্ষেপ 2: হার্ডওয়্যার সংযুক্তি:
![হার্ডওয়্যার সংযুক্তি হার্ডওয়্যার সংযুক্তি](https://i.howwhatproduce.com/images/010/image-27336-6-j.webp)
![হার্ডওয়্যার সংযুক্তি হার্ডওয়্যার সংযুক্তি](https://i.howwhatproduce.com/images/010/image-27336-7-j.webp)
হার্ডওয়্যার হুকআপ বিভাগটি মূলত সেন্সর এবং আরডুইনো ন্যানোর মধ্যে প্রয়োজনীয় তারের সংযোগ ব্যাখ্যা করে। কাঙ্ক্ষিত আউটপুটের জন্য যে কোনো সিস্টেমে কাজ করার সময় সঠিক সংযোগ নিশ্চিত করা মৌলিক প্রয়োজনীয়তা। সুতরাং, প্রয়োজনীয় সংযোগগুলি নিম্নরূপ:
HTS221 I2C এর উপর কাজ করবে। সেন্সরের প্রতিটি ইন্টারফেসকে কিভাবে ওয়্যার আপ করতে হয় তা দেখানো হচ্ছে ওয়্যারিং ডায়াগ্রামের উদাহরণ।
বাক্সের বাইরে, বোর্ডটি একটি I2C ইন্টারফেসের জন্য কনফিগার করা হয়েছে, যেমন আপনি অন্যথায় অজ্ঞেয়বাদী হলে আমরা এই হুকআপটি ব্যবহার করার পরামর্শ দিই।
আপনার প্রয়োজন শুধু চারটি তারের! VCC, Gnd, SCL এবং SDA পিনের জন্য মাত্র চারটি সংযোগ প্রয়োজন এবং এগুলি I2C তারের সাহায্যে সংযুক্ত।
এই সংযোগগুলি উপরের ছবিতে প্রদর্শিত হয়েছে।
ধাপ 3: আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য কোড:
![আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য কোড আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য কোড](https://i.howwhatproduce.com/images/010/image-27336-8-j.webp)
এখন Arduino কোড দিয়ে শুরু করা যাক।
Arduino এর সাথে সেন্সর মডিউল ব্যবহার করার সময়, আমরা Wire.h লাইব্রেরি অন্তর্ভুক্ত করি। "ওয়্যার" লাইব্রেরিতে ফাংশন রয়েছে যা সেন্সর এবং আরডুইনো বোর্ডের মধ্যে i2c যোগাযোগ সহজ করে।
ব্যবহারকারীর সুবিধার জন্য পুরো Arduino কোড নিচে দেওয়া হল:
#অন্তর্ভুক্ত
// HTS221 I2C ঠিকানা হল 0x5F
#সংযোজনকারী 0x5F
অকার্যকর সেটআপ()
{
// মাস্টার হিসাবে I2C যোগাযোগ শুরু করুন
Wire.begin ();
// সিরিয়াল যোগাযোগ শুরু করুন, বড রেট = 9600 সেট করুন
Serial.begin (9600);
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// গড় কনফিগারেশন রেজিস্টার নির্বাচন করুন
Wire.write (0x10);
// তাপমাত্রার গড় নমুনা = 256, আর্দ্রতার গড় নমুনা = 512
Wire.write (0x1B);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// নিয়ন্ত্রণ নিবন্ধন 1 নির্বাচন করুন
Wire.write (0x20);
// পাওয়ার অন, ক্রমাগত আপডেট, ডেটা আউটপুট হার = 1 Hz
Wire.write (0x85);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
বিলম্ব (300);
}
অকার্যকর লুপ ()
{
স্বাক্ষরবিহীন int ডেটা [2];
স্বাক্ষরবিহীন int val [4];
স্বাক্ষরবিহীন int H0, H1, H2, H3, T0, T1, T2, T3, কাঁচা;
// আর্দ্রতা calliberation মান
জন্য (int i = 0; i <2; i ++)
{
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write ((48 + i));
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
ডেটা = ওয়্যার.রেড ();
}
}
// আর্দ্রতা ডেটা রূপান্তর করুন
H0 = ডেটা [0] / 2;
H1 = ডেটা [1] / 2;
জন্য (int i = 0; i <2; i ++)
{
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write ((54 + i));
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
ডেটা = ওয়্যার.রেড ();
}
}
// আর্দ্রতা ডেটা রূপান্তর করুন
H2 = (data [1] * 256.0) + data [0];
জন্য (int i = 0; i <2; i ++)
{
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write ((58 + i));
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
ডেটা = ওয়্যার.রেড ();
}
}
// আর্দ্রতা ডেটা রূপান্তর করুন
H3 = (data [1] * 256.0) + data [0];
// তাপমাত্রা calliberation মান
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write (0x32);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
T0 = Wire.read ();
}
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write (0x33);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
T1 = Wire.read ();
}
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write (0x35);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
কাঁচা = Wire.read ();
}
কাঁচা = কাঁচা এবং 0x0F;
// তাপমাত্রা কলিবেরেশন মানগুলিকে 10-বিটে রূপান্তর করুন
T0 = ((কাঁচা এবং 0x03) * 256) + T0;
T1 = ((কাঁচা এবং 0x0C) * 64) + T1;
জন্য (int i = 0; i <2; i ++)
{
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write ((60 + i));
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
ডেটা = ওয়্যার.রেড ();
}
}
// তথ্য রূপান্তর
T2 = (data [1] * 256.0) + data [0];
জন্য (int i = 0; i <2; i ++)
{
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write ((62 + i));
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 1 বাইট ডেটা অনুরোধ করুন
Wire.requestFrom (Addr, 1);
// 1 বাইট ডেটা পড়ুন
যদি (Wire.available () == 1)
{
ডেটা = ওয়্যার.রেড ();
}
}
// তথ্য রূপান্তর
T3 = (data [1] * 256.0) + data [0];
// I2C ট্রান্সমিশন শুরু করুন
Wire.beginTransmission (Addr);
// ডেটা রেজিস্টার পাঠান
Wire.write (0x28 | 0x80);
// I2C ট্রান্সমিশন বন্ধ করুন
Wire.endTransmission ();
// 4 বাইট ডেটার অনুরোধ করুন
Wire.requestFrom (Addr, 4);
// 4 বাইট ডেটা পড়ুন
// আর্দ্রতা msb, আর্দ্রতা lsb, temp msb, temp lsb
যদি (Wire.available () == 4)
{
val [0] = Wire.read ();
val [1] = Wire.read ();
val [2] = Wire.read ();
val [3] = Wire.read ();
}
// তথ্য রূপান্তর
ভাসমান আর্দ্রতা = (val [1] * 256.0) + val [0];
আর্দ্রতা = ((1.0 * H1) - (1.0 * H0)) * (1.0 * আর্দ্রতা - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
int temp = (val [3] * 256) + val [2];
ফ্লোট cTemp = (((T1 - T0) / 8.0) * (temp - T2)) / (T3 - T2) + (T0 / 8.0);
ফ্লোট fTemp = (cTemp * 1.8) + 32;
// সিরিয়াল মনিটরে আউটপুট ডেটা
সিরিয়াল.প্রিন্ট ("আপেক্ষিক আর্দ্রতা:");
সিরিয়াল.প্রিন্ট (আর্দ্রতা);
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: অ্যাপ্লিকেশন:
![অ্যাপ্লিকেশন অ্যাপ্লিকেশন](https://i.howwhatproduce.com/images/010/image-27336-9-j.webp)
HTS221 বিভিন্ন ভোক্তা পণ্য যেমন এয়ার হিউমিডিফায়ার এবং রেফ্রিজারেটর ইত্যাদিতে নিযুক্ত করা যেতে পারে।
প্রস্তাবিত:
DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: 4 টি ধাপ
![DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: 4 টি ধাপ DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: 4 টি ধাপ](https://i.howwhatproduce.com/images/006/image-15095-j.webp)
DHT11 / DHT22 এবং Arduino ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করুন: এই Arduino টিউটোরিয়ালে আমরা শিখব কিভাবে Arduino বোর্ডের সাথে তাপমাত্রা এবং আর্দ্রতা পরিমাপের জন্য DHT11 বা DHT22 সেন্সর ব্যবহার করতে হয়
আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং Arduino Nano ব্যবহার করে: 4 টি ধাপ
![আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং Arduino Nano ব্যবহার করে: 4 টি ধাপ আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং Arduino Nano ব্যবহার করে: 4 টি ধাপ](https://i.howwhatproduce.com/images/010/image-27334-j.webp)
HIH6130 এবং Arduino Nano ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HTS221 এবং রাস্পবেরি পাই ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ
![HTS221 এবং রাস্পবেরি পাই ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ HTS221 এবং রাস্পবেরি পাই ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ](https://i.howwhatproduce.com/images/002/image-3228-22-j.webp)
HTS221 এবং রাস্পবেরি পাই ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়ালের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে
আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং রাস্পবেরি পাই ব্যবহার করে: 4 টি ধাপ
![আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং রাস্পবেরি পাই ব্যবহার করে: 4 টি ধাপ আর্দ্রতা এবং তাপমাত্রা পরিমাপ HIH6130 এবং রাস্পবেরি পাই ব্যবহার করে: 4 টি ধাপ](https://i.howwhatproduce.com/images/002/image-3257-42-j.webp)
HIH6130 এবং রাস্পবেরি পাই ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ
![HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: 4 টি ধাপ](https://i.howwhatproduce.com/images/002/image-3265-45-j.webp)
HTS221 এবং কণা ফোটন ব্যবহার করে আর্দ্রতা এবং তাপমাত্রা পরিমাপ: HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়ালের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে