بعد از زیر و رو کردن سایت خودمون و چند روز گشتن سرگیجه آور توی نت ، یک دماسنج کامل با مشخصات فوق ، نتونستم پیدا کنم. خیلی هاشون با LCD نوشته شده و خیلی بیشترشون ، دمای منفی رو نشون نمیدند.
فقط دو نمونه تونستم پیدا کنم که هر کدومش ایراد مخصوص خودش رو داره.
من مدار زیر رو ساختم. شماتیک و برنامشو میذارم. آدرس منبع در خط اول برنامه موجود است.
فعلا دو تا مشکل آزار دهنده داره.
1- نور سون سگمنت ها خیلی کمه. البته من اون مقاومت های روی پایه های ، مشترک رو حذف کردم ، چون نمایشگر از نوع کاتد مشترک هست و نیاز به مقاومت نیست. ولی باز هم ، نورشون خیلی کمه. توی نور روز قابل استفاده نیست ، و فقط تو محیطهای تاریک ، ارقام قابل خوندن میشه.
با سرعت های متفاوت refresh امتحان کردم ، فایده ای نداشت. خواهش میکنم نفرمایید که پایه های مشترک رو با ترانزیستور تقویت کنم و یا از ULN استفاده کنم. چون در اینجا راه حل این موارد نیستند. برای تست یه تاخیر بالا در شروع برنامه گذاشتم ، در طی اون زمان ، چهار تا 0 نسبتا پر نور روشن میشه ولی وقتی خود برنامه شروع میشه نورها خیلی کم میشه. گمان میکنم اشکال توی زیر برنامه comm باشه.
2- سگمنتهای خاموش ، دارای یه مقدار اندک نور هستند و کاملا خاموش نمیشوند. و این توی جاهای کم نور خیلی آزار دهنده هست. با مقاومتهای pull down هم امتحان کردم. نتیجه نداشت. ایراد توی خود برنامه هست.
دوستان با تجربه راهنمایی کنند ، ممنون خواهم شد.
فقط دو نمونه تونستم پیدا کنم که هر کدومش ایراد مخصوص خودش رو داره.
من مدار زیر رو ساختم. شماتیک و برنامشو میذارم. آدرس منبع در خط اول برنامه موجود است.
کد:
'www.micro-avr.blogfa.com' $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output Config Portb = Output Config Adc = Single , Prescaler = Auto , Reference = Internal Dim A As Word , B As Word , C As Single , W As Word , D As Byte , S As Byte Start Adc Declare Sub Comm Declare Sub Temp Declare Sub Refresh '================================================================= Do Call Refresh Call Temp Call Comm Loop '================================================================== Sub Temp A = Getadc(0) B = Getadc(1) C = A - B C = C / 4 If C > 0 Then S = 12 W = C Cls : Lcd W End If If C < 0 Then S = 11 C = C / -1 W = C Cls : Lcd W End If End Sub '=================================================================== Sub Comm Portd = &B0111 : D = 10 : Call Refresh Portd = &B1011 : D = W Mod 10 : Call Refresh Portd = &B1101 : D = W / 10 : Call Refresh Portd = &B1110 : D = S : Call Refresh Portd = &B1111 : D = 0 End Sub '======================================================================= Sub Refresh Portb = Lookup(d , 7seg) Waitms 4 End Sub '============================================================================= 7seg: Data &H3F , &H6 , &H5B , &H4F , &H66 , &H6D , &H7D , &H7 Data &H7F , &H6F , &H63 , &H40 , &H00
فعلا دو تا مشکل آزار دهنده داره.
1- نور سون سگمنت ها خیلی کمه. البته من اون مقاومت های روی پایه های ، مشترک رو حذف کردم ، چون نمایشگر از نوع کاتد مشترک هست و نیاز به مقاومت نیست. ولی باز هم ، نورشون خیلی کمه. توی نور روز قابل استفاده نیست ، و فقط تو محیطهای تاریک ، ارقام قابل خوندن میشه.
با سرعت های متفاوت refresh امتحان کردم ، فایده ای نداشت. خواهش میکنم نفرمایید که پایه های مشترک رو با ترانزیستور تقویت کنم و یا از ULN استفاده کنم. چون در اینجا راه حل این موارد نیستند. برای تست یه تاخیر بالا در شروع برنامه گذاشتم ، در طی اون زمان ، چهار تا 0 نسبتا پر نور روشن میشه ولی وقتی خود برنامه شروع میشه نورها خیلی کم میشه. گمان میکنم اشکال توی زیر برنامه comm باشه.
2- سگمنتهای خاموش ، دارای یه مقدار اندک نور هستند و کاملا خاموش نمیشوند. و این توی جاهای کم نور خیلی آزار دهنده هست. با مقاومتهای pull down هم امتحان کردم. نتیجه نداشت. ایراد توی خود برنامه هست.
دوستان با تجربه راهنمایی کنند ، ممنون خواهم شد.
دیدگاه