سلام. پروژه دماسنج PIC با سنسور LM35 ( آموزش کامل سنسور دما LM35 ) را آماده کردیم. فیلم عملکرد مدار را ببینید !
پروژه دماسنج PIC با سنسور LM35
در این پروژه PIC ، ما با استفاده از میکروکنترلر PIC و سنسور دما LM35 ، یک دماسنج دیجیتال میسازیم. در این پروژه با استفاده از LM35 دما را بدست می آوریم و با میکروکنترلر آن را محاسبه میکنیم و دما را بر حسب سانتی گراد در ال سی دی کاراکتری نمایش می دهیم. سنسور دما LM35 دقیق و ارزان است و نیازی به کالیبراسیون خارجی ندارد. ولتاژ خروجی سنسور متناسب با مقیاس درجه حرارت سانتیگراد است و 10mV در هر درجه سانتی گراد تغییر می کند.
مدار پروژه اندازه گیری دما با PIC
- میکروکنترلر PIC16F877A ( مشاهده دیتاشیت )
- ال سی دی کاراکتری 16*2
- سنسور دما LM35
- آی سی رگولاتور 7805
- ال ای دی
- پتانسیومتر 10 کیلو اهم
- کریستال 20Mhz
- خازن 33pf – دو عدد
- خازن 100uf
- خازن 10uf
- مقاومت 10 کیلو اهم
- مقاومت 220 اهم
- مقاومت 560 اهم
- مقاومت 680 اهم
توضیحات سنسور دما LM35
همچنین اگر میخواهید الکترونیک را با فیلم های آموزشی یاد بگیرید، روی دوره آموزش الکترونیک کلیک کنید.
سنسور دما LM35 دارای ولتاژ کمترین صفر است ، بدین معنی که در 0 درجه سانتیگراد خروجی 0V خواهد بود. حداکثر ولتاژ خروجی آن 1.5 ولت است به این معنی که می تواند حداکثر دمای 150 درجه سانتیگراد را حس کند. ولتاژ ورودی این سنسور از 4 ولت تا 20 ولت است.
ما قبلاً از LM35 برای میکروکنترلرهای دیگر استفاده کرده ایم:
توضیح کد آنالوگ به دیجیتال در این پروژه
در خط اول ما دستور میدهیم که مقدار آنالوگ به دیجیتال (ADC) خوانده شود. در خط دوم مقدار ADC به ولتاژ تبدیل میشود. در خط سوم ولتاژ تقسیم بر 10 میشود و دما بدست می آید.
adc = (ADC_Read(4)); volt = adc*4.88281; temp=volt/10.0; temp1 = temp*100; c1 = (temp1/1000)%10; c2 = (temp1/100)%10; c3 = (temp1/10)%10; c4 = (temp1/1)%10;
توجه کردید که برای تبدیل ADC به ولتاژ آن را ضرب در 4.88281 میکنیم.
در این قسمت از کد ما متن نمایش داده شده در ال سی دی کاراکتری را تغییر میدهیم. در خط سوم میتوانید 16 کاراکتر بالای ال سی دی را تنظیم کنید ما به عنوان پیشفرض از کلمه Temperature به معنای دما استفاده کردیم.
Lcd_Clear(); Lcd_Set_Cursor(1,3); Lcd_Print_String("Temperature"); Lcd_Set_Cursor(2,5); Lcd_Print_Char(c1+'0'); Lcd_Print_Char(c2+'0'); Lcd_Print_String("."); Lcd_Print_Char(c3+'0'); Lcd_Print_Char(c4+'0'); Lcd_Print_Char(0xDF); Lcd_Print_String("C"); __delay_ms(3000);
موارد موجود در فایل : فایل سورس کامل ، شماتیک کامل و …