تصویر شاخص سنسور DS18b20

آشنایی با سنسور DS18b20

کاور درونی سنسور DS18b20

مقدمه

سلام، همین اول کار بهتره بگیم سنسور DS18b20 سنسور دما هست.

همونطور که میدونید یکی از پرکاربردترین سنسورهایی که در اطراف ما استفاده می شه، سنسور دماست.

سنسور های دمای متنوعی در بازار وجود دارد. یکی از این سنسورها که دقت نسبتا بالایی داره، سنسور DS18b20 هست. در این آموزش با ناین سنسور آشنا میشید.

آنچه در این آموزش یاد می گیرید

  • سنسور DS1bB20 جیست؟
  • معرفی انواع مختلف این سنسور
  • راه اندازی سنسور DS18b20 با آردوینو

سنسور DS18b20 چیست؟

سنسور DS18b20  یک سنسور دما با قابلیت اندازه گیری در بازه 55- تا 125+ درجه سانتی گراد و با دقت 0.5 درجه سانتی گراد هست.

دقت خروجی این سنسور از 9 تا 12 بیته که به صورت پیش فرض روی 12 بیت تنظیم شده.

پروتکل ارتباطی این سنسور تک سیمه (One Wire) هست و شما تنها با اتصال یک سیم به پردازندتون، قادر به اندازه گیری دمای محیط هستید.

برای آشنایی بیشتر با این سنسور دما بهتره یه نگاهی به دیتاشیتش بندازید.

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

مدل های مختلف سنسور DS18b20

این سنسور دما در شکل های مختلفی در بازار به فروش میرسه. از خود آی سی گرفته تا به صورت ماژولی و ضد آب. شکل های زیر برخی از انواع این سنسوره که در بازار ایران هم موجوده.

آیسی سنسور DS18b20
سنسور DS18b20 ضد آب
ماژول سنسور DS18b20

پایه بندی سنسور

پایه بندی سنسور DS18b20

این سنسور دارای 3 پایس(البته به جز آی سی SMD):

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

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

راه این سنسور با آردوینو خیلی خیلی سادس و مثل خیلی از پروژه های آردوینویی کار ا کتابخونه انجام میشه.

اول باید کتابخونه های مورد نیاز سنسور رو نصب کنید. برای این کار از منوی Sketch به بخش Include Library برید و Manage Libraries را انتخاب کنید. در پنجره ی باز شده، 2 کتابخونه ی زیر را نصب کنید. (کتابخونه های DallasTemperature و OneWire)

نصب کتابخانه های سنسور DS18b20 مرحله اول
نصب کتابخانه های سنسور DS18b20 مرحله دوم

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

سیم بندی

سیم بندی سنسور DS18b20

ماژول های DS18b20 معمولا خودشون پایه ی خروجی سنسور رو پول آپ کردن (پایه خروجی سنسور رو با یک مقاومت به تغذیه وصل کردن). اگر از این ماژول ها استفاده می کنید، نیاز نیست خودتون پایه ی خروجی رو مجدد پول آپ کنید.

کد

کد زیر رو روی آردوینو خود آپلود کنید. این کد خروجی سنسور دما رو می خونه و اونو در پنجره ی سریال نشون میده.

اینم از خروجی کار:

خروجی کد آردوینو کار با سنسور DS18b20

توضیح بخش های مختلف کد

در ابتدای کد، کتابخونه های مورد نیاز رو به کد اضافه میشن.

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

اینجا یک شئ از کلاس OneWire و یک شئ از کلاس DallasTemperature می سازید. (اینجا جای توضیح نیست که شئ و کلاس چیه، ولی اگه با مفهموم شئ و کلاس آشنا نیستین، نگران نباشین، فقط این دو خط رو در کدتون قرار بدین)

در بخش setup ارتباط سریال و سنسور دما را را اندازی می کنیم. (با استفاده از تابع begin)

در بخش loop مقدار سنسور را میخونید و اونو در متغیر temp میریزید. بعد این متغیر را روی پنجره ی سریال چاپ می کنید.

دستور sensors.requestTemperatures() به تمام سنسورهایی که خروجی آن ها به پایه 2 وصل شده است فرمان می دهد که مقدار دما را برای ارسال آماده کنند.

با استفاده از دستور getTempCByIndex(0) مقدار سنسور شماره 0 (اولین سنسوری که به پایه 2 متصل است) را می خونید. اگر تعداد سنسورهای بیشتری داشتین، باید با تغییر 0، مقدار تک تک اونارو بخونین.

اگر سنسور به درستی به آردوینو وصل نشده باشد یا هر مشکلی در خواندن مقدار سنسور پیش بیاید، مقدار temp به صورت DEVICE_DISCONNECTED_C می شه. در این حالت در پنجره ی سریال عبارت “Error to reading data” نمایش داده می شه.
دیدید! کار با سنسور Ds18b20 خیلی آسونه!

نتیجه گیری

از امروز ببعد به راحتی می تونید از سنسور DS18b20 توی پروژه هاتون استفاد کنید، سنجش دما خیلی وقتا توی خیلی از پروژه ها ضروریه.

برای تمرین بیشتر سعی کنید دمای اتاقتون رو روی نمایشگر نشون بدید. (برای راهنمایی این آموزش رو بخونید)

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *