विलंब के लिए Arduino टाइमर लाइब्रेरी

Vilamba Ke Li E Arduino Ta Imara La Ibreri



समय-संवेदनशील कार्यों को संभालने के लिए टाइमर Arduino के प्रमुख घटकों में से एक है। Arduino के टाइमर आमतौर पर समय के छोटे अंतराल के लिए देरी या निष्पादन को रोकने के लिए देरी() फ़ंक्शन का उपयोग करते हैं। हालाँकि, मल्टीटास्किंग के लिए विलंबित कार्यों के लिए एक विशेष लाइब्रेरी की आवश्यकता होती है।

यह मार्गदर्शिका संक्षिप्त विवरण के साथ देरी के लिए विभिन्न Arduino टाइमर लाइब्रेरीज़ को कवर करेगी। इससे पहले आइए Arduino देरी() फ़ंक्शन की सीमा को समझें।







विलंब की सीमाएं()

यदि आप एक साथ विभिन्न कार्य करना चाहते हैं तो देरी() फ़ंक्शन का उपयोग नहीं किया जा सकता है, क्योंकि यह एक अवरोधक फ़ंक्शन है। इसका मतलब यह है कि जब भी किसी कार्य के निष्पादन को रोकने के लिए डिले () फ़ंक्शन का उपयोग किया जाता है, तो यह इस बीच किसी अन्य फ़ंक्शन को निष्पादित करने की अनुमति नहीं देता है। इसलिए, जब कोई दूसरे प्रोग्राम को चलाते समय एक प्रोग्राम को रोकना चाहता है, तो देरी() का उपयोग नहीं किया जा सकता है।



फिर क्या करे?



फ़ंक्शन कॉल में देरी के लिए Arduino टाइमर लाइब्रेरी

इस समस्या को हल करने के लिए, आपको विलंब निष्पादित करने के लिए डिज़ाइन की गई विशेष लाइब्रेरी का उपयोग करना चाहिए। ये लाइब्रेरी आपको प्रोग्राम में कुछ फ़ंक्शन को कुछ समय के लिए रोकने और इस बीच अन्य को चलाने की अनुमति देती हैं। ये लाइब्रेरी टाइमर लाइब्रेरी हैं जो मल्टीटास्किंग को अवरुद्ध नहीं करती हैं। इनका उपयोग आवश्यकता पड़ने पर फ़ंक्शन को कॉल करने के लिए किया जा सकता है।





Arduino कोड में Arduino टाइमर लाइब्रेरी कैसे शामिल करें

टाइमर लाइब्रेरी को शामिल करने के लिए सबसे पहले हमें यहां जाकर ज़िप फ़ाइल को जोड़ना होगा लाइब्रेरी शामिल करें Arduino IDE में अनुभाग। Arduino लाइब्रेरीज़ को जोड़ने के विस्तृत विवरण के लिए, आप इस लेख को पढ़ सकते हैं Arduino IDE में लाइब्रेरी कैसे स्थापित करें .

स्टेप 1

सबसे पहले, आपको Arduino टाइमर लाइब्रेरी डाउनलोड करनी होगी।



चरण दो

टाइमर लाइब्रेरी डाउनलोड करने के बाद, Arduino IDE खोलें और स्केच पर जाएं, फिर लाइब्रेरी शामिल करें, और फिर Add ZIP लाइब्रेरी पर क्लिक करें।


Arduino प्रदर्शित करेगा 'लाइब्रेरी स्थापित' आउटपुट में.

चरण 3

आपके द्वारा Arduino IDE में ज़िप लाइब्रेरी जोड़ने के बाद, यह Arduino IDE में लाइब्रेरी विकल्पों को शामिल करने की ड्रॉप-डाउन सूची में दिखाई देगा। यहाँ से शामिल हैं घड़ी पुस्तकालय।


जब आप शामिल करते हैं 'टाइमर' लाइब्रेरी, प्रीप्रोसेसर निर्देश स्केच पर दिखाई देगा। अन्यथा, आप लाइब्रेरी को मैन्युअल रूप से शामिल करने के लिए चरण 4 का पालन कर सकते हैं।

# शामिल करना < टाइमर.एच >

चरण 4

Arduino टाइमर लाइब्रेरी को Arduino कोड में शामिल करने के लिए, आपको इसका उपयोग करने की आवश्यकता है #शामिल करना निर्देश के साथ (।एच) एक्सटेंशन टाइमर लाइब्रेरी का नाम और फिर एक टाइमर बनाएं जैसा कि नीचे दिखाया गया है।

#शामिल करें <टाइमर.एच>
ऑटो टाइमर = टाइमर_क्रिएट_डिफॉल्ट ( ) ;


टाइमर बनाने के बाद, आपको उस टाइमर को कॉल करने के लिए एक फ़ंक्शन बनाना होगा। आपको किसी निर्दिष्ट समय पर, थोड़े विलंब के बाद, या समय के अंतराल के बाद टाइमर को कॉल करने की आवश्यकता हो सकती है। ऐसी स्थितियों में टाइमर को कॉल करने के उदाहरण नीचे दिए गए हैं।

यदि आप थोड़ी देरी चाहते हैं

टाइमर.इन ( विलंब, function_to_call ) ;
टाइमर.इन ( विलंब, function_to_call, तर्क ) ; // या वैकल्पिक तर्क के साथ के लिए function_to_call


इस मामले में, हम इसका उपयोग कर सकते हैं टाइमर.इन() किसी विशिष्ट फ़ंक्शन को कॉल करने से पहले विलंब शुरू करने के लिए फ़ंक्शन। विलंब पैरामीटर मिलीसेकंड में उस समय का प्रतिनिधित्व करता है जिसे हम कोड निष्पादित करने से पहले इंतजार करना चाहते हैं।

निर्दिष्ट विलंब के बाद, function_to_call उपयोग किया जाएगा। कॉल के समय फ़ंक्शन को पास करने के लिए एक तर्क को भी परिभाषित किया जा सकता है।

यदि आप किसी विशिष्ट समय पर टाइमर को कॉल करना चाहते हैं

यह फ़ंक्शन किसी विशेष समय पर किसी विशिष्ट फ़ंक्शन को निष्पादित करने के लिए टाइमर सेट करता है। समय पैरामीटर उस समय को निर्दिष्ट करता है जिस पर फ़ंक्शन को कॉल किया जाना चाहिए। यह एक विशिष्ट टाइमस्टैम्प या मिलीसेकंड में विलंब मान हो सकता है। function_to_call फ़ंक्शन का पैरामीटर है जिसे टाइमर की समाप्ति के बाद निष्पादित किया जाना है।

टाइमर.at ( समय , function_to_call ) ;
टाइमर.at ( समय , function_to_call, तर्क ) ; // तर्क के साथ


timer.at(समय, function_to_call, तर्क) फ़ंक्शन कॉल किए जा रहे फ़ंक्शन के लिए एक तर्क पारित कर सकता है। तर्क पैरामीटर वह मान होगा जिसे फ़ंक्शन में पारित किया जाना है।

यदि आप समय के अंतराल के बाद टाइमर को कॉल करना चाहते हैं

इस स्थिति में, आप किसी विशिष्ट समय अंतराल के बाद किसी फ़ंक्शन को बार-बार कॉल करने के लिए timer.every() फ़ंक्शन का उपयोग कर सकते हैं। अंतराल पैरामीटर समय के निष्पादन योग्य अंतराल के बीच मिलीसेकंड में समय दिखाता है।

वांछित अंतराल और निर्दिष्ट करें function_to_call उस अंतराल के बाद बार-बार उपयोग किया जाएगा। पिछले मामलों की तरह, आप फ़ंक्शन को कॉल करने पर पास करने के लिए एक वैकल्पिक तर्क शामिल कर सकते हैं।

टाइमर.हर ( अंतराल, function_to_call ) ;
टाइमर.हर ( अंतराल, function_to_call, तर्क ) ; // अपना अंतराल यहां लिखें


आप लिंक के माध्यम से फ़ंक्शन कॉल में देरी के लिए टाइमर लाइब्रेरी का उपयोग करने की इस विधि के बारे में अधिक विस्तार से जान सकते हैं विलंबित कार्यों के लिए Arduino टाइमर लाइब्रेरी .

Arduino में देरी के लिए कुछ अन्य लाइब्रेरी

नीचे दिया गया लिंक आपको Arduino की टाइमर लाइब्रेरी में ले जाएगा, जहां आप फ़ंक्शन कॉल में देरी के लिए टाइमर लाइब्रेरी स्थापित कर सकते हैं।

माइकल कॉन्ट्रेरास द्वारा टाइमर लाइब्रेरी

एक लेखक भी है जिसने फ़ंक्शन कॉल में देरी के लिए अपनी स्वयं की बनाई गई गैर-अवरुद्ध Arduino टाइमर लाइब्रेरी प्रदान की है। उन्होंने बिना अवरोध के विलंबित कार्य करने के लिए Arduino के मिलिस() और माइक्रोस() जैसे इनबिल्ट फ़ंक्शंस का उपयोग किया है। उनकी लाइब्रेरी का लिंक नीचे दिया गया है:

माइकलउरे Arduino टाइमर लाइब्रेरी

निष्कर्ष

हालाँकि Arduino में डिले() फ़ंक्शन पहले से मौजूद है, लेकिन इसका उपयोग एक साथ कई कार्य करने के लिए नहीं किया जा सकता है। एक ही समय में कई कार्यों को निष्पादित करने के लिए, Arduino समुदाय द्वारा नॉन-ब्लॉकिंग टाइमर लाइब्रेरी बनाई गई हैं जिनका उपयोग आवश्यकता पड़ने पर किया जा सकता है।