آموزش راه اندازی ماژول سنسور دما DS18B20 با آردوینو

فهرست مطالب

ویژگی های سنسور دما DS18B20

DS18B20 یک سنسور دما با قابلیت اندازه گیری در بازه -55°C تا +125°C و با دقت 0.5 درجه سانتی گراد است. دقت خروجی این سنسور از 9 تا 12 بیت قابل تنظیم است. این دقت به صورت پیش فرض روی 12 بیت تنظیم شده است.
پروتکل ارتباطی سنسور DS18B20 تک سیمه (1-Wire) است و شما تنها با اتصال یک سیم به آردوینو، قادر به اندازه گیری دمای محیط هستید.

راه اندازی این ماژول کاملا شبیه به قطعه ی سنسور دمای DS18B20 هست. با این تفاوت که پایه های قطعه ی سنسور بیرون کشیده شده است.

نکته
یکی از بزرگترین مزیت های این سنسور، وجود پروتکل ارتباطی تک سیمه است. در این پروتکل هر سنسور دارای یک کد 64 بیتی یکتا است. با استفاده از این قابلیت، شما قادر خواهید بود تا خروجی چندین سنسور DS18B20 را به صورت مشترک به یک پایه آردوینو (یا دیگر پردازنده ها) وصل کنید.

دیتاشیت سنسور دمای DS18B20 را می توانید از اینجا دانلود کنید.

معرفی پایه ها (Pinout) ماژول سنسور دمای DS18B20

سنسور DS18B20 دارای 3 پایه به شرح زیر است:

  • VCC: تغذیه ماژول – 3 تا 5 ولت
  • GND: زمین
  • DQ: خروجی سنسور

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول دماسنج دیجیتال DS18B20 × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی سنسور دما DS18B20 با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، سنسور را به آردوینو وصل کنید. خروجی سنسور را می توانید به هر یک از پایه های ADC آردوینو وصل کنید.

گام دوم: نصب کتابخانه

به Library manager رفته و کتابخانه ی سنسور دما DS18B20 را نصب کنید.
توجه

اگر برای نصب کتابخانه نیاز به راهنمایی بیشتر دارید، به اینجا مراجعه کنید.

 

علاوه بر کتابخانه ی سنسور، نیاز به کتابخانه ی OneWire هم دارید. اگر از نسخه های جدید نرم افزار Arduino IDE استفاده می کنید، پس از نصب کتابخانه ی DS18B20، به صورت خودکار پیشنهاد نصب کتابخانه ی OneWire به شما داده می شود، در غیر این صورت خودتان این کتابخانه را نصب کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید. این کد دمای خوانده شده را در پنجره ی سریال نمایش می دهد.
/*
  DS18B20 Temperature Sensor
  modified on 08 Sep 2020
  by Mohammad Reza Akbari @ Electropeak
  
Home
*/ #include <OneWire.h> #include <DallasTemperature.h> // Connect Sensor output to pin2 #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); /* The setup function. We only start the sensors here */ void setup(void) { Serial.begin(9600); sensors.begin(); } void loop(void) { sensors.requestTemperatures(); // Send the command to get temperatures float temp = sensors.getTempCByIndex(0); // Check if reading was successful if (temp != DEVICE_DISCONNECTED_C) { Serial.print("Temperature of Sensor 0 is: "); Serial.println(temp); } else { Serial.println("Error to reading data"); } }
خروجی کد به شکل زیر است.

آموزش های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.