टाइमर माइक्रोकंट्रोलर्स की एक आवश्यक विशेषता है, जिससे आप देरी पर भरोसा किए बिना सटीक अंतराल पर कार्य करने की अनुमति देते हैं। Arduino UNO में तीन अंतर्निहित हार्डवेयर टाइमर (Timer0, Timer1, और Timer2) हैं, जिन्हें PWM सिग्नल, टाइमिंग इवेंट या शेड्यूलिंग कार्यों जैसे विभिन्न कार्यों के लिए कॉन्फ़िगर किया जा सकता है। यह ट्यूटोरियल आपको Arduino टाइमर को समझने और उपयोग करने के माध्यम से मार्गदर्शन करेगा।
आपको क्या चाहिए
- Arduino Uno (या एक संगत बोर्ड)
- एलईडी और 220-ओम रोकनेवाला (समय-आधारित उदाहरणों के लिए)
- ब्रेडबोर्ड और जम्पर तार
- Arduino ide आपके कंप्यूटर पर स्थापित है
चरण 1: Arduino टाइमर को समझना
Arduino UNO के Atmega328p माइक्रोकंट्रोलर में तीन हार्डवेयर टाइमर हैं:
घड़ी | बिट रिज़ॉल्यूशन | प्राथमिक उपयोग |
---|---|---|
Timer0 | 8 बिट | मिलिस (), माइक्रोस (), पीडब्लूएम ऑन पिन 5, 6 |
Timer1 | 16-बिट | सर्वो लाइब्रेरी, PWM ऑन पिन 9, 10 |
Timer2 | 8 बिट | टोन () फ़ंक्शन, PWM ऑन पिन 3, 11 |
टाइमर की प्रमुख विशेषताएं
- टाइमर PWM सिग्नल उत्पन्न कर सकते हैं।
- टाइमर ट्रिगर इंटरप्ट कर सकते हैं।
- टाइमर का उपयोग आंतरिक रूप से Arduino कार्यों द्वारा किया जाता है जैसे
delay()
औरmillis()
.
चरण 2: एक साधारण पीडब्लूएम सिग्नल उत्पन्न करना
पीडब्लूएम (पल्स चौड़ाई मॉड्यूलेशन) संकेतों का उपयोग आमतौर पर एलईडी चमक या मोटर गति को नियंत्रित करने के लिए किया जाता है। PWM सिग्नल बनाने के लिए Timer0 का उपयोग करें।
उदाहरण कोड: पीडब्लूएम के साथ एलईडी चमक नियंत्रण
चरण 3: इंटरप्ट के साथ टाइमर का उपयोग करना
आप नियमित अंतराल पर रुकावट को ट्रिगर करने के लिए टाइमर को कॉन्फ़िगर कर सकते हैं। उदाहरण के लिए, टाइमर 1 को हर सेकंड एक एलईडी को टॉगल करने के लिए सेट किया जा सकता है।
उदाहरण कोड: टाइमर 1 रुकावट
चरण 4: टाइमर के साथ समय को मापना
आप सटीक अवधि को मापने के लिए टाइमर का उपयोग कर सकते हैं। टाइमर 2 छोटे अंतराल के लिए उपयुक्त है क्योंकि यह 8-बिट टाइमर है।
उदाहरण कोड: समय माप के लिए टाइमर 2
चरण 5: टाइमर लाइब्रेरी का उपयोग करना
टाइमर के साथ काम करने के लिए, आप लाइब्रेरी का उपयोग कर सकते हैं जैसे टिमरोन या टिमरथ्री.
टाइमरोन लाइब्रेरी का उपयोग करना
- Arduino IDE में Timerone लाइब्रेरी स्थापित करें।
- कार्यों को आसानी से शेड्यूल करने के लिए इसका उपयोग करें:
टाइमर के अनुप्रयोग
- मोटर नियंत्रण के लिए सटीक पीडब्लूएम सिग्नल उत्पन्न करना
- कोड को अवरुद्ध करने के बिना शेड्यूलिंग कार्य (जैसे, मल्टीटास्किंग)
- घटनाओं के लिए समय अंतराल को मापना
- उपयोग किए बिना सटीक देरी पैदा करना
delay()
- एलईडी को ब्लिंकिंग या डेटा भेजने जैसे आवधिक क्रियाओं का प्रबंधन करना
समस्या निवारण
- टाइमर संघर्ष: सुनिश्चित करें कि आप कई कार्यों (जैसे, सर्वो लाइब्रेरी और पीडब्लूएम) के लिए एक ही टाइमर का उपयोग नहीं करते हैं।
-
काम नहीं कर रहा है: जाँच करें कि व्यवधान के साथ सक्षम हैं
interrupts()
. - अप्रत्याशित व्यवहार: डबल-चेक प्रेस्कलर और सही समय के लिए मैच मानों की तुलना करें।
निष्कर्ष
आपने सीखा है कि पीडब्लूएम सिग्नल उत्पन्न करने, इंटरप्ट को संभालने और समय को मापने के लिए Arduino टाइमर का उपयोग कैसे करें। कुशल और सटीक Arduino परियोजनाओं को बनाने के लिए माहिर टाइमर शक्तिशाली सुविधाओं को अनलॉक करता है। विभिन्न कॉन्फ़िगरेशन के साथ प्रयोग करें और अपनी अगली परियोजना को अनुकूलित करने के लिए टाइमर लागू करें!