সুচিপত্র:
ভিডিও: Arduino Nano - HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রা সেন্সর টিউটোরিয়াল: 4 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:59
HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়াল ইন্টারফেসের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে। এতগুলি বৈশিষ্ট্যগুলির সাথে একীভূত এটি সমালোচনামূলক আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য সবচেয়ে উপযুক্ত সেন্সরগুলির মধ্যে একটি। এখানে arduino ন্যানো সঙ্গে বিক্ষোভ।
ধাপ 1: আপনার যা প্রয়োজন..
1. আরডুইনো ন্যানো
2. HTS221
3. I²C কেবল
4. Arduino Nano এর জন্য I²C শিল্ড
ধাপ 2: সংযোগ:
আরডুইনো ন্যানোর জন্য একটি I2C ieldাল নিন এবং আলতো করে ন্যানোর পিনের উপরে চাপ দিন।
তারপর I2C তারের এক প্রান্তকে HTS221 সেন্সর এবং অন্য প্রান্তকে I2C ieldালের সাথে সংযুক্ত করুন।
উপরের ছবিতে কানেকশন দেখানো হয়েছে।
ধাপ 3: কোড:
HTS221 এর জন্য arduino কোডটি আমাদের github repository- DCUBE কমিউনিটি থেকে ডাউনলোড করা যাবে।
এখানে একই জন্য লিঙ্ক:
github.com/DcubeTechVentures/HTS221/blob/master/Arduino/HTS221.ino
Arduino বোর্ডের সাথে সেন্সরের I2c যোগাযোগের সুবিধার্থে আমরা লাইব্রেরি Wire.h অন্তর্ভুক্ত করি।
আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:
// একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়।
// এটি যে কোন উপায়ে ব্যবহার করুন, মুনাফা বা বিনামূল্যে, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।
// HTS221
// এই কোডটি HTS221_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে
#অন্তর্ভুক্ত
// 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);
}
ধাপ 4: অ্যাপ্লিকেশন:
HTS221 বিভিন্ন ভোক্তা পণ্য যেমন এয়ার হিউমিডিফায়ার এবং রেফ্রিজারেটর ইত্যাদিতে নিযুক্ত করা যেতে পারে।
প্রস্তাবিত:
রাস্পবেরি পাই SHT25 আর্দ্রতা এবং তাপমাত্রা সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ
রাস্পবেরি পাই SHT25 আর্দ্রতা এবং তাপমাত্রা সেন্সর পাইথন টিউটোরিয়াল: SHT25 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর ± 1.8%RH ± 0.2 ° C I2C মিনি মডিউল। SHT25 উচ্চ নির্ভুলতা আর্দ্রতা এবং তাপমাত্রা সেন্সর ফর্ম ফ্যাক্টর এবং বুদ্ধিমত্তার দিক থেকে একটি শিল্পের মান হয়ে উঠেছে, যা ক্যালিব্রেটেড, লিনিয়ারাইজড সেন্সর সাইন প্রদান করে
রাস্পবেরি পাই - HIH6130 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর পাইথন টিউটোরিয়াল: 4 টি ধাপ
রাস্পবেরি পাই - HIH6130 I2C আর্দ্রতা এবং তাপমাত্রা সেন্সর পাইথন টিউটোরিয়াল: HIH6130 ডিজিটাল আউটপুট সহ আর্দ্রতা এবং তাপমাত্রা সেন্সর। এই সেন্সরগুলি ± 4% RH এর নির্ভুলতা স্তর প্রদান করে। শিল্প-নেতৃস্থানীয় দীর্ঘমেয়াদী স্থিতিশীলতা, প্রকৃত তাপমাত্রা-ক্ষতিপূরণযুক্ত ডিজিটাল I2C, শিল্প-নেতৃস্থানীয় নির্ভরযোগ্যতা, শক্তি দক্ষতা
ESP8266 NodeMCU অ্যাক্সেস পয়েন্ট (AP) ওয়েব সার্ভারের জন্য DT11 তাপমাত্রা সেন্সর এবং মুদ্রণ তাপমাত্রা এবং ব্রাউজারে আর্দ্রতা সহ: 5 টি পদক্ষেপ
ওয়েব সার্ভারের জন্য ESP8266 NodeMCU অ্যাক্সেস পয়েন্ট (AP) DT11 তাপমাত্রা সেন্সর এবং মুদ্রণ তাপমাত্রা এবং ব্রাউজারে আর্দ্রতা: হাই বন্ধুরা আমরা বেশিরভাগ প্রকল্পে ESP8266 ব্যবহার করি এবং বেশিরভাগ প্রকল্পে আমরা ESP8266 ব্যবহার করি একটি ওয়েব সার্ভার হিসাবে যাতে ডেটা অ্যাক্সেস করা যায় ESP8266 দ্বারা হোস্ট করা ওয়েবসাইট সার্ভার অ্যাক্সেস করে ওয়াইফাই এর উপর যেকোনো ডিভাইস কিন্তু একমাত্র সমস্যা হল আমাদের জন্য একটি ওয়ার্কিং রাউটার দরকার
Arduino এবং মুদ্রণ তাপমাত্রা তাপ এবং আর্দ্রতা সঙ্গে DHT11 তাপমাত্রা সেন্সর কিভাবে ব্যবহার করবেন: 5 পদক্ষেপ
Arduino এবং মুদ্রণ তাপমাত্রা তাপ এবং আর্দ্রতার সাথে DHT11 তাপমাত্রা সেন্সর কিভাবে ব্যবহার করবেন: তাপমাত্রা এবং আর্দ্রতা পরিমাপ করতে DHT11 সেন্সর ব্যবহার করা হয়। তারা খুব জনপ্রিয় ইলেকট্রনিক্স শখ করে। এটি প্রতি
তাপমাত্রা, আপেক্ষিক আর্দ্রতা, বায়ুমণ্ডলীয় চাপ লগার রাস্পবেরি পাই এবং টিই সংযোগ MS8607-02BA01 ব্যবহার করে: 22 ধাপ (ছবি সহ)
তাপমাত্রা, আপেক্ষিক আর্দ্রতা, বায়ুমণ্ডলীয় চাপের লগার রাস্পবেরি পাই এবং টিই কানেক্টিভিটি ব্যবহার করে MS8607-02BA01: ভূমিকা: এই প্রকল্পে আমি আপনাকে দেখাব কিভাবে তাপমাত্রা আর্দ্রতা এবং বায়ুমণ্ডলীয় চাপের জন্য একটি লগিং সিস্টেম ধাপে সেটআপ তৈরি করতে হয়। এই প্রকল্পটি রাস্পবেরি পাই 3 মডেল বি এবং টিই কানেক্টিভিটি পরিবেশ সেন্সর চিপ MS8607-02BA- এর উপর ভিত্তি করে তৈরি করা হয়েছে।