मैं अपने Arduino ऊनो देख रहा था और मैं डिजिटल पिन से कि प्रतीक देखा 11
, 10
, 9
, 6
, 5
, और 3
। इनका क्या मतलब है? क्या यह काम करने के तरीके को प्रभावित करता है? क्या मैं कुछ स्थितियों के लिए इन पिनों का उपयोग नहीं कर सकता हूं?
मैं अपने Arduino ऊनो देख रहा था और मैं डिजिटल पिन से कि प्रतीक देखा 11
, 10
, 9
, 6
, 5
, और 3
। इनका क्या मतलब है? क्या यह काम करने के तरीके को प्रभावित करता है? क्या मैं कुछ स्थितियों के लिए इन पिनों का उपयोग नहीं कर सकता हूं?
जवाबों:
आराम करें। चिंता मत करो। इन पिनों को बुलाया जाता है PWM
और अन्य पिनों की तरह ही होते हैं, सिवाय इसके कि उनमें "जोड़ा गया बोनस" हो।
Arduino की वेबसाइट से कुछ उपयोग :
- एक एलईडी Dimming
- अनुरूप आउटपुट देता है। आउटपुट अभी भी 0V से 5V तक डिजिटल रूप से चालू है। हालांकि, एनालॉग वोल्टेज को अनुकरण करने के लिए कम-पास फिल्टर (संधारित्र और अवरोधक)।
- ऑडियो सिग्नल उत्पन्न करना।
- मोटर्स के लिए चर गति नियंत्रण प्रदान करना।
- उदाहरण के लिए, रिमोट कंट्रोल के लिए एक इन्फ्रारेड एलईडी ड्राइव करने के लिए एक संग्राहक संकेत उत्पन्न करना।
यह काम किस प्रकार करता है:
PWM पिन को ऑन-चिप टाइमर द्वारा नियंत्रित किया जाता है, जो 490Hz की दर से स्वचालित रूप से पिन को टॉगल करता है। "पल्स चौड़ाई मॉड्यूलेशन" (पीडब्लूएम) कितनी देर तक पिन उस आवृत्ति के एक चक्र के लिए चालू या बंद रहता है। यह एक एलईडी को मंद कर सकता है यह पहले की तरह आधे चमक पर है, जहां यह वास्तव में बहुत जल्दी चमक रहा है।
जब 25% कर्तव्य चक्र होता है, तो यह समय के एक-तरफ होता है। यदि आप एक एलईडी के लिए उपयोग करते हैं, तो यह लगभग 1 / 4th उज्ज्वल दिखाई देगा [दे या ले]। (नोट: जैसा कि कुछ लोगों ने बताया कि यह वास्तव में आनुपातिक नहीं है, लेकिन चलो इसे इस तरह से सरलता के लिए छोड़ दें। उदा: 25% हमेशा चमक 1/4 नहीं है।)
(यदि आप वास्तव में विद्युत प्रेमी हैं, तो आप शायद इसे एक एनालॉग आउटपुट बनाने के लिए एक संधारित्र जोड़ सकते हैं।)
आउटपुट के लिए इन पिनों का उपयोग कैसे करें:
सबसे पहले, आपको आउटपुट के रूप में पिन को परिभाषित करने की आवश्यकता है। फिर, आप analogWrite(ledPin, 128);
इसे शुरू करने के लिए उपयोग
करते हैं। ledPin
PWM पिन है कि आप PWM शुरू करना चाहते हैं और है 128
के बीच एक संख्या के साथ प्रतिस्थापित किया जाना चाहिए 0
और 255
; 0
: 0% duty cycle
(पिन पूरी तरह से बंद हो जाती है) और 255
: 100% duty cycle
। (पिन को पूरी तरह से चालू करता है)
स्रोत: http://www.arduino-tutorials.com/arduino-pwm/
मैं अपने कोड में वास्तव में तेजी से लाइट बंद क्यों नहीं कर सकता ?:
तकनीकी रूप से, आप कर सकते हैं, हालांकि, कुछ समस्याएं हैं:
अगर अरडिनो का एकमात्र उद्देश्य पीडब्लूएम सिग्नल उत्पन्न करना है, तो यह वास्तव में बहुत फर्क नहीं करेगा। हालांकि, यदि आप मुख्य लूप में 50 एमएस से अधिक की देरी करते हैं, तो यह समय को गड़बड़ कर देगा। सॉफ्टवेयर दृष्टिकोण के साथ आप किसी भी "देरी" कार्यों को समाप्त करना चाहेंगे क्योंकि Arduino केवल एक धागे पर चलता है (यह केवल एक समय में एक काम कर सकता है)। यदि आप जानते हैं कि आप क्या कर रहे हैं, तो यह प्रकाश को कम करने वाले अंतर से बहुत कुछ नहीं बनाएगा, लेकिन यदि आपके पास पीडब्लूएम के साथ एक अतिरिक्त पिन है, तो आप बस एक सॉफ्टवेयर दृष्टिकोण के साथ अपना समय बर्बाद कर रहे हैं।
जैसा कि दूसरों ने बताया है:
वर्तमान और वोल्टेज को सीमित करने के लिए आपको अपने सर्किट के लिए एक अवरोधक की आवश्यकता है। आप इसे छोड़ नहीं सकते।
पीडब्लूएम पिन के बारे में एक आम गलत धारणा यह है कि पीडब्लूएम का उपयोग करते समय, वर्तमान सीमित प्रतिरोधों (एलईडी के साथ, उदाहरण के लिए) का उपयोग करना आवश्यक नहीं है।
यह सच नहीं है। PWM पिन को डिजिटल पिन के रूप में सोचा जाना चाहिए, जो स्वचालित रूप से चालू और बंद हो जाते हैं। इसका मतलब है कि वे अन्य पिंस के समान हाई वोल्टेज में जाते हैं।
PWM के साथ एल ई डी का उपयोग करते समय, आपको अभी भी वर्तमान सीमित प्रतिरोधों का उपयोग करना चाहिए। PWM के साथ मोटर्स का उपयोग करते समय, आपको एक ट्रांजिस्टर का उपयोग करना चाहिए (लगभग हमेशा)।