جدول المحتويات:
- الخطوة 1: ما هو هذا الموقت مراقب؟
- الخطوة 2: كيفية تمكين مراقب مؤقت؟
- الخطوة 3: حافظ على تشغيل برنامجك
- الخطوة 4: مثال على الاستخدام
- الخطوة 5: مشاكل مؤقت المراقبة
- الخطوة 6: استمتع
فيديو: برنامج Arduino Hang Guardian - برنامج Arduino Watchdog Timer التعليمي: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
مرحبا جميعا،
يحدث لنا جميعا. تقوم ببناء مشروع ، وتوصيل جميع المستشعرات بحماس ، وفجأة ، يتوقف Arduino ولا تتم معالجة أي مدخلات.
"ما الذي يحدث؟" ، ستسأل وتبدأ في البحث في التعليمات البرمجية الخاصة بك ، فقط لتدرك أنك عالق في حلقة لا نهائية. الحمد لله أن Arduino كان على مقعدك وليس في مكان بعيد.
اليوم ، سنلقي نظرة على كيفية استخدام مؤقت المراقبة على Arduino لمنع حدوث ذلك.
الخطوة 1: ما هو هذا الموقت مراقب؟
مؤقت Arduino watchdog كما يوحي الاسم هو مؤقت يعمل بشكل منفصل عن وحدة المعالجة المركزية الرئيسية الموجودة على اللوحة. يمكن استخدام هذا المؤقت للتحقق بشكل دوري من حالة اللوحة وفي الظروف التي تتعطل فيها اللوحة في حلقة البرنامج أو تتعطل بسبب عطل في الأجهزة ، يمكن لجهاز ضبط الوقت أن يعيد ضبط Arduino ويبدأ من جديد.
بشكل افتراضي ، عندما لا يكون قيد الاستخدام ، يتم تعطيل هذا المؤقت في جميع المشاريع وفقط عندما نقوم بتمكينه ، نحتاج إلى التأكد من إخباره بشكل دوري بعدم إعادة تعيين اللوحة الخاصة بنا إذا كانت لا تزال تعمل كما هو متوقع.
لتكون قادرًا على استخدام مؤقت المراقبة ، نحتاج أولاً إلى تضمين ملف avr / wdt.h في مخطط Arduino الخاص بنا. هذه هي المكتبة القياسية التي تتولى إجراءات المراقبة.
الخطوة 2: كيفية تمكين مراقب مؤقت؟
لتمكين المؤقت ، نستخدم الوظيفة "wdt_enable" حيث نحتاج إلى المرور في الفترة الفاصلة التي ستتم فيها إعادة ضبط اللوحة. اعتمادًا على حالة الاستخدام الخاصة بنا ، يمكن أن يتراوح هذا من 15 مللي ثانية إلى 8 ثوانٍ في الإعدادات المحددة مسبقًا والمضمنة في مكتبة المراقبة.
عتبة - اسم ثابت
15 مللي ثانية WDTO_15MS 30 مللي ثانية WDTO_30MS 60 مللي ثانية WDTO_60MS 120 مللي ثانية WDTO_120 مللي ثانية 250 مللي ثانية WDTO_250MS 500 مللي ثانية WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
الخطوة 3: حافظ على تشغيل برنامجك
الآن ، مع تمكين المؤقت ، لمنعه من إعادة ضبط Arduino ، نحتاج إلى استدعاء وظيفة "wdt_reset" بشكل دوري لإعادة ضبط مؤقت المراقبة قبل انتهاء فترة العتبة.
عند اختيار فترة إعادة تعيين ، من الأهمية بمكان أن نأخذ في الاعتبار أي عملية طويلة مثل قراءة البيانات أو إرسالها أو الاتصال بأجهزة استشعار خارجية. يجب أن يكون حد إعادة التعيين أكبر مرة ونصف مرة على الأقل من هذه الأوقات لمنع أي عمليات إعادة تعيين عرضية.
الخطوة 4: مثال على الاستخدام
في مثال البرنامج الذي يمكنك تنزيله هنا ، قمنا أولاً بإعداد مؤقت المراقبة مع فترة إعادة تعيين تبلغ 4 ثوانٍ. ثم لمعرفة أننا في وظيفة الإعداد ، نقوم بعمل وميض LED لمدة 3 مرات بسرعة ثم في الحلقة الرئيسية ، نقوم أولاً بإعادة ضبط المؤقت ، وإضاءة مؤشر LED بفواصل زمنية أطول تدريجيًا ثم نقوم بإيقاف تشغيله. الحلقة التالية تعيد ضبط المؤقت مرة أخرى حتى يصبح وقت الإضاءة أطول من 4 ثوان.
عندما يحدث هذا ، يقوم مؤقت المراقبة بإعادة ضبط اللوحة ويتم تنفيذ الإعداد مرة أخرى.
الخطوة 5: مشاكل مؤقت المراقبة
تتمثل إحدى المشكلات المحتملة في مؤقت المراقبة ، اعتمادًا على أداة تحميل التشغيل في Arduino ، في أنه إذا كانت قيمة مؤقت المراقبة منخفضة جدًا ولم يقم برنامج bootloader بإعادة ضبط المؤقت عند تحميل رمز جديد ، فقد ينتهي بك الأمر إلى إتلاف لوحة Arduino الخاصة بك بطريقة سيكون دائمًا عالقًا في مرحلة التمهيد. سيحاول برنامج bootloader البدء ، لكن المؤقت سيستمر في إعادة ضبط اللوحة ، ولا يسمح لها بالبدء بشكل صحيح. لمنع حدوث مثل هذه المشكلات ، تأكد دائمًا من استخدام فترات زمنية من ثانيتين أو أكثر.
الخطوة 6: استمتع
إذا كان لديك مثال على المكان الذي استخدمت فيه مؤقت المراقبة في مشروع حقيقي ، فأخبرني بذلك في التعليقات ، وتأكد من إعجابك بالفيديو ولا تنس الاشتراك.
في صحتك وشكرا على القراءة / المشاهدة!
موصى به:
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الضوء المحيط: 4 خطوات
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الإضاءة المحيطة: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
كيفية التحكم في WS2812 RGB LED (NeoPixel) W / Arduino [البرنامج التعليمي]: 10 خطوات
كيفية التحكم في WS2812 RGB LED (NeoPixel) W / Arduino [درس تعليمي]: نظرة عامة تُستخدم مصابيح NewPixel LED على نطاق واسع هذه الأيام في المشاريع الإلكترونية ، نظرًا لتأثيراتها المرئية الجذابة. تتوفر مصابيح LED هذه بأحجام وأشكال مختلفة وفي شكل شريط. في هذا البرنامج التعليمي ، ستتعرف على مصابيح NeoPixel LED وكيف يمكن
البرنامج التعليمي لواجهة مستشعر البوصلة HMC5883L مع Arduino: 10 خطوات (بالصور)
البرنامج التعليمي للواجهة HMC5883L مستشعر البوصلة مع Arduino: الوصف HMC5883L عبارة عن بوصلة رقمية ثلاثية المحاور تستخدم لغرضين عامين: لقياس مغنطة مادة مغناطيسية مثل المغناطيس الحديدي ، أو لقياس القوة ، وفي بعض الحالات ، اتجاه مجال مغناطيسي عند نقطة في ثانية
البرنامج التعليمي: كيفية استخدام مستشعر كاشف الألوان RGB TCS230 مع Arduino UNO: 3 خطوات
البرنامج التعليمي: كيفية استخدام مستشعر RGB Color Detector TCS230 مع Arduino UNO: الوصف: سيوضح لك هذا البرنامج التعليمي بعض الخطوات البسيطة حول كيفية استخدام مستشعر RGB Color Detector باستخدام Arduino Uno. في نهاية هذا البرنامج التعليمي ، سوف تحصل على عدد من نتائج المقارنة بين عدد قليل من الألوان. CS3200 s تفاصيل كاملة للألوان
البرنامج التعليمي: كيفية استخدام Mini PIR Motion Sensor HC-SR 505 مع Arduino UNO: 3 خطوات
البرنامج التعليمي: كيفية استخدام Mini PIR Motion Sensor HC-SR 505 مع Arduino UNO: الوصف: سيوضح لك هذا البرنامج التعليمي بعض الخطوات البسيطة حول كيفية استخدام وحدة مستشعر الحركة باستخدام Arduino Uno. في نهاية هذا البرنامج التعليمي ، ستحصل على نتيجة مقارنة عندما يتمكن المستشعر من اكتشاف الحركة ولا يمكنه اكتشاف أي حركة