সুচিপত্র:

MCP9803 এবং কণা ফোটন ব্যবহার করে তাপমাত্রা পরিমাপ: 4 টি ধাপ
MCP9803 এবং কণা ফোটন ব্যবহার করে তাপমাত্রা পরিমাপ: 4 টি ধাপ
Anonim
Image
Image

MCP9803 একটি 2-তারের উচ্চ নির্ভুলতা তাপমাত্রা সেন্সর। তারা ব্যবহারকারী-প্রোগ্রামযোগ্য রেজিস্টারগুলির সাথে মূর্ত হয় যা তাপমাত্রা সেন্সিং অ্যাপ্লিকেশনগুলিকে সহজ করে। এই সেন্সরটি অত্যন্ত পরিশীলিত মাল্টি-জোন তাপমাত্রা পর্যবেক্ষণ ব্যবস্থার জন্য উপযুক্ত।

এই টিউটোরিয়ালে MCP9803 সেন্সর মডিউলের পার্টিকেল ফোটনের ইন্টারফেসিং চিত্রিত করা হয়েছে। তাপমাত্রা মান পড়ার জন্য, আমরা একটি I2c অ্যাডাপ্টারের সাথে কণা ব্যবহার করেছি এই I2C অ্যাডাপ্টার সেন্সর মডিউলের সাথে সংযোগ সহজ এবং আরো নির্ভরযোগ্য করে তোলে।

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

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

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

1. এমসিপি 9803

2. কণা ফোটন

3. I2C কেবল

4. কণা ফোটনের জন্য I2C শিল্ড

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

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

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

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

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

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

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

ধাপ 3: তাপমাত্রা পরিমাপের জন্য কোড:

তাপমাত্রা পরিমাপের জন্য কোড
তাপমাত্রা পরিমাপের জন্য কোড

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

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

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

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

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

// MCP9803 I2C ঠিকানা হল 0x48 (72)

#সংজ্ঞায়িত Addr 0x48

ফ্লোট cTemp = 0, fTemp = 0;

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

{

// পরিবর্তনশীল সেট করুন

Particle.variable ("i2cdevice", "MCP9803");

Particle.variable ("cTemp", cTemp);

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// ক্রমাগত রূপান্তর মোড, পাওয়ার-আপ ডিফল্ট

Wire.write (0x60);

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

Wire.endTransmission ();

বিলম্ব (300);

}

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

{

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

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

Wire.beginTransmission (Addr);

// ডাটা রেজিস্টার নির্বাচন করুন

Wire.write (0x00);

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

Wire.endTransmission ();

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

Wire.requestFrom (Addr, 2);

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

// temp msb, temp lsb

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

{

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

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

}

// ডেটাকে 12-বিটে রূপান্তর করুন

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

যদি (temp> 2047)

{

টেম্প -= 4096;

}

cTemp = temp * 0.0625;

fTemp = cTemp * 1.8 + 32;

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

Particle.publish ("সেলসিয়াস তাপমাত্রা:", স্ট্রিং (cTemp));

Particle.publish ("ফারেনহাইট তাপমাত্রা:", স্ট্রিং (fTemp));

বিলম্ব (500);

}

Particle.variable () ফাংশন সেন্সরের আউটপুট সংরক্ষণ করার জন্য ভেরিয়েবল তৈরি করে এবং Particle.publish () ফাংশন সাইটের ড্যাশবোর্ডে আউটপুট প্রদর্শন করে।

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

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

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

MCP9803 ব্যবহার করা যেতে পারে ডিভাইসের বিস্তৃত ক্ষেত্রে যার মধ্যে রয়েছে ব্যক্তিগত কম্পিউটার এবং পেরিফেরাল, হার্ডডিস্ক ড্রাইভ, বিভিন্ন বিনোদন ব্যবস্থা, অফিস সিস্টেম এবং ডেটা কমিউনিকেশন সিস্টেম। এই সেন্সরটি বিভিন্ন অত্যাধুনিক সিস্টেমে অন্তর্ভুক্ত করা যেতে পারে।

প্রস্তাবিত: