خیلی چیز باحالی بود
چیزی که فهمیدم:
به نظر میاد این میکروها 3 جور حاقظه دارن
Flash که برنامه (اسکچ) اونجا ذخیره میشه ، به نظر میاد بوتلودر هم همینجا ذخیره میشه
SRAM که مقادیر متغیرهایی که در حین برنامه ایجاد میشن داخلش ذخیره میشن ، بعد از قطع و وصل شدن تغذیه این حافظه پاک میشه
ٍEEPROM حافظه ای که برنامه برای ذخیره سازی مقادیر برای مدت طولانی تر استفاده میکنه ، این حاقظه و Flash با قطع و وصل شدن برق مقادیرشون سر جاش باقی میمونه
برای ذخیره مقادیر توی EEPROM و بازخوانی هم میشه از کتابخونه EEPROM (
https://www.arduino.cc/en/Reference/EEPROM)استفاده کرد
و این brown out detection خیلی چیز باحالی به نظر میاد اما
شاید
خوب باشه که قبل ورودی ولتاژ آردوینو به دیود بذاریم و خازن ها رو بعد دیود وصل کنیم و مقدار ولتاژ ورودی قبل دیود رو analogread کنیم و هر وقت برق قطع شد قبل دیود ولتاژ سریعا صفره و احتمالا سریع تر متوجه این موضوع برای ذخیره سازی مقادیر میشیم
از اونجایی که فرکانس کریستال آردوینو هم 16 مگاهرتز هست فکر میکنم بدون اینتراپت هم مشکلی پیش نیاد و این چک کردن ولتاژ توی همون loop جا بگیره (البته توی loop دیگه delay نباید باشه)