कुछ पिनों में उनकी संख्या के आगे `~` संकेत क्यों होते हैं?


32

मैं अपने Arduino ऊनो देख रहा था और मैं डिजिटल पिन से कि प्रतीक देखा 11, 10, 9, 6, 5, और 3। इनका क्या मतलब है? क्या यह काम करने के तरीके को प्रभावित करता है? क्या मैं कुछ स्थितियों के लिए इन पिनों का उपयोग नहीं कर सकता हूं?


19
टिल्ड प्रतीक का अर्थ है "लगभग"। के रूप में, "यह लगभग पिन 11 है"। एमएफजी प्रक्रिया के दौरान पिंस थोड़ा-बहुत शिफ्ट कर सकते हैं। दुर्लभ रूप से 11 पिन होगा 11 बिल्कुल 11. आमतौर पर यह थोड़ा अधिक या 11 से थोड़ा कम होता है। जिन पिंडों में बदलाव की प्रवृत्ति होती है उन्हें ~ प्रतीक के साथ निरूपित किया जाएगा। :)

6
@AnnonomusPerson David का मुखर होना, जो तुरंत स्पष्ट नहीं है यदि आप पिनआउट और पसंद से अपरिचित हैं।
शामत

7
@ शतम: या अगर आप डेविड से अपरिचित हैं :)
क्रिस लाप्लांट

जवाबों:


31

आराम करें। चिंता मत करो। इन पिनों को बुलाया जाता है PWMऔर अन्य पिनों की तरह ही होते हैं, सिवाय इसके कि उनमें "जोड़ा गया बोनस" हो।


Arduino की वेबसाइट से कुछ उपयोग :

  • एक एलईडी Dimming
  • अनुरूप आउटपुट देता है। आउटपुट अभी भी 0V से 5V तक डिजिटल रूप से चालू है। हालांकि, एनालॉग वोल्टेज को अनुकरण करने के लिए कम-पास फिल्टर (संधारित्र और अवरोधक)।
  • ऑडियो सिग्नल उत्पन्न करना।
  • मोटर्स के लिए चर गति नियंत्रण प्रदान करना।
  • उदाहरण के लिए, रिमोट कंट्रोल के लिए एक इन्फ्रारेड एलईडी ड्राइव करने के लिए एक संग्राहक संकेत उत्पन्न करना।

यह काम किस प्रकार करता है:

PWM पिन को ऑन-चिप टाइमर द्वारा नियंत्रित किया जाता है, जो 490Hz की दर से स्वचालित रूप से पिन को टॉगल करता है। "पल्स चौड़ाई मॉड्यूलेशन" (पीडब्लूएम) कितनी देर तक पिन उस आवृत्ति के एक चक्र के लिए चालू या बंद रहता है। यह एक एलईडी को मंद कर सकता है यह पहले की तरह आधे चमक पर है, जहां यह वास्तव में बहुत जल्दी चमक रहा है। Image of different duty cycles.

जब 25% कर्तव्य चक्र होता है, तो यह समय के एक-तरफ होता है। यदि आप एक एलईडी के लिए उपयोग करते हैं, तो यह लगभग 1 / 4th उज्ज्वल दिखाई देगा [दे या ले]। (नोट: जैसा कि कुछ लोगों ने बताया कि यह वास्तव में आनुपातिक नहीं है, लेकिन चलो इसे इस तरह से सरलता के लिए छोड़ दें। उदा: 25% हमेशा चमक 1/4 नहीं है।)

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


आउटपुट के लिए इन पिनों का उपयोग कैसे करें:

सबसे पहले, आपको आउटपुट के रूप में पिन को परिभाषित करने की आवश्यकता है। फिर, आप analogWrite(ledPin, 128); इसे शुरू करने के लिए उपयोग करते हैं। ledPinPWM पिन है कि आप PWM शुरू करना चाहते हैं और है 128के बीच एक संख्या के साथ प्रतिस्थापित किया जाना चाहिए 0और 255; 0: 0% duty cycle(पिन पूरी तरह से बंद हो जाती है) और 255: 100% duty cycle। (पिन को पूरी तरह से चालू करता है)

स्रोत: http://www.arduino-tutorials.com/arduino-pwm/


मैं अपने कोड में वास्तव में तेजी से लाइट बंद क्यों नहीं कर सकता ?:

तकनीकी रूप से, आप कर सकते हैं, हालांकि, कुछ समस्याएं हैं:

  • यह Arduino के साथ हार्डवेयर्ड सर्किट का उपयोग करने जितना सटीक नहीं हो सकता है
  • इसके सरल केवल "अगर" बयान के बहुत सारे होने के बजाय निर्देश टाइप करने के लिए

अगर अरडिनो का एकमात्र उद्देश्य पीडब्लूएम सिग्नल उत्पन्न करना है, तो यह वास्तव में बहुत फर्क नहीं करेगा। हालांकि, यदि आप मुख्य लूप में 50 एमएस से अधिक की देरी करते हैं, तो यह समय को गड़बड़ कर देगा। सॉफ्टवेयर दृष्टिकोण के साथ आप किसी भी "देरी" कार्यों को समाप्त करना चाहेंगे क्योंकि Arduino केवल एक धागे पर चलता है (यह केवल एक समय में एक काम कर सकता है)। यदि आप जानते हैं कि आप क्या कर रहे हैं, तो यह प्रकाश को कम करने वाले अंतर से बहुत कुछ नहीं बनाएगा, लेकिन यदि आपके पास पीडब्लूएम के साथ एक अतिरिक्त पिन है, तो आप बस एक सॉफ्टवेयर दृष्टिकोण के साथ अपना समय बर्बाद कर रहे हैं।


जैसा कि दूसरों ने बताया है:

वर्तमान और वोल्टेज को सीमित करने के लिए आपको अपने सर्किट के लिए एक अवरोधक की आवश्यकता है। आप इसे छोड़ नहीं सकते।


1
मुझे नहीं पता कि आपके पास "प्रोसेसिंग पावर" (या जो भी वाक्यांश का अर्थ होता है) का मतलब है। पीडब्लूएम काम करता है क्योंकि यह उन टाइमर द्वारा ट्रिगर किया जाता है जो रनिंग कोड से स्वतंत्र चल रहे हैं।
बाल्डेंगिनर

@ JamesC4S मेरा मतलब है कि यदि आप देरी जोड़ते हैं तो यह समग्र कोड को धीमा कर देता है और यह "चालू" और "बंद" हो जाता है। प्रोसेसर ओवरहीट होने से पहले प्रति सेकंड केवल इतनी सारी चीजें कर सकता है ताकि यह नियंत्रित हो जाए कि यह कितनी तेजी से जाता है।
बेनामी पेंगुइन

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

1
@AnnonomusPerson: मैं कहूंगा कि कोड में PWM को लागू करने के दो तरीके हैं: या तो प्रोसेसर में एक PWM को लूप में प्रदर्शित किया जा सकता है, जो कि बाहर निकलने के समय शायद कुछ और नहीं करता है, सिवाय इसके कि कोई और टाइमर-टिक बाधित हो सकता है PWM प्रदर्शन करें। पूर्व स्थिति में, PWM होने के दौरान प्रोसेसर कुछ और करने में सक्षम नहीं होगा; उत्तरार्द्ध में, PWM समय की सटीकता और सटीकता की सीमा होगी। हार्डवेयर पीडब्लूएम सर्किट एक चिप को साफ पीडब्लूएम तरंगों को उत्पन्न करने की अनुमति देता है जो कि कुछ चीजों को करते हुए एक माइक्रोसेकंड के एक गुट के भीतर सटीक होते हैं।
सुपरैट

ध्यान दें कि विज़न कैसे काम करता है, इसके लिए धन्यवाद, 1/4 डीसी (या किसी अन्य अनुपात) के साथ एक एलईडी पूर्ण चमक के संगत अंश को प्रकट नहीं करेगा।
इग्नासियो वाज़केज़-अब्राम्स

7

पीडब्लूएम पिन के बारे में एक आम गलत धारणा यह है कि पीडब्लूएम का उपयोग करते समय, वर्तमान सीमित प्रतिरोधों (एलईडी के साथ, उदाहरण के लिए) का उपयोग करना आवश्यक नहीं है।

यह सच नहीं है। PWM पिन को डिजिटल पिन के रूप में सोचा जाना चाहिए, जो स्वचालित रूप से चालू और बंद हो जाते हैं। इसका मतलब है कि वे अन्य पिंस के समान हाई वोल्टेज में जाते हैं।

PWM के साथ एल ई डी का उपयोग करते समय, आपको अभी भी वर्तमान सीमित प्रतिरोधों का उपयोग करना चाहिए। PWM के साथ मोटर्स का उपयोग करते समय, आपको एक ट्रांजिस्टर का उपयोग करना चाहिए (लगभग हमेशा)।


2
@NnonomusPerson नहीं, यह सही नहीं है। आपको एल ई डी के लिए अभी भी वर्तमान सीमा की आवश्यकता होगी, भले ही आपके पास वास्तविक एनालॉग आउटपुट हों। एल ई डी को निरंतर वर्तमान स्रोतों की आवश्यकता होती है, न कि निरंतर वोल्टेज स्रोतों की।
बाल्डेंगिनर

3
You can get LEDs with a current-limiting resistor built in. I was so disappointed when I asked for an LED at Maplin and a suitable resistor to run it off 12V when they told me they had ones that ran directly from 12V. Heh, just wait until they try packaging a load of transistors into one package to make an AND gate or something.
Andrew Morton
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.