সুচিপত্র:

MCP9808 এবং Arduino Nano ব্যবহার করে তাপমাত্রা পর্যবেক্ষণ: 4 টি ধাপ
MCP9808 এবং Arduino Nano ব্যবহার করে তাপমাত্রা পর্যবেক্ষণ: 4 টি ধাপ

ভিডিও: MCP9808 এবং Arduino Nano ব্যবহার করে তাপমাত্রা পর্যবেক্ষণ: 4 টি ধাপ

ভিডিও: MCP9808 এবং Arduino Nano ব্যবহার করে তাপমাত্রা পর্যবেক্ষণ: 4 টি ধাপ
ভিডিও: Arduino Tutorial#26 । Non Contac Thermometer । Arduino । MLX90614 । I2C LCD Module । বাংলায় আরডুইনো 2024, নভেম্বর
Anonim
Image
Image

MCP9808 একটি অত্যন্ত নির্ভুল ডিজিটাল তাপমাত্রা সেন্সর ± 0.5 ° C I2C মিনি মডিউল। তারা ব্যবহারকারী-প্রোগ্রামযোগ্য রেজিস্টারগুলির সাথে মূর্ত হয় যা তাপমাত্রা সেন্সিং অ্যাপ্লিকেশনগুলিকে সহজ করে। এমসিপি 9808 উচ্চ-নির্ভুলতা তাপমাত্রা সেন্সর ফর্ম ফ্যাক্টর এবং বুদ্ধিমত্তার ক্ষেত্রে একটি শিল্পের মান হয়ে উঠেছে, যা ডিজিটাল, আই 2 সি ফর্ম্যাটে ক্যালিব্রেটেড, লিনিয়ারাইজড সেন্সর সংকেত সরবরাহ করে।

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

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

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

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

1. MCP9808

2. Arduino Nano

3. I2C কেবল

4. Arduino ন্যানোর জন্য I2C শিল্ড

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

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

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

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

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

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

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

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

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

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

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

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

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

// MCP9808 I2C ঠিকানা হল 0x18 (24)

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

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

{

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

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

Wire.write (0x00);

Wire.write (0x00);

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

Wire.endTransmission ();

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

Wire.beginTransmission (Addr);

// রেজোলিউশন রেজিস্টার নির্বাচন করুন

Wire.write (0x08);

// রেজোলিউশন = +0.0625 / সি

Wire.write (0x03);

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

Wire.endTransmission ();

}

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

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x05);

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

Wire.endTransmission ();

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

Wire.requestFrom (Addr, 2);

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

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

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

{

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

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

}

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

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

যদি (temp> 4095)

{

টেম্প -= 8192;

}

ফ্লোট cTemp = temp * 0.0625;

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

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

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

Serial.println (cTemp);

Serial.println ("C");

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

Serial.println (fTemp);

Serial.println ("F");

বিলম্ব (500);

}

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

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

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

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

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

MCP9808 ডিজিটাল টেম্পারেচার সেন্সরের বেশ কিছু শিল্প স্তরের অ্যাপ্লিকেশন রয়েছে যা বিভিন্ন ফুড প্রসেসরের সাথে ইন্ডাস্ট্রিয়াল ফ্রিজার এবং রেফ্রিজারেটর অন্তর্ভুক্ত করে। এই সেন্সরটি বিভিন্ন ব্যক্তিগত কম্পিউটার, সার্ভার এবং অন্যান্য পিসি পেরিফেরালগুলির জন্য নিযুক্ত করা যেতে পারে।

প্রস্তাবিত: