نقل قول نوشته اصلی توسط Tiranoid نمایش پست ها
من متاسفانه زیاد با آردویینو کار نکردم

ولی برای اینکار شما باید گامهای زیر رو انجام بدید

1) از یکی از تایمر ها به عنوان زمان سنج استفاده کنید.
2) برای تایمر اینتراپت (وقفه) تعریف کنید که در انتهای دوره یه ساعته مثلا، میکرو رو روشن کنه و سرویس وقفه رو که همون فرستادن داده ها هست انجام بده

توجه کنید که وقتی میکروکنترلر رفت تو مود اسلیپ، فقط با اینتراپت برمیگرده. اینتراپت میتونه گرفتن داده ی سریال باشه ، میتونه تایمر اورفلو باشه (مث کار شما) میتونه حتا اینتراپت خارجی باشه


شما کارتون دقیقا به بخش تیره ی آردویینو داره اشاره میکنه ! چون آردویینو، محدودیت داره
شما تو آردویینو همیشه باید با فرکانس 16 مگاهرتز کار کنید. چون کریستال 16 مگاهرتز داره و نمیشه از مدار خارجش کرد.
با این وضع ، شما در بهترین حالت میتونید هر 4 ثانیه (دقیقا 4.194304 ثانیه) یه درخواست وقفه بگیرید. با فرض استفاده از تایمر 16 بیت و مقسم فرکانس 1024. یعنی اصلا نمیتونید کاری کنید که هر یه ساعت بگیرید
در حالی که بصورت عادی میشه کریستال های خیلی پایین تر از 16 مگاهرتز قرار داد تا زمان وقفه طولانی تر بشه. (هر چند بازم یک ساعت نمیشه)

کریستال هایی هست که دقت خیلی بالایی رو برای تایمر میدن. مثلا من توی یه پروژه که داشتم، با دقت سه رقم اعشار، بازه های 16 ثانیه (یعنی 16.000 ثانیه) درست کنم.


به هر حال. میتونید اینکارو کنید که هر 4 ثانیه فقط میکروکنترلر بیدار بشه با وقفه، به یه متغییر مقدار 1 اضافه کنه و دوباره بخوابه.
وقتی که هر بار بیدار شد و دید مقدار اون متغییره شده 900 یعنی 15*60 تا 4 ثانیه گذشته که میشه یک ساعت، مقدار متغییر رو صفر کنه، داده ها رو بفرسته و دوباره برگرده به اسلیپ مود.

اینطوری درسته داره هر 4 ثانیه یه بار بیدار میشه و به خوبی هر یه ساعت نیست. اما به هر حال مصرف از زمانی که مداوم روشن باشه خیلی کمتره.

* وقتی از کریستال پایینتر استفاده بشه، حتا اگر تو حالت اسلیپ مود هم نباشه، مصرف میکروکنترلر خیلی کمتره.

آها مرسی خیلی کامل و دقیق بود
به جز مد sleep مد دیگه ای برای کم کردن مصرف وجود نداره؟
مثلا این کتابخونه چی هست و چطور همچین چیزی رو نوشته:
https://github.com/n0m1/Sleep_n0m1

در نهایت کمترین کریستالی که میتونم گیر بیارم چیه؟
مقدار مصرف AVR یا میکرو های دیگه چطوره خیلی کمتر از آردوینو مصرف میکنن یا همونن
کم مصرف ترین میکرویی که میتونم قرار بدم چی هست؟