جدول المحتويات:

احصل على الرقم التسلسلي DS18B20 مع Arduino: 5 خطوات
احصل على الرقم التسلسلي DS18B20 مع Arduino: 5 خطوات

فيديو: احصل على الرقم التسلسلي DS18B20 مع Arduino: 5 خطوات

فيديو: احصل على الرقم التسلسلي DS18B20 مع Arduino: 5 خطوات
فيديو: تحميل Arduino IDE واضافة مكتبة لأردوينو Installing Arduino Uno software and download arduino Library 2024, شهر نوفمبر
Anonim
احصل على الرقم التسلسلي DS18B20 باستخدام Arduino
احصل على الرقم التسلسلي DS18B20 باستخدام Arduino

هذا دليل سريع حول كيفية الحصول على الأرقام التسلسلية الفردية لأجهزة استشعار درجة الحرارة DS18B20 ذات السلك الواحد.

هذا مفيد للمشاريع التي تتطلب أجهزة استشعار متعددة.

أشياء تحتاجها:

  • Arduino 5v (UNO ، Mega ، Pro Mini ، إلخ) - Arduino UNO R3 - AliExpress
  • مستشعر درجة الحرارة DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w المقاوم THT - AliExpress - eBay
  • اللوح - AliExpress - eBay
  • أسلاك توصيل معزز - ذكر لذكر - AliExpress - eBay
  • جهاز كمبيوتر مثبت عليه Arduino IDE

الخطوة 1: أضف المكتبة المطلوبة إلى Arduino IDE

أضف المكتبة المطلوبة إلى Arduino IDE
أضف المكتبة المطلوبة إلى Arduino IDE
  1. افتح Arduino IDE (أنا أستخدم 1.8.1)
  2. انقر فوق "رسم" -> "تضمين مكتبة" -> "إدارة المكتبات …"
  3. حدد شريط البحث واكتب "دالاس"
  4. انقر على "DallasTemperature" وانقر على "تثبيت"

أو يمكنك تنزيل المكتبة من هنا:

تتضمن هذه المكتبة مكتبة OnWire.

الخطوة 2: ارفع توصيل DS18B20

ارفع سلك DS18B20
ارفع سلك DS18B20
ارفع سلك DS18B20
ارفع سلك DS18B20

باستخدام لوحة الخبز ، قم بتوصيل + 5V و GND و Digital Pin 2 (تم تعيين Pin 2 بالفعل في مثال الرسم التخطيطي) من Arduino باستخدام وصلات توصيل من Male إلى Male.

قم بتوصيل DS18B20 بالتوازي مع الشرائط الطرفية 3x على لوح التجارب.

  • السن 1 (GND) -> GND (الأرض 0 فولت)
  • الدبوس 2 (البيانات) -> الدبوس الرقمي 2
  • دبوس 3 (Vdd) -> + 5V

بالنسبة لوضع الطاقة العادي ، قم بتوصيل المقاوم 4.7K من + 5V إلى سلك Digital Pin 2 على اللوح.

يعتبر الرابط التالي مصدرًا رائعًا لجهاز استشعار درجة الحرارة DS18B20 أحادي السلك.

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

الخطوة 3: تحميل مثال الرسم التخطيطي "مفرد"

قم بتحميل مثال الرسم
قم بتحميل مثال الرسم
قم بتحميل مثال الرسم
قم بتحميل مثال الرسم

بمجرد الانتهاء من توصيله ، تكون جاهزًا لتحميل درجة حرارة دالاس "مفرد" SketchOpen Arduino IDE (أنا أستخدم 1.8.1) انقر فوق "ملف" -> "أمثلة" -> "درجة حرارة دالاس" -> "فردي" أضفته تأخير (5000) ؛ في السطر 103 لإعطائي الوقت لنسخ الرقم التسلسلي حدد نموذج اللوحة المناسب "أدوات" -> "لوحة" حدد المنفذ المناسب "أدوات" -> "منفذ" الآن "تحميل" الرسم التخطيطي "رسم" -> "تحميل" انقر فوق "أدوات" -> "Serial Monitor" تأكد من أن معدلات البث بالباود المطابقة لي هي 9600 إذا لم يتم تحميل الرسم ، فتحقق من اللوحة ، المنفذ ، برامج تشغيل USB وما إلى ذلك.

الخطوة 4: انسخ الرقم التسلسلي

انسخ الرقم التسلسلي
انسخ الرقم التسلسلي
انسخ الرقم التسلسلي
انسخ الرقم التسلسلي

من "Serial Monitor" سترى السطر الرابع هو "عنوان الجهاز 0: xxxxxxxxxxxxxxxx"

هذا هو الرقم التسلسلي DS18B20

إذا كان "0000000000000000" ، فهناك مشكلة في قراءة 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 ، 0x70 ، 0x17 ، 0x04 ، 0xD3} ، {0x28 ، 0xFF ، 0x86 ، 0xA8 ، 0x70 ، 0x17 ، 0x04 ، 0xA6} ، {0x28 ، 0xFF ، 0x2B ، 0x65 ، 0x71 ، 0x17 ، 0x04 ، 0x76} ، {0x28 ، 0xFF ، 0x66 ، 0x62 ، 0x71 ، 0x17 ، 0x04 ، 0xF5} ، {0x28 ، 0xFF ، 0xD9 ، 0x9B ، 0x70 ، 0x17 ، 0x04 ، 0x9C} ، {0x28 ، 0xFF ، 0x98 ، 0x6A ، 0x71 ، 0x17 ، 0x04 ، 0xED} ، {0x28 ، 0xFF ، 0x99 ، 0x42 ، 0x71 ، 0x17 ، 0x04 ، 0x4C}} ؛

الخطوة 5: انتهى

تم الانتهاء من
تم الانتهاء من

يمكنك الآن تحديد كل مستشعر درجة حرارة أحادي السلك DS18B20 في الكود الخاص بك واستخدام وظيفة مثل هذه:

تعويم getTemperature (بايت j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j]) ؛

تعويم tempC = sensors.getTempC (tempSensorSerial [j]) ؛

عودة tempC ؛

}

موصى به: