विषयसूची:
- चरण 1: यह वॉचडॉग टाइमर क्या है?
- चरण 2: वॉचडॉग टाइमर को कैसे सक्षम करें?
- चरण 3: अपना कार्यक्रम चालू रखें
- चरण 4: उदाहरण उपयोग
- चरण 5: वॉचडॉग टाइमर मुद्दे
- चरण 6: आनंद लें
वीडियो: Arduino हैंग गार्जियन - Arduino वॉचडॉग टाइमर ट्यूटोरियल: 6 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
हेलो सब लोग, ऐसा हम में से अधिकांश के साथ होता है। आप एक प्रोजेक्ट बनाते हैं, उत्साह से सभी सेंसरों को जोड़ते हैं, और अचानक, Arduino हैंग हो जाता है और कोई इनपुट संसाधित नहीं होता है।
"क्या चल रहा है?", आप पूछेंगे और अपने कोड के माध्यम से खुदाई शुरू करेंगे, केवल यह महसूस करने के लिए कि आप एक अनंत लूप में फंस गए हैं। भगवान का शुक्र है कि Arduino आपकी बेंच पर था न कि किसी दूरस्थ स्थान पर।
आज, हम देखेंगे कि ऐसा होने से रोकने के लिए हम Arduino पर वॉचडॉग टाइमर का उपयोग कैसे कर सकते हैं।
चरण 1: यह वॉचडॉग टाइमर क्या है?
Arduino वॉचडॉग टाइमर जैसा कि नाम से ही स्पष्ट है कि एक टाइमर है जो बोर्ड पर मुख्य सीपीयू से अलग चलता है। इस टाइमर का उपयोग समय-समय पर बोर्ड की स्थिति की जांच करने के लिए किया जा सकता है और उन परिस्थितियों में जहां बोर्ड सॉफ़्टवेयर लूप में फंस गया है या हार्डवेयर विफलता के कारण फंस गया है, वॉचडॉग टाइमर Arduino को रीसेट कर सकता है और इसे फिर से शुरू कर सकता है।
डिफ़ॉल्ट रूप से जब उपयोग में नहीं होता है तो यह टाइमर सभी परियोजनाओं पर अक्षम होता है और केवल जब हम इसे सक्षम करते हैं, तो हमें समय-समय पर यह सुनिश्चित करने की आवश्यकता होती है कि यदि यह अभी भी अपेक्षित रूप से काम कर रहा है तो हमारे बोर्ड को रीसेट न करें।
वॉचडॉग टाइमर का उपयोग करने में सक्षम होने के लिए, हमें सबसे पहले अपने Arduino स्केच में avr/wdt.h फ़ाइल को शामिल करना होगा। यह मानक पुस्तकालय है जो निगरानी कार्यों को रखता है।
चरण 2: वॉचडॉग टाइमर को कैसे सक्षम करें?
टाइमर को सक्षम करने के लिए, हम "wdt_enable" फ़ंक्शन का उपयोग करते हैं जहां हमें थ्रेशोल्ड अंतराल में पास करने की आवश्यकता होती है जिस पर बोर्ड रीसेट हो जाएगा। हमारे उपयोग के मामले के आधार पर, यह वॉचडॉग लाइब्रेरी में निहित पूर्व-निर्धारित सेटिंग्स में 15 मिलीसेकंड से लेकर 8 सेकंड तक कहीं भी हो सकता है।
दहलीज - निरंतर नाम
15 एमएस WDTO_15MS 30 एमएस WDTO_30MS 60 एमएस WDTO_60MS 120 एमएस WDTO_120MS 250 एमएस WDTO_250MS 500 एमएस WDTO_500MS 1s WDTO_1S 2s WDTO_2S 4s WDTO_4S 8s WDTO_8S
चरण 3: अपना कार्यक्रम चालू रखें
अब, टाइमर सक्षम होने के साथ, इसे हमारे Arduino को रीसेट करने से रोकने के लिए हमें समय-समय पर "wdt_reset" फ़ंक्शन को कॉल करने की आवश्यकता होती है ताकि थ्रेशोल्ड अंतराल समाप्त होने से पहले वॉचडॉग टाइमर को रीसेट किया जा सके।
रीसेट अंतराल चुनते समय, यह महत्वपूर्ण है कि हम डेटा को पढ़ने या भेजने या बाहरी सेंसर से कनेक्ट करने जैसे किसी भी लंबे ऑपरेशन को ध्यान में रखें। किसी भी आकस्मिक रीसेट को रोकने के लिए रीसेट थ्रेशोल्ड इन समय से कम से कम डेढ़ गुना अधिक होना चाहिए।
चरण 4: उदाहरण उपयोग
उदाहरण प्रोग्राम में जिसे आप यहां डाउनलोड कर सकते हैं, हमने पहले वॉचडॉग टाइमर को 4 सेकंड के रीसेट अंतराल के साथ सेट किया। फिर यह जानने के लिए कि हम सेटअप फ़ंक्शन में हैं, हम 3 बार जल्दी से एक एलईडी फ्लैश करते हैं और फिर मुख्य लूप में हम पहले टाइमर को रीसेट करते हैं, उत्तरोत्तर लंबे अंतराल के साथ एक एलईडी को लाइट करते हैं और फिर हम इसे बंद कर देते हैं। अगला लूप टाइमर को फिर से रीसेट करता है जब तक कि लाइट-अप समय 4 सेकंड से अधिक न हो।
जब ऐसा होता है, वॉचडॉग टाइमर बोर्ड को रीसेट करता है और सेटअप फिर से निष्पादित होता है।
चरण 5: वॉचडॉग टाइमर मुद्दे
आपके Arduino के बूटलोडर के आधार पर वॉचडॉग टाइमर के साथ एक संभावित समस्या यह है कि यदि वॉचडॉग टाइमर का मान बहुत कम है और नया कोड अपलोड करते समय बूटलोडर टाइमर को रीसेट नहीं करता है, तो आप अपने Arduino बोर्ड को इस तरह से नुकसान पहुंचा सकते हैं। यह हमेशा बूट चरण में अटका रहेगा। बूटलोडर शुरू करने की कोशिश करेगा, लेकिन टाइमर बोर्ड को रीसेट करता रहेगा, इसे कभी भी ठीक से शुरू नहीं होने देगा। इस तरह की समस्याओं से बचने के लिए, हमेशा 2 सेकंड या उससे अधिक के थ्रेशोल्ड अंतराल का उपयोग करना सुनिश्चित करें।
चरण 6: आनंद लें
यदि आपके पास एक वास्तविक परियोजना में वॉचडॉग टाइमर का उपयोग करने का उदाहरण है, तो मुझे टिप्पणियों में बताएं, वीडियो को पसंद करना सुनिश्चित करें और सदस्यता लेना न भूलें।
चीयर्स और पढ़ने/देखने के लिए धन्यवाद!
सिफारिश की:
तीन लाउडस्पीकर सर्किट -- चरण-दर-चरण ट्यूटोरियल: 3 चरण
तीन लाउडस्पीकर सर्किट || चरण-दर-चरण ट्यूटोरियल: लाउडस्पीकर सर्किट एमआईसी पर पर्यावरण से प्राप्त होने वाले ऑडियो सिग्नल को मजबूत करता है और इसे स्पीकर को भेजता है जहां से एम्पलीफाइड ऑडियो उत्पन्न होता है। यहां, मैं आपको इस लाउडस्पीकर सर्किट का उपयोग करने के तीन अलग-अलग तरीके दिखाऊंगा:
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग ५५५ टाइमर: ३ कदम
डी फ्लिप फ्लॉप और 555 टाइमर के साथ स्टेपर मोटर; सर्किट का पहला भाग 555 टाइमर: स्टेपर मोटर एक डीसी मोटर है जो असतत चरणों में चलती है। इसका उपयोग अक्सर प्रिंटर और यहां तक कि रोबोटिक्स में भी किया जाता है। मैं इस सर्किट को चरणों में समझाऊंगा। सर्किट का पहला भाग 555 है टाइमर यह 555 चिप w के साथ पहली छवि (ऊपर देखें) है
मिडी हैंग ड्रम बनाने में आसान: 4 कदम
मिडी हैंग ड्रम बनाने में आसान: हैंग ड्रम, जिसे हैंडपैन, टैंक ड्रम या स्टील टंग ड्रम भी कहा जाता है, एक उपकरण है जो प्रोपेन टैंक (निश्चित रूप से खाली) से बनाया जाता है, जिसमें धातु में कुछ जीभ काटी जाती है। नोटों की पिच जीभ के आकार और वजन पर निर्भर करती है। यह प्रो
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: 6 कदम
एवीआर माइक्रोकंट्रोलर। टाइमर का उपयोग कर एलईडी फ्लैशर। टाइमर बाधित। टाइमर सीटीसी मोड: सभी को नमस्कार! इलेक्ट्रॉनिक्स के क्षेत्र में टाइमर एक महत्वपूर्ण अवधारणा है। हर इलेक्ट्रॉनिक कंपोनेंट टाइम बेस पर काम करता है। इस बार आधार सभी कामों में तालमेल बिठाने में मदद करता है। सभी माइक्रोकंट्रोलर कुछ पूर्वनिर्धारित घड़ी आवृत्ति पर काम करते हैं
NE555 टाइमर - NE555 टाइमर को एक अस्थिर कॉन्फ़िगरेशन में कॉन्फ़िगर करना: 7 चरण
NE555 टाइमर | NE555 टाइमर को एक अस्थिर कॉन्फ़िगरेशन में कॉन्फ़िगर करना: NE555 टाइमर इलेक्ट्रॉनिक्स की दुनिया में सबसे अधिक उपयोग किए जाने वाले IC में से एक है। यह डीआईपी 8 के रूप में है, जिसका अर्थ है कि इसमें 8 पिन हैं