সুচিপত্র:

রাস্পবেরি পাই HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রা সেন্সর জাভা টিউটোরিয়াল: 4 টি ধাপ
রাস্পবেরি পাই HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রা সেন্সর জাভা টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রা সেন্সর জাভা টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রা সেন্সর জাভা টিউটোরিয়াল: 4 টি ধাপ
ভিডিও: What is Stemma QT? #adafruit #stemma 2024, জুন
Anonim
Image
Image

HTS221 আপেক্ষিক আর্দ্রতা এবং তাপমাত্রার জন্য একটি অতি কম্প্যাক্ট ক্যাপাসিটিভ ডিজিটাল সেন্সর। ডিজিটাল সিরিয়াল ইন্টারফেসের মাধ্যমে পরিমাপের তথ্য প্রদানের জন্য এটি একটি সেন্সিং উপাদান এবং একটি মিশ্র সংকেত অ্যাপ্লিকেশন নির্দিষ্ট সমন্বিত সার্কিট (ASIC) অন্তর্ভুক্ত করে। এতগুলি বৈশিষ্ট্যগুলির সাথে একীভূত এটি সমালোচনামূলক আর্দ্রতা এবং তাপমাত্রা পরিমাপের জন্য সবচেয়ে উপযুক্ত সেন্সরগুলির মধ্যে একটি। এখানে রাস্পবেরি পাই ব্যবহার করে একটি জাভা কোড সহ বিক্ষোভ।

ধাপ 1: আপনার যা প্রয়োজন..

তুমি কি চাও..!!
তুমি কি চাও..!!

1. রাস্পবেরি পাই

2. HTS221

3. I²C কেবল

4. রাস্পবেরি পাই এর জন্য I²C শিল্ড

5. ইথারনেট কেবল

ধাপ 2: সংযোগ:

সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ

রাস্পবেরি পাই এর জন্য একটি I2C ieldাল নিন এবং রাস্পবেরি পাই এর জিপিও পিনের উপর আলতো করে চাপ দিন।

তারপর I2C তারের এক প্রান্তকে HTS221 সেন্সর এবং অন্য প্রান্তকে I2C ieldালের সাথে সংযুক্ত করুন।

এছাড়াও ইথারনেট কেবল কে পাই এর সাথে সংযুক্ত করুন অথবা আপনি একটি ওয়াইফাই মডিউল ব্যবহার করতে পারেন।

উপরের ছবিতে কানেকশন দেখানো হয়েছে।

ধাপ 3: কোড:

কোড
কোড

HTS221 এর জন্য পাইথন কোডটি আমাদের গিথুব রিপোজিটরি- Dcube স্টোর থেকে ডাউনলোড করা যাবে

এখানে একই জন্য লিঙ্ক:

github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java

আমরা জাভা কোডের জন্য pi4j লাইব্রেরি ব্যবহার করেছি, রাস্পবেরি পাইতে pi4j ইনস্টল করার ধাপগুলি এখানে বর্ণনা করা হয়েছে:

pi4j.com/install.html

আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:

// একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়।

// এটি যে কোন উপায়ে ব্যবহার করুন, মুনাফা বা বিনামূল্যে, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।

// HTS221

// এই কোডটি HTS221_I2CS I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে।

আমদানি com.pi4j.io.i2c. I2CBus;

com.pi4j.io.i2c. I2CDevice আমদানি করুন;

আমদানি com.pi4j.io.i2c. I2CFactory;

java.io. IOException আমদানি করুন;

public class HTS221 {public static void main (String args ) নিক্ষেপ ব্যতিক্রম

{

// I2CBus তৈরি করুন

I2CBus বাস = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C ডিভাইস পান, HTS221 I2C ঠিকানা হল 0x5F (95)

I2CDevice ডিভাইস = bus.getDevice (0x5F);

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

// তাপমাত্রা গড় নমুনা = 16, আর্দ্রতা গড় নমুনা = 32

device.write (0x10, (বাইট) 0x1B);

// নিয়ন্ত্রণ নিবন্ধন 1 নির্বাচন করুন

// পাওয়ার অন, ব্লক ডেটা আপডেট, ডাটা রেট o/p = 1 Hz

device.write (0x20, (বাইট) 0x85);

Thread.sleep (500);

// ডিভাইসের অ-উদ্বায়ী মেমরি থেকে ক্রমাঙ্কন মান পড়ুন

// আর্দ্রতা ক্রমাঙ্কন মান

বাইট ভাল = নতুন বাইট [2];

// 0x30 (48) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [0] = (বাইট) device.read (0x30);

// ঠিকানা 0x31 (49) থেকে 1 বাইট ডেটা পড়ুন

val [1] = (বাইট) device.read (0x31);

int H0 = (val [0] & 0xFF) / 2;

int H1 = (val [1] & 0xFF) / 2;

// ঠিকানা 0x36 (54) থেকে 1 বাইট ডেটা পড়ুন

val [0] = (বাইট) device.read (0x36);

// 0x37 (55) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [1] = (বাইট) device.read (0x37);

int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// 0x3A (58) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [0] = (বাইট) device.read (0x3A);

// 0x3B (59) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [1] = (বাইট) device.read (0x3B);

int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// তাপমাত্রা ক্রমাঙ্কন মান

// 0x32 (50) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

int T0 = ((বাইট) device.read (0x32) & 0xFF);

// 0x33 (51) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

int T1 = ((বাইট) device.read (0x33) & 0xFF);

// 0x35 (53) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

int raw = ((বাইট) device.read (0x35) & 0x0F);

// তাপমাত্রা ক্রমাঙ্কন মানগুলিকে 10-বিটে রূপান্তর করুন

T0 = ((কাঁচা এবং 0x03) * 256) + T0;

T1 = ((কাঁচা এবং 0x0C) * 64) + T1;

// 0x3C (60) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [0] = (বাইট) device.read (0x3C);

// 0x3D (61) ঠিকানা থেকে 1 বাইট ডেটা পড়ুন

val [1] = (বাইট) device.read (0x3D);

int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

// ঠিকানা 0x3E (62) থেকে 1 বাইট ডেটা পড়ুন

val [0] = (বাইট) device.read (0x3E);

// ঠিকানা 0x3F (63) থেকে 1 বাইট ডেটা পড়ুন

val [1] = (বাইট) device.read (0x3F);

int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);

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

// হাম এমএসবি, হাম এলএসবি, টেম্প এমএসবি, টেম্প এলএসবি

বাইট ডেটা = নতুন বাইট [4]; device.read (0x28 | 0x80, data, 0, 4);

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

int hum = ((data [1] & 0xFF) * 256) + (data [0] & 0xFF);

int temp = ((data [3] & 0xFF) * 256) + (data [2] & 0xFF);

যদি (temp> 32767)

{

টেম্প -= 65536;

}

দ্বিগুণ আর্দ্রতা = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);

ডবল cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);

ডবল fTemp = (cTemp * 1.8) + 32;

// স্ক্রিনে আউটপুট ডেটা

System.out.printf ("আপেক্ষিক আর্দ্রতা: %.2f %% RH %n", আর্দ্রতা);

System.out.printf ("সেলসিয়াস তাপমাত্রা: %.2f C %n", cTemp);

System.out.printf ("ফারেনহাইটে তাপমাত্রা: %.2f F %n", fTemp);

}

}

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

HTS221 বিভিন্ন ভোক্তা পণ্য যেমন এয়ার হিউমিডিফায়ার এবং রেফ্রিজারেটর ইত্যাদিতে নিযুক্ত করা যেতে পারে।

প্রস্তাবিত: