هدف از این مقاله راه اندازی سنسور دما توسط برد آردینو و نمایش خروجی سنسور بروی LCD است.
DS18B20 یک سنسور دمای دیحیتال ارزان قیمت و با کیفیت بالاست. DS18B20 دارای امکانات و قابلیتهای فوق العاده ایست و میتواند از دمای 55- تا 125+ درجه سانتیگراد عملیات اندازهگیری دما را به خوبی برای شما انجام دهد اما بیشینهی دقت آن (دقت بیشتر از 0.5 درجه سانتی گراد) در رنج دمایی 10- الی 85+ درجه سانتیگراد است.
پروتکل ارتباطی DS18B20 یک سیمه یا 1-Wire است که به شما کمک میکند بتوانید این سنسور را تنها با یک مقاومت 4.7 کیلو اهمی و ۳ سیم شامل VCC، زمین و دیتا به میکرو وصل کنید (این سنسور دارای همبندی ۲ سیمه نیز هست، که در موارد خاص کاربرد دارد).
DS18B20 دارای آدرس ۶۴ بیتی یکتاست و این به شما کمک میکند تا بتوانید مجموعهای از این سنسورها را بر روی تنها یک سیم قرار دهید. دقت خروجی این سنسورها (Resolution) از ۹ تا ۱۲ بیت قابل تنظیم است. تاخیر تبدیل دمای این سنسور به خروجی دیجیتال، کمتر از ۷۵۰ میلی ثانیه است که برای اغلب کاربردهای تحقیقاتی، تجاری و صنعتی عالیست. راه اندازی این سنسور توسط ARDUINO تنها به یک مقاومت 4.7 کیلو اهم و به هیچ قطعه دیگری نیاز نخواهید داشت.
سنسور DS18B20
تصویر شماتیک اتصال قطعات به یکدیگر به صورت زیر است.
سیمبندی راه اندازی سنسور دما DS18D20
برای نوشتن این کد نیاز به کتابخانه OneWire.h و DallasTemperature.h که لینک دانلود آن در زیر آورده شده است. در ادامه کد این پروژه آورده شده است که با کمک آن میتوانید براحتی به نتیجه دلخواه برسید.
#include <LiquidCrystal.h> #include <OneWire.h> #include <DallasTemperature.h> #define DS18B20 8 LiquidCrystal lcd (2,3,4,5,6,7); OneWire oneWire(DS18B20); DallasTemperature sensors(&oneWire); void setup() { // put your setup code here, to run once: sensors.begin(); lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("Temperature ="); } void loop() { // put your main code here, to run repeatedly: sensors.requestTemperatures(); lcd.setCursor(0,1); lcd.print(sensors.getTempCByIndex(0)); lcd.setCursor(6,1); lcd.print("centigrade"); }
تهیه کننده: مهندس مسعود غلام زادگان
1 Comment
با سلام و ارز ادب
برای خرید وسایل مورد نیاز این پروژه(سنسور دمای محیط) باید به کجا مراجعه شود