پاسخ : کمک در مورد ای سی ساعت ds1307
سلام
دوست عزیز این روش خوبیه، اما بازم در خوندن درست مقدار از lm35 کمکی نمیکنه و اعدادت مدام نوسان میکنن.
بهترین راه اینه که شما میانگین 10 بار (یا هرچند بار که خودت دوست داری) خوندن مقدار lm35 رو بگیری و اونو به عنوان مقدار دما استفاده کنی، اینطوری هم نوسانت کمتره و هم دمای نمایش داده شده قابل اعتمادتره :nerd: نیازی هم به وقفه نداری، تداخلی هم با برنامه های دیگه بوجود نمیاد :applause:
برای اینکار هم یه حلقه for بذار و برای مقادیر مثلا 1 تا 10 دما رو بگیر و با جمع دماهای قبلی جمع کن، بعد از اتمام حلقه for هم جمع کل دماها رو تقسیم بر 10 بکن (تا مقدار میانگین دما بدست بیاد) و دوباره تقسیم بر 2 یا 4 بکن (برحسب نوع سنسورت و تنظیمات adcت و برای نمایش مقدار دما. اینو از دیتاشیت سنسورت و تنظیمات adc پیدا کن) و نهایتا دما بصورت یک عدد خروجی میده بهت بدون نوسان. اگه امروز فرصت کنم برات کدشو هم میذارم.
یا علی
نوشته اصلی توسط morteza borji
دوست عزیز این روش خوبیه، اما بازم در خوندن درست مقدار از lm35 کمکی نمیکنه و اعدادت مدام نوسان میکنن.
بهترین راه اینه که شما میانگین 10 بار (یا هرچند بار که خودت دوست داری) خوندن مقدار lm35 رو بگیری و اونو به عنوان مقدار دما استفاده کنی، اینطوری هم نوسانت کمتره و هم دمای نمایش داده شده قابل اعتمادتره :nerd: نیازی هم به وقفه نداری، تداخلی هم با برنامه های دیگه بوجود نمیاد :applause:
برای اینکار هم یه حلقه for بذار و برای مقادیر مثلا 1 تا 10 دما رو بگیر و با جمع دماهای قبلی جمع کن، بعد از اتمام حلقه for هم جمع کل دماها رو تقسیم بر 10 بکن (تا مقدار میانگین دما بدست بیاد) و دوباره تقسیم بر 2 یا 4 بکن (برحسب نوع سنسورت و تنظیمات adcت و برای نمایش مقدار دما. اینو از دیتاشیت سنسورت و تنظیمات adc پیدا کن) و نهایتا دما بصورت یک عدد خروجی میده بهت بدون نوسان. اگه امروز فرصت کنم برات کدشو هم میذارم.
یا علی
دیدگاه