সুচিপত্র:

একটি Arduino সঙ্গে একটি DS18B20 এর ক্রমিক সংখ্যা পান: 5 পদক্ষেপ
একটি Arduino সঙ্গে একটি DS18B20 এর ক্রমিক সংখ্যা পান: 5 পদক্ষেপ

ভিডিও: একটি Arduino সঙ্গে একটি DS18B20 এর ক্রমিক সংখ্যা পান: 5 পদক্ষেপ

ভিডিও: একটি Arduino সঙ্গে একটি DS18B20 এর ক্রমিক সংখ্যা পান: 5 পদক্ষেপ
ভিডিও: INTEGRATION OF SENSOR AND ACTUATORS WITH ARDUINO-I 2024, ডিসেম্বর
Anonim
একটি Arduino দিয়ে একটি DS18B20 এর ক্রমিক সংখ্যা পান
একটি Arduino দিয়ে একটি DS18B20 এর ক্রমিক সংখ্যা পান

আপনার DS18B20 1-ওয়্যার টেম্পারেচার সেন্সরের পৃথক সিরিয়াল নম্বর পেতে কিভাবে এটি একটি দ্রুত নির্দেশিকা।

এটি এমন প্রকল্পগুলির জন্য সুবিধাজনক যার জন্য একাধিক সেন্সর প্রয়োজন।

আপনার যা প্রয়োজন:

  • Arduino 5v (UNO, Mega, Pro Mini ইত্যাদি) - Arduino UNO R3 - AliExpress - eBay
  • টেম্প সেন্সর DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w প্রতিরোধক THT - AliExpress - eBay
  • ব্রেডবোর্ড - AliExpress - ইবে
  • জাম্পার তার - পুরুষ থেকে পুরুষ - AliExpress - ইবে
  • Arduino IDE সহ একটি কম্পিউটার ইনস্টল করা আছে

ধাপ 1: Arduino IDE তে প্রয়োজনীয় লাইব্রেরি যুক্ত করুন

Arduino IDE তে প্রয়োজনীয় লাইব্রেরি যোগ করুন
Arduino IDE তে প্রয়োজনীয় লাইব্রেরি যোগ করুন
  1. Arduino IDE খুলুন (আমি 1.8.1 ব্যবহার করছি)
  2. "স্কেচ" -> "লাইব্রেরি অন্তর্ভুক্ত করুন" -> "লাইব্রেরি পরিচালনা করুন …" ক্লিক করুন
  3. অনুসন্ধান বার নির্বাচন করুন এবং "ডালাস" টাইপ করুন
  4. "ডালাস তাপমাত্রা" ক্লিক করুন এবং "ইনস্টল করুন" ক্লিক করুন

বিকল্পভাবে আপনি এখান থেকে লাইব্রেরি ডাউনলোড করতে পারেন:

এই লাইব্রেরিতে অন ওয়্যার লাইব্রেরি অন্তর্ভুক্ত রয়েছে।

ধাপ 2: DS18B20 ওয়্যার আপ করুন

DS18B20 ওয়্যার আপ
DS18B20 ওয়্যার আপ
DS18B20 ওয়্যার আপ
DS18B20 ওয়্যার আপ

একটি ব্রেড বোর্ড সংযোগ ব্যবহার করে +5V, GND এবং ডিজিটাল পিন 2 (পিন 2 ইতিমধ্যে উদাহরণ স্কেচে সেট করা আছে) Arduino থেকে পুরুষ থেকে পুরুষ রুটিবোর্ড জাম্পার ব্যবহার করে।

DS18B20 ব্রেডবোর্ডে 3x টার্মিনাল স্ট্রিপের সমান্তরালভাবে সংযুক্ত করুন।

  • পিন 1 (GND) -> GND (গ্রাউন্ড 0V)
  • পিন 2 (ডেটা) -> ডিজিটাল পিন 2
  • পিন 3 (Vdd) -> +5V

নরমাল পাওয়ার মোডের জন্য 4.7K রেসিস্টারকে +5V থেকে ডিজিটাল পিন 2 তারের সাথে রুটিবোর্ডে সংযুক্ত করুন।

নিম্নলিখিত লিঙ্কটি DS18B20 1-তারের তাপমাত্রা সেন্সরের জন্য একটি দুর্দান্ত সম্পদ।

www.tweaking4all.com/hardware/arduino/ardu…

ধাপ 3: উদাহরণ স্কেচ "একক" লোড করুন

উদাহরণ স্কেচ লোড করুন
উদাহরণ স্কেচ লোড করুন
উদাহরণ স্কেচ লোড করুন
উদাহরণ স্কেচ লোড করুন

একবার আপনি তারটি আপ হয়ে গেলে আপনি ডালাস তাপমাত্রা "একক" স্কেচ ওপেন আরডুইনো আইডিই লোড করতে প্রস্তুত (আমি 1.8.1 ব্যবহার করছি) "ফাইল" -> "উদাহরণ" -> "ডালাস তাপমাত্রা" -> "একক" আমি যোগ করেছি বিলম্ব (5000); সিরিয়াল নম্বর অনুলিপি করার জন্য আমাকে সময় দিতে 103 লাইনে আপনার উপযুক্ত বোর্ড ফর্ম "সরঞ্জাম" -> "বোর্ড" নির্বাচন করুন আপনার উপযুক্ত পোর্ট "সরঞ্জাম" নির্বাচন করুন -> "পোর্ট" এখন "আপলোড করুন" স্কেচ "স্কেচ" -> "আপলোড করুন" "টুলস" -> "সিরিয়াল মনিটর" এ ক্লিক করুন নিশ্চিত করুন যে বড রেট মেলে আমার সাথে 9600 যদি আপনি স্কেচ আপলোড না করেন তবে আপনার বোর্ড, পোর্ট, ইউএসবি ড্রাইভার ইত্যাদি পরীক্ষা করুন

ধাপ 4: সিরিয়াল নম্বরটি অনুলিপি করুন

সিরিয়াল নম্বর কপি করুন
সিরিয়াল নম্বর কপি করুন
সিরিয়াল নম্বর কপি করুন
সিরিয়াল নম্বর কপি করুন

"সিরিয়াল মনিটর" থেকে আপনি চতুর্থ লাইনটি দেখতে পাবেন "ডিভাইস 0 ঠিকানা: xxxxxxxxxxxxxxxxxx"

এটি DS18B20 এর ক্রমিক সংখ্যা

যদি এটি "000000000000000000" হয় তবে আপনার DS18B20 পড়ার ক্ষেত্রে একটি সমস্যা আছে।

আপনার মাউস দিয়ে এটি হাইলাইট করুন এবং আপনার কীবোর্ডে CTRL+C টিপুন তারপর এটিকে নোটপ্যাডে পাস করুন

আমার অন্যান্য প্রকল্পের জন্য আমার কোড এই সংখ্যাগুলির একটি অ্যারে ব্যবহার করে। আমি নিম্নলিখিত বিন্যাসে HEX স্ট্রিং পুনরায় ফর্ম্যাট করেছি।

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x98, 0x98, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xF6, 0x66, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0x28, 0xED, 0x7, 0f,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

ধাপ 5: সমাপ্ত

সমাপ্ত
সমাপ্ত

এখন আপনি আপনার কোডে প্রতিটি পৃথক DS18B20 1-তারের তাপমাত্রা সেন্সর চিহ্নিত করতে পারেন এবং এর মতো একটি ফাংশন ব্যবহার করতে পারেন:

ফ্লোট getTemperature (বাইট জে) {

sensors.requestTempemetersByAddress (tempSensorSerial [j]);

float tempC = sensors.getTempC (tempSensorSerial [j]);

ফিরে tempC;

}

প্রস্তাবিত: