راه اندازی سنسور DS18B20
راه اندازی سنسور DS18B20
دری این آموزش به راه اندازی سنسور دمای DS18B20 می پردازیم:
سنسور DS18B20 – سنسور دمای دیجیتال
سنسور DS18B20 یک سنسور دمای دیجیتال با دقت اندازه گیری 0.1 درجه سانتی گراد است، که می تواند دمای 55- تا 125+ درجه را اندازه بگیرد ، پروتکل ارتباطی با این سنسور یک سیم (1wire) است. با یک سیم می توان تا 9 سنسور دیجیتال DS18B20 را راه اندازی کرد و طول سیم واسط بین سنسور و میکرو می تواند تا حداکثر 100 متر باشد ، سنسور DS18B20 یک سنسور خیلی دقیق و عالی برای استفاده در پروژه هایی است که به دقت و اعتماد نیاز دارند، سنسور DS18B20 یک گزینه مناسب برای استفاده در پروژه هایی مانند جوجه کشی، گلخانه های کوچک، تنظیم دمای محیط و موارد مشابه می باشد.
برای راه اندازی این سنسور نیاز به خود کشی نیست – 🙂 – و به راحتی می توان به صورت عملی هم راه اندازی کرد.
مرحله اول:
باز کردن CodeWezard
مرحله دوم:
تنظیم فرکانس کلاک بر روی 8 مگاهرتز
مرحله سوم:
تنظیم 1 wire bus
مرحله چهارم:
تنظیم lcd
مرحله پنجم:
نوشتن برنامه
اول کتابخونه ها رو تعریف میکنیم
نکته اول:فقط کتابخانه سنسور به صورت <ds1820.h> نوشته می شود که باید به صورت زیر تغییر دهید<ds18b20.h>
نکته دوم : در هنگام خواندن از سنسور هم یک b اضافه می کنیم
ds18b20_temperature(0);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <mega16.h>
#include <1wire.h>
#include <ds18b20.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>
void main(void)//تابع اصلی برنامه
{
char buffer[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//تعریف متغییر محلی از نوع کارکتر
unsigned char devices; //تعریف متغییر محلی از نوع کارکتری بدون علامت
float temp;تعریف متغییر محلی از نوع اعشاری
lcd_init(16);کانفیگ کارکتر های lcd
devices=w1_init();//بررسی وجود سنسور
while(devices>0)//حلقه اصلی با بررسی شرط وجود سنسور
{
temp=ds18b20_temperature(0);/خواندن مقدار سنسور و ذخیره در متغییر temp
lcd_gotoxy(0,0);//رفتن به سطر اول و ستون اول lcd
sprintf(buffer,“T:%6.4f%cC”,temp,223);//تبدیل متغییر دما به متغغیر قابل نمایش و نمایش درجه سانتی گراد با کد کارکتری 223
lcd_clear();//پاک کردن lcd
lcd_puts(buffer);//نوشتن در lcd
delay_ms(100);//تاخیر لازم برای نمایش در lcd
}
}
|
خب حالا مدار زیر را در پروتئوس ببندید و کار تمام
در زیر میتونید پروژه این مطلب رو دانلود کنید، البته تو کدها تغییراتی دادم، قابل شبیه سازی هستش، فایل پروتئوس و کدویژن.
(منبع:DMF313)
فایل ها : ds18b20-ECTEC.IR
اولین دیدگاه را ثبت کنید