فهرست مطالب:
- مرحله 1: این تایمر دیده بان چیست؟
- مرحله 2: چگونه تایمر Watchdog را فعال کنیم؟
- مرحله 3: برنامه خود را در حال اجرا نگه دارید
- مرحله 4: مثال استفاده
- مرحله 5: مسائل مربوط به تایمر Watchdog
- مرحله ششم: لذت ببرید
تصویری: آموزش Arduino Hang Guardian - آموزش تایمر نگهبان Arduino: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
سلام به همه،
برای همه ما اتفاق می افتد. شما یک پروژه می سازید ، با اشتیاق تمام سنسورها را به هم متصل می کنید ، و ناگهان ، آردوینو متوقف می شود و هیچ ورودی پردازش نمی شود.
"چه اتفاقی می افتد؟" ، شما می پرسید و شروع به کاوش در کد خود می کنید ، اما متوجه می شوید که در یک حلقه بی نهایت گیر کرده اید. خدا را شکر آردوینو روی نیمکت شما بود و نه در مکان دور افتاده.
امروز ، ما نحوه استفاده از تایمر نگهبان در Arduino را برای جلوگیری از این اتفاق بررسی می کنیم.
مرحله 1: این تایمر دیده بان چیست؟
تایمر نگهبان Arduino همانطور که از نامش مشخص است یک تایمر است که جدا از CPU اصلی روی برد کار می کند. از این تایمر می توان برای بررسی دوره ای وضعیت برد استفاده کرد و در شرایطی که برد در حلقه نرم افزاری گیر کرده یا به دلیل خرابی سخت افزار گیر کرده است ، تایمر نگهبان می تواند آردوینو را ریست کرده و دوباره شروع به کار کند.
به طور پیش فرض هنگامی که از این تایمر استفاده نمی کنید ، این تایمر در همه پروژه ها غیرفعال است و تنها زمانی که آن را فعال می کنیم ، باید مطمئن شویم که به طور دوره ای به آن بگوییم که اگر هنوز هم طبق انتظار کار می کند ، برد خود را تنظیم مجدد نکنید.
برای اینکه بتوانیم از تایمر watchdog استفاده کنیم ، ابتدا باید فایل avr/wdt.h را در طرح آردوینو خود قرار دهیم. این کتابخانه استاندارد است که اقدامات نگهبان را نگه می دارد.
مرحله 2: چگونه تایمر Watchdog را فعال کنیم؟
برای فعال کردن زمان سنج ، از تابع "wdt_enable" استفاده می کنیم ، جایی که باید در فاصله آستانه ای که برد در آن بازنشانی می شود ، عبور دهیم. بسته به مورد استفاده ما ، این می تواند از 15 میلی ثانیه تا 8 ثانیه در تنظیمات از پیش تعیین شده که در کتابخانه دیده بان وجود دارد ، باشد.
THRESHOLD - نام ثابت
15 ms WDTO_15MS 30 ms WDTO_30MS 60 ms WDTO_60MS 120 ms WDTO_120MS 250 ms WDTO_250MS 500 ms WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
مرحله 3: برنامه خود را در حال اجرا نگه دارید
در حال حاضر ، با فعال بودن زمان سنج ، برای جلوگیری از تنظیم مجدد آردوینو ، ما باید به طور دوره ای تابع "wdt_reset" را فراخوانی کنیم تا زمان سنج نگهبان را قبل از اتمام فاصله آستانه تنظیم مجدد کند.
هنگام انتخاب فاصله بازنشانی ، بسیار مهم است که هرگونه عملیات طولانی مدت مانند خواندن یا ارسال داده یا اتصال به سنسورهای خارجی را در نظر بگیریم. آستانه بازنشانی باید حداقل یک و نیم برابر بیشتر از این زمانها باشد تا از هرگونه بازنشانی تصادفی جلوگیری شود.
مرحله 4: مثال استفاده
در برنامه نمونه ای که می توانید از اینجا بارگیری کنید ، ابتدا تایمر ساعت مراقبتی را با فاصله تنظیم مجدد 4 ثانیه تنظیم کردیم. سپس برای اینکه بدانیم در عملکرد تنظیمات هستیم ، یک LED را 3 بار سریع فلاش می زنیم و سپس در حلقه اصلی ابتدا تایمر را تنظیم مجدد می کنیم ، یک LED را با فواصل طولانی تر روشن می کنیم و سپس آن را خاموش می کنیم. حلقه بعدی تایمر را مجدداً تنظیم می کند تا زمان روشن شدن بیش از 4 ثانیه باشد.
هنگامی که این اتفاق می افتد ، تایمر دیده بان هیئت مدیره را بازنشانی می کند و راه اندازی مجدد اجرا می شود.
مرحله 5: مسائل مربوط به تایمر Watchdog
بسته به بوت لودر آردوینو یکی از مشکلات احتمالی تایمر دیده بان این است که اگر مقدار تایمر دیده بان خیلی کم باشد و هنگام بارگذاری کد جدید بوت لودر تایمر را تنظیم نکند ، ممکن است در نهایت به برد آردوینو خود آسیب برسانید. همیشه در مرحله بوت گیر می کند. بوت لودر سعی می کند شروع به کار کند ، اما تایمر به تنظیم مجدد برد ادامه می دهد و هرگز اجازه نمی دهد که به درستی شروع به کار کند. برای جلوگیری از چنین مشکلاتی ، مطمئن شوید که همیشه از فواصل آستانه 2 ثانیه یا بیشتر استفاده می کنید.
مرحله ششم: لذت ببرید
اگر نمونه ای دارید که در آن از تایمر ساعت مراقبت در یک پروژه واقعی استفاده کرده اید ، در نظرات به من اطلاع دهید ، مطمئن شوید که ویدیو را دوست دارید و مشترک شدن را فراموش نکنید.
سلام و تشکر برای خواندن/تماشا!
توصیه شده:
نگهبان متحرک: 5 مرحله
Motion Activated Sentinel: & quot؛ این دستورالعمل برای برآوردن الزامات پروژه Makecourse در دانشگاه فلوریدا جنوبی (www.makecourse.com) & quot ؛ سلام ، نام من روبن دوک است. دانشجوی مهندسی مکانیک در دانشگاه فلور جنوبی
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر حالت CTC: 6 مرحله
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر CTC Mode: سلام به همه! تایمرها یک مفهوم مهم در زمینه الکترونیک هستند. هر جزء الکترونیکی بر اساس زمان کار می کند. این زمانبندی کمک می کند تا همه کارها همزمان شوند. همه میکروکنترلرها با فرکانس ساعت از پیش تعیین شده ای کار می کنند ،
تایمر NE555 - پیکربندی تایمر NE555 در پیکربندی Astable: 7 مرحله
تایمر NE555 | پیکربندی تایمر NE555 در پیکربندی Astable: تایمر NE555 یکی از رایج ترین IC ها در دنیای لوازم الکترونیکی است. به شکل DIP 8 است ، یعنی دارای 8 پین است
نگهبان پی: 6 مرحله (همراه با تصاویر)
نگهبان پی: آیا تا به حال خواسته اید آن شخصی را که مدام آب نبات هالووین شما را می دزدد ، بگیرید؟ یا آن هم اتاقی مزاحم که یخچال شما را تنها نمی گذارد چطور؟ با استفاده از رزبری پای 3 ، دوربین Pi و سنسور PIR ، همه اینها اکنون امکان پذیر است. ساده
نگهبان مزاحم: 3 مرحله
مزاحم نگهبان: خسته شده اید که همیشه به آن توجه داشته باشید؟ در حال انجام هرگونه نظارت یا شناسایی مخفی کاری هستید؟ یا شاید شما فقط باید یک زنگ خطر برای وسایل خود تنظیم کنید تا برادر کوچک شما به اتاق شما نرود. خوب ، این نبوغ کوچک به شما اجازه می دهد تا هیچ