PDA

View Full Version : نمایش دمای محیط در برنامه



fardayeazad
پنج شنبه 23 فروردین 1386, 22:50 عصر
سلام دوستان
من می خوام برای یک سرد خانه برنامه بنویسم و این برنامه باید دمای هر سالن رو در هر لحظه نشون بده ولی من این قسمتش رو بلد نیستم اگه ممکنه منو راهنمایی کنید.

mehrzad007
پنج شنبه 23 فروردین 1386, 23:20 عصر
باید یه دماسنج با میکروکنترلر بسازی که وصل بشه به یه پورت مثل com . بعد از توی وی بی با mscom و... داده ها رو از اون بخونی و نمایش بدی .

sayeh007
جمعه 24 فروردین 1386, 01:05 صبح
همون که اشاره هم شد شما با ید سنسور دما تهیه کنید یکمی گرونه بعد این سنسور رو به
یه مداری که میاد پالسهای انلوگ را به دیجیتال تبدیل می کنه و یه خروجی که سنسور به آی سی AVR داده شده رو میاد به حالت تعریف در میاره و شما می تونید خروجی که از مدار می گیرید رو به سیگنال های قابل فهم برای کام بفرستید که این هم تو همون avr باید نوشته بشه در ضمن می تونید با زبان بیس کام برای میکرو کنتورلر برنامه کاری رو بنویسید که براتون چه کارهای انجام بده زبان خیلی قابل فهمی هست که من هم با همون زبان برای پروژهای استفاده میکنم بازم من در خدمت هستم

fardayeazad
شنبه 25 فروردین 1386, 22:56 عصر
من در مورد این مبا حثی که شما گفتید اصلا کار نکردم اگه میشه یه منبعی معرفی کنید که منو سریع به هدفم برسونه .

fardayeazad
یک شنبه 26 فروردین 1386, 19:24 عصر
لطفا کمک کنید.

mehrzad007
یک شنبه 26 فروردین 1386, 20:12 عصر
مینیمم و ماکزیمم دما چقده ؟ در مورد منبع یه سر بزن به سایت کانون نشر علوم . در این موارد کتابهای خوبی داره .

sayeh007
سه شنبه 28 فروردین 1386, 00:55 صبح
در این برنامه و لتاژ آنالوگ پایه خروجی سنسور LM35 متناظر با دمای محیط توسط مبدل آنالوگ به دیجیتال داخلی به عدد دیجیتال تبدیل و به پورت سریال فرستاده و سپس توسط برنامه که در ویژوال بیسیک کار کردم دما نمایش داده میشود . براش امکاناتی هم اضافه کردم که می تونه از تغییر زمان از محیط نمونه برداری نیز کنه برای استفاده از اون از اسکرول بار نرم افزار می تونید استفاده کنید


برنامه از یک تایمر برای تعیین زمان نمونه برداری استفاده کرده که در حالت پیش فرض زمان نمونه برادری رو روی 100ms قرار دادم . سیگنال آنلوگ توسط ADCمیکرو دیجیتال می شه
و با باود 9600 توسط uart به پورت سریال کامپیوتر فرستاده می شود و در این سمت توسط برناه با همان باود داده گرفته شده .در عدد 0.49 ضرب شده و دمای بدست آمده در تکست باکس و پروسس بار نمایش داده میشود . با تغیی اسکرول بار زمان نمونه برادری از دما . می تواند تغییر کند.


Dim A As String
Option Explicit
------------------------------
Private Sub Form_load( )
Mscomm1 . commport = 1
Mscomm1 . settings = "9600 ,n , 8,1"
Mscomm1 . protopen = True
Timer1 . interval = 100
End Sub
-------------------------------------------
Private Sub Hscrooll1_chenge( )
Timer1 . interval = Hscoroll1.value
Text2.text = Hscroll1.value
End Sub
--------------------------------------
Private Sub Timer1_timer ( )
A = Mscomm1 . input
Text1 = val (a) * 0.49 & "c "
A = Val (a) *0.49
Progressbar1.value = val(a)
End Sub

برنامه که از میکرو ATMEGA32 استفاده کردم با کریستال داخلی 8 مگاهرتز است سیگنال آنالوگ خارج شده از LM35 توسط ADC میکرو به دیجتال تبدیل شده و با باودی مساوی با باود
برنامه به پورت سریال فرستاده میشود.

"regfile = " M32def.dat$
crystal = 8000000 $
baud = 9600 $
Config Serialout = Buffered , size = 10
Config Adc = Single , Prescaler = Auto
Start Adc
Dim C As Word
Do
(C = Getadc (0
Waitms 10
Print
Loop
End


خودم تست کردم که درست جواب داد امید دارم که مشکلتون رو حل کنه
با تشکر

sayeh007
سه شنبه 28 فروردین 1386, 01:09 صبح
نقشه مدارhttp://falsh.reflect.ir/files/images/graphic.jpg