সুচিপত্র:

Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন: 3 টি ধাপ (ছবি সহ)
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন: 3 টি ধাপ (ছবি সহ)

ভিডিও: Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন: 3 টি ধাপ (ছবি সহ)

ভিডিও: Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন: 3 টি ধাপ (ছবি সহ)
ভিডিও: FLProg10: DS18B20 তাপমাত্রা সেন্সর | ESP32 NodeMCU | Arduino ভিজ্যুয়াল এমবেডেড প্রোগ্রামিং 2024, নভেম্বর
Anonim
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন
Arduino UNO এর সাথে DS18B20 সেন্সরের ক্রমাঙ্কন

দাবী:

ছবিগুলিতে আপনি যে ডিভাইসটি দেখছেন তা অন্য একটি প্রকল্পে থার্মোস্ট্যাট হিসেবে ফিল্ম ডেভেলপিং প্রক্রিয়ার জন্য ব্যবহৃত হয়। আপনি সেই প্রকল্পটি এখানে খুঁজে পেতে পারেন। একটি সেন্সর, বা একাধিক ক্যালিব্রেট করার জন্য, আপনি এই প্রকল্পে যা পাবেন, তার চেয়ে বেশি কিছু নয়, এবং এটি বেশ মৌলিকও! চলো যাই!

ধাপ 1: আপনার ডিভাইস প্রস্তুত করুন

আপনার ডিভাইস প্রস্তুত করুন
আপনার ডিভাইস প্রস্তুত করুন

আপনার যা প্রয়োজন তার একটি তালিকা এখানে দেওয়া হল:

  1. আরডুইনো ইউএনও (বা মেগা)
  2. DS18B20 সেন্সর (গুলি)
  3. 4kOhm - 5kOhm প্রতিরোধের (আমি 5k1Ohm ব্যবহার করেছি)
  4. মান পড়ার জন্য LCD স্ক্রিন (আপনি একটি ল্যাপটপও ব্যবহার করতে পারেন এবং সেগুলো সিরিয়াল মনিটরে পড়তে পারেন)
  5. একটি স্কেচ যা সেন্সর ব্যবহার করে এবং একরকম মান দেখায়

প্রথমে আপনাকে আপনার মডিউল এবং সেন্সরকে আপনার নিয়ামকের সাথে সংযুক্ত করতে হবে। আমি LCD এর জটিল অংশটি আপনার জন্য ওয়েবে অনুসন্ধান করার জন্য ছেড়ে দেব, এবং আমি আপনাকে সেন্সর কিভাবে সংযুক্ত করতে হয় তা বলব।

সাধারণত সেই সেন্সর তিনটি রঙের তারের সাথে আসে: কালো, লাল, হলুদ। প্রথম দুটি শক্তির জন্য এবং তৃতীয়টি ডেটার জন্য। কালোকে GNN, লাল থেকে Vcc (5V) এবং হলুদকে একটি এনালগ ইনপুটে সংযুক্ত করুন, আসুন A0 বলি।

এখন সংযোগগুলি সম্পূর্ণ করতে হলুদ এবং লাল এর মধ্যে প্রতিরোধের সংযোগ করুন।

LCD প্লাগ করুন

এখন স্কেচ যা অতি সহজ:

#OneWire.h অন্তর্ভুক্ত করুন

#"DallasTemperature.h" অন্তর্ভুক্ত করুন #ON_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); ডালাস তাপমাত্রা সেন্সর 1 (এবং আমাদের ওয়্যার 1); #অন্তর্ভুক্ত "LiquidCrystal_I2C.h"

LiquidCrystal_I2C lcd (0x27, 16, 2); ভাসা RawValue = 0;

অকার্যকর সেটআপ () {lcd.init (); lcd.backlight (); সেন্সর 1. শুরু (); sensor1.setResolution (11); } অকার্যকর লুপ () {sensor1.requestTempemeters (); Float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens। 1"); lcd.print (RawValue, 1); }

আপনি দেখতে পাচ্ছেন আমরা ডালাস তাপমাত্রা লাইব্রেরি এবং i2c সংযোগ সহ একটি LCD স্ক্রিন ব্যবহার করি।

সেটআপটিতে আমরা LCD এবং সেন্সরকে ইনজিয়েট করি এবং লুপে আমরা কেবল তাপমাত্রার অনুরোধ করি এবং LV তে দেখানোর জন্য ভ্যারিয়েবল RawValue এর ভিতরে মান সংরক্ষণ করি।

আপনি যদি এটিকে আরও সহজ রাখতে চান তবে কেবল নিম্নলিখিত স্কেচ সহ সিরিয়াল মনিটরটি ব্যবহার করুন

#অন্তর্ভুক্ত "Wire.h" #অন্তর্ভুক্ত "OneWire.h" #অন্তর্ভুক্ত "DallasTemperature.h" #সংজ্ঞায়িত ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); ডালাস তাপমাত্রা সেন্সর 1 (এবং আমাদের ওয়্যার 1);

ভাসা RawValue = 0;

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

বিলম্ব (1000); Serial.begin (9600); সেন্সর 1. শুরু (); sensor1.setResolution (11);

}

অকার্যকর লুপ () {sensor1.requestTempemeters (); Float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens। 1"); Serial.println (RawValue, 1); }

এখন সেন্সরকে ক্যালিব্রেট করতে প্রকল্পের মূল অংশে আমাকে অনুসরণ করুন।

ধাপ 2: দুই পয়েন্ট ক্রমাঙ্কন

দুই পয়েন্ট ক্রমাঙ্কন
দুই পয়েন্ট ক্রমাঙ্কন
দুই পয়েন্ট ক্রমাঙ্কন
দুই পয়েন্ট ক্রমাঙ্কন
দুই পয়েন্ট ক্রমাঙ্কন
দুই পয়েন্ট ক্রমাঙ্কন

প্রথমে কিছু জানার আছে

একটি থার্মো-সেন্সর ক্যালিব্রেট করার জন্য, আপনাকে এমন কিছু পরিমাপ করতে হবে যার মধ্যে আপনি তাপমাত্রা জানেন। বাড়িতে এটি করার সহজ উপায় হল ফুটন্ত পানি এবং গলানো বরফের স্নান, যাকে "ট্রিপল-পয়েন্ট" স্নানও বলা হয়। সেসব ক্ষেত্রে আমরা জানি যে জল সমুদ্রপৃষ্ঠে 100 ডিগ্রি সেলসিয়াসে ফুটতে থাকে। মনে রাখবেন যে একটি সুনির্দিষ্ট পরিমাপ করতে আপনার উচ্চতা জানা উচিত এবং সেখানে সঠিক ফুটন্ত তাপমাত্রা গণনা করা উচিত।

আপনি এখানে চেক করতে পারেন!

সৎ হওয়ার জন্য আপনার বায়ুমণ্ডলীয় চাপ পরীক্ষা করা উচিত এবং উচ্চতা নয়। কিন্তু সেই উপায় যথেষ্ট সঠিক।

ট্রিপল-পয়েন্ট স্নান, বা বরফ স্নান, সেই তাপমাত্রা যেখানে তিনটি রাজ্যে কঠিন, তরল এবং গ্যাস থাকে, সেই তাপমাত্রা 0, 01 ° C। আমরা 0 ° C সরলীকরণের জন্য ব্যবহার করব।

সেন্সর যে মানটি পড়ে এবং যে মানটি হওয়া উচিত তা জেনে, আমরা DS18B20 এর কাঁচা মানকে আরও সঠিক কিছুতে পরিবর্তন করতে পারি।

দ্রষ্টব্য: আপনি সেন্সরকে ক্যালিব্রেট করার জন্য আরও তাপমাত্রা ব্যবহার করতে পারেন, এটি অন্য কোন পদার্থের মধ্যে রেখে আপনি ইথার (35 ° C), পেন্টেন (36, 1 ° C), এসিটোন (56 ° C) বা ইথানল (78, 37 ডিগ্রি সেলসিয়াস), কিন্তু সেই ফুটন্ত পদার্থগুলি উচ্চ জ্বলনযোগ্য গ্যাস তৈরি করে! তাই এটা করবেন না!

ফুটানো পানি:

একটি পাত্রের মধ্যে কিছু জল রাখুন এবং এটি গরম না হওয়া পর্যন্ত গরম করুন (গ্যাসের বুদবুদগুলি বিকশিত হচ্ছে এবং জল নিজেই উত্তেজিত হচ্ছে)। আপনার সেন্সর নিমজ্জিত করুন যেখানে এটি জল ছাড়া অন্য কিছু স্পর্শ করে না। কয়েক মিনিট অপেক্ষা করুন এবং এলসিডি বা সিরিয়াল মনিটরটি পড়ুন।

তাপমাত্রা কমপক্ষে এক মিনিটের জন্য একই থাকা উচিত। যদি তা হয় তবে সেই মানটি লিখুন। যে আপনার: RawHigh মান।

ট্রিপল-পয়েন্ট স্নান:

এখন একটি বড় গ্লাস নিন (আপনার বিশাল বা পাত্রের প্রয়োজন নেই) এবং এটি বরফের কিউব দিয়ে সীমান্তে পূরণ করুন। ছোট আকারের বরফ কিউব ব্যবহার করার চেষ্টা করুন। এখন cold০% গ্লাস ঠান্ডা পানি দিয়ে ভরে দিন। যদি লিভার নিচে যাওয়ার চেষ্টা করে তবে বরফ দিয়ে পুনরায় পূরণ করুন।

এখন আপনার সেন্সরটি পানির/বরফের ভিতরে রাখুন এবং দেড় মিনিট অপেক্ষা করুন। তাপমাত্রা পড়ুন যা অন্তত 30 সেকেন্ডের জন্য একই থাকা উচিত। যদি তা হয় তবে এটি লিখুন, এটি আপনার RawLow মান।

ধাপ 3: সঠিক পথে আপনি যে মূল্যগুলি পান তা ব্যবহার করুন

সুতরাং, এখন আপনি কিছু গুরুত্বপূর্ণ মান পেয়েছেন:

  • RawHigh
  • RawLow
  • রেফারেন্স হাই
  • রেফারেন্স

রেফারেন্স মান স্পষ্টভাবে ফুটন্ত জলের জন্য 99.9 ° C (আমার 22 মিটার উচ্চতায়), এবং বরফ গলানোর জন্য 0 ° C। এখন সেই মানগুলির রেঞ্জ গণনা করুন:

  • RawRange = RawHigh - RawLow
  • ReferenceRange = ReferenceHigh - ReferenceLow

এখন আপনি এই সেন্সরটি অন্য কোন প্রজেক্টে ব্যবহার করতে প্রস্তুত, নিশ্চিত যে এটি আপনাকে সঠিক পরিমাপ দেবে। কিভাবে? প্রকল্পটিতে আপনি যে মান পেয়েছেন তা ব্যবহার করে আপনি সেই সেন্সর দিয়ে তৈরি করবেন।

আপনার ভবিষ্যতের প্রকল্পে আপনাকে এই মানগুলি পড়তে হবে এবং আমি এখানে ব্যবহার করা একই নাম ব্যবহার করে এটি করার পরামর্শ দিচ্ছি।

অকার্যকর সেটআপ () বিভাগের আগে ভেরিয়েবলগুলি এইভাবে ঘোষণা করুন:

float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

যতবার আপনি সেন্সর ব্যবহার করবেন ততবার, আপনি সংশোধিত মূল্য গণনা করতে নিম্নলিখিত সূত্রটি ব্যবহার করতে পারেন:

float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue স্পষ্টতই সেন্সরের পড়া।

এটাই!

এখন আপনি জানেন কিভাবে আপনার DS18B20 সেন্সর বা অন্য কোন সেন্সর যা আপনি ব্যবহার করবেন তা ক্যালিব্রেট করতে হয়! আনন্দ কর!

প্রস্তাবিত: