آموزش راه اندازی ds18b20 با آردوینو – سنسور دما

سلام ، در این جلسه قراره آموزش راه اندازی ds18b20 با آردوینو رو در کنار هم یادبگیریم.

معرفی سنسور ds18b20

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

این سنسور رنج اندازه گیری 9 تا 12 بیتی داره که میتونیم اون رو در برنامه نویسیمون مشخص کنیم(یعنی قابل تنظیمه).

درسته که این سنسور رنج اندازی گیریش 55- تا 125+ هستش ولی بخاطر ساختاری که داره در دمای رنج 10- درجه تا 85+ فقط میتونه دقت نیم درجه یا بخوام دقیق تر بگم 0.625 درجه ای رو به ما میده و در دمای بالاتر و پایین از 10- درجه تا 85+ دقت اون به مقدار 2 درجه میرسه که در کارهای صنعتی ای که دقت بالا احتیاج ندارن کار آمده.

شکل پایه ها :

این آی سی 2نوع پکیج برای حالت SMD هم داره که شکل پایه هارو در زیر میبینید. توجه کنید که اگر قسمت قوسدار سنسور به سمت شما باشه پایه ها از چپ به راست نامگذاری میشن.

پایه های سنسور DS18B20البته یک سری از این سنسور ها با کابل ضد آب هستن که تفاوتی ایجاد نمیکنه و این 3تا پایه توسط کابل به آردوینو وصل میشت و  تا فاصله 20 متری میشه بین سنسور و آردوینو فاصله ایجاد کرد.

از مشخصات دیگه ی این سنسور دما بخوام بگم میشه به موارد زیر اشاره کرد:

1- هر سنسور ds18b20 یک کد 64 بیتی یکتا داره که باعث میشه اگر بخوایم چند تا از اون هارو همزمان راه اندازی کنیم به مشکل برنخوریم. این کد 64 بیتی هم در یک حافظه ROM در خود سنسور قرار داده شده.

2- ولتاژ مورد نیاز برای راه اندازی ds18b20 با آردوینو یا میکروکنترلر ها 3 تا 5V هستش.

اگر میخواین بیشتر با سنسور ds18b20 آشنا بشین دیتاشیت اون رو دانلود کنین.

دیتاشیت ds18b20

دانلود دیتاشیت ds18b20 

 

راه اندازی ds18b20 با آردوینو

پروژه یک :

برای اینکه آموزش سبک استاندارد خودش رو داشته باشه اول اون رو مشابه آموزش سایت اصلی آردوینو راه اندازی میکنیم و بعد میریم سراغ آموزش های بعدی.این آموزش به زبون انگلیسی در لینک زیر موجوده : Temperature Sensor [DS18B20]

برای راه اندازی ds18b20 با آردوینو ما فقط به یک مقاومت 4.7 کیلو نیاز داریم که پایه ی دیتا رو پول آپ کنیم. پس طبق شکل زیر اون رو به آردوینو وصل کنیم:

 

آموزش راه اندازی ds18b20 با آردوینو - سنسور دما

کتابخونه ی OneWire رو در این پروژه نیاز داریم که میتونین از لینک دانلود سبز رنگ زیر دانلود کنین یا ب وبسایت github برین و از لینک زیر دانلودش کنین : oneWire in Github

و همچنین کتابخونه ی DallasTemperature رو: DallasTemperature

 

دانلود کتابخانه OneWire 

دانلود کتابخانه ی DallasTemperature

کتابخونه رو که دانلود کردین روی مسیر زیر کلیک کنین و در پنجره ای که باز میشه فایل زیپ دانلود شده رو انتخاب کنین تا کتابخونه به نرم افزار معرفی بشه.

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

کد پروژه :

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

در ابتدا کتابخونه ها صدا زده شدن و بعد کلاس ONE_WIRE_BUS رو تعریف کردیم و برابر با 2 قرار داده شده ، یعنی سنسور رو به پایه  ی دیجیتال شماره 2 وصل میکنیم.

در ادامه مطابق زیر پروتکل onewire یا یک سیمه رو به آردوینو گفتیم راه اندازی کنه تا بتونیم انتقال دیتا بدیم :

در void setup هم دستور شروع ارتباط سریال و یک سیم رو با دستور begin انجام دادیم .

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

در خط بعد ، عبارت “DONE” بر روی پنجره چاپ میشه و به معنای “انجام شدن درخواست ارسال داده به سنسور” هستش.

تا اینجا ما به سنسور گفتیم که دما رو برای ما ارسال کنه ، حالا دمای ارسال شده رو چطوری نمایش میدیم ؟ با تابع sensors.getTempCByIndex(0) . این تابع مقدار دما رو میخونه و با دستور serial.print  اون رو روی صفحه ارتباط سریال نمایش دادیم.

خروجی برنامه در صفحه ارتباط سریال به شکل زیره:

 

پروژه دوم :

نمایش دما DS18b20 روی lcd کاراکتری

توی این پروژه قراره اطلاعات رو روی lcd هم بر حسب سانتیگراد و هم بر حسب فارنهایت نمایش بدیم.

پس مطابق شکل زیر پایه های lcd به آردوینو متصل میشن :

راه اندازی LCD کاراکتری با آردوینو

این بار پایه ی دیتا ی سنسور Ds18b20 رو به به پایه ی دیجیتال شماره 7 آردوینو وصل میکنیم .

کد پروژه :

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

 دقت کنین که اگر مقدار -127 روی صفحه دیده شد  منظور اینه که ارتباط یا کانکشن مشکل داره ، از قطع شدن سیم گراند تا نذاشتن مقاومت پول آپ و .. ممکنه باعث این اتفاق باشه.

اگر با تابع های lcd هم آشنا نیستین به مطلبش مراجعه کنین: راه اندازی LCD کاراکتری با آردوینو .

خروجی کد :

راه اندازی DS18B20 با lcd و آردوینو

سوالی در رابطه با راه اندازی ds18b20 با آردوینو بود میتونین در بخش کامنت ها بپرسین.

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

پاسخ دهید

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