سلام
بنده یک مدار سنجش دما با استفاده از یک سون سگمنت 3 رقمی و مدار تغذیه مربوط به اون و سنسور معروف و شناخته شده LM35 طراحی کردم...
توی قسمت کد ابتدا ولتاژ آنالوگ ورودی از سنسور تبدیل به دما می شود و سپس با استفاده از روش flickering روی سون سگمنت چاپ می شود.... یعنی در یک صدم ثانیه رقم اول سون سگمنت روشن است و در صدم ثانیه بعدی رقم دوم !! و این کار باعث می شود که چشم احساس کند که هردو رقم همزمان روشن هستند (زیرا چشم زمان کوتاه خاموش شدن آنها را تشخیص نمی دهد)!! ....
حالا مشکل اینجاست که با توجه به این که کد پیوسته و بدون هیچ تاخیر )delay( قابل ملاحضه ای اجرا می شود اگر روی مدار نویزی بیفتد و یا دما در هر لحظه به طور ناچیزی تغییر کند، سون سگمنت به طور متوالی و پیوسته عدد متفاوتی را نشان می دهد. برای مثال همین الان که مدار روشن است در لحظه ای عدد 27 و در لحظه ای عدد 28 درجه را نمایش می دهد در نتیجه عمر سون سگمنت بسیار کم شده و عدد نیز ناخوانا می گردد و اگر در تابع loop نیز تاخیر قابل ملاحظه ای (مثلا در حد 1 ثانیه ) ایجاد کنیم نیز کد از ناحیه نمایش در سون سگمنت دچار اشکال می شود ( اثر flickering به فنا می رود!!)کد:void loop () { deg = analogRead(3); deger = deg / 2; dam = deger % 10; dem = deger / 10; digitalWrite(13 , LOW); digitalWrite(12 , HIGH); Adad(dam); delay(10); digitalWrite(13 , HIGH); digitalWrite(12 , LOW); Adad(dem); delay(10); }
لطفا در صورت امکان راه حل این مشکل را ارائه بفرمایید. با تچکر فراوان....


LinkBack URL
About LinkBacks



پاسخ با نقل قول
