कितने व्यक्तिगत रोशनी एक आर्डिनो नियंत्रण कर सकते हैं


19

मैं एल ई डी को नियंत्रित करने के लिए एक नियमित Arduino बोर्ड का उपयोग करना चाहता हूं - सबसे अधिक रोशनी क्या है जिसे मैं बोर्ड से व्यक्तिगत रूप से नियंत्रित कर सकता हूं?

वहाँ कैसे इसे हुक करने के लिए एक ट्यूटोरियल है?


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

जवाबों:


26

मेरा मानना ​​है कि चार्ली-प्लेक्सिंग एन लाइनों का उपयोग एन * (एन -1) एल ई डी को नियंत्रित करता है। विकिपीडिया पर एक अच्छा लेख है।

मेरे एक दोस्त, जिमी पी। रोडर्स, एक Arduino शील्ड पर 126 एल ई डी फिट करते हैं। वह एल ई डी को नियंत्रित करने के लिए चार्ली-प्लेक्सिंग का उपयोग करता है। उनके बोर्ड की कुछ जानकारी इस प्रकार है - jimmieprodgers.com/2009/12/my-development-process// ( आर्काइव.ऑर्ग )


अंतिम बोस्टन अरुडिनो उपयोगकर्ता समूह की बैठक में जिमी पी। रोडर्स ने चार्ली-पेलेक्सिंग आरेख को एक मैट्रिक्स के रूप में लेबल वाले जाल के साथ आकर्षित किया। इस तरह से तैयार किए गए स्कैमैटिक्स अवधारणा को संप्रेषित करने का एक अच्छा काम करने के लिए लग रहे थे। मैंने कुछ इसी तरह की योजनाएँ बनाईं - देखें http://wiblocks.luciani.org/FAQ/faq-charlie-plex.html


आज कुछ नया सीखा; आपने मेरा उत्थान :-)
जोनाथन 14

4
इस विधि के साथ ध्यान रखें कि एक बार में N-1 एल ई डी होना केवल संभव है।
एंग्रीईई

2
jimmieprodgers.comइस जवाब में लिंक वायरस के साथ भरी हुई है।
विवेक महाराज

1
@vivekmaharajh: मैंने लिंक को मूल पृष्ठ की एक आर्काइव.ऑर्ग लिंक से बदल दिया है।
डेव ट्वीड

13

आप किसी भी सीरियल स्ट्रीम से कई समानांतर आउटपुट प्राप्त करने के लिए शिफ्ट रजिस्टर ( http://en.wikipedia.org/wiki/Shift_register ) का उपयोग कर सकते हैं।

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


7

किसी भी दिए गए AVR माइक्रोकंट्रोलर पिन को 40 mA तक स्रोत की अनुमति दी जाती है, और चिप द्वारा कुल बिजली की आपूर्ति खट्टी या डूब जाती है (अर्थात, जमीन और Vcc पिन पर) 200 mA से नीचे होने की आवश्यकता होती है।

चार्लीप्लेक्सिंग उन परिस्थितियों के लिए एक बढ़िया समाधान है, जहां आपको बहुत सारी एलईडी की आवश्यकता होती है, लेकिन केवल एक एलईडी जलाकर प्राप्त कर सकते हैं एक समय में । एक मानक Arduino बोर्ड (एक डूमिलानोव की तरह) 17 "मुफ्त" I / O पिन प्रदान करता है, न कि TX, RX, Reset, या pin 13. की ​​गिनती करते हुए। इसलिए, आप 17 * 16 = 272 LED को हुक कर सकते हैं। यह अच्छी तरह से काम कर सकता है, खासकर यदि आप एक एलईडी जलाकर रख रहे हैं, या बस कुछ के बीच स्कैन कर रहे हैं। लेकिन अगर आप पूरे मैट्रिक्स को एक पैटर्न के साथ प्रकाश में लाने की कोशिश कर रहे हैं, तो आप पाएंगे कि प्रत्येक समय के 1/272 से थोड़ा कम है, इसलिए यदि आपका ड्राइव करंट किसी भी समय 30 mA है, तो प्रत्येक LED का है। औसत करंट लगभग 0.1 mA-- बहुत मंद होगा।

यदि आपको कई एल ई डी की आवश्यकता नहीं है, लेकिन इसके बजाय अधिक चमक की आवश्यकता है, तो पारंपरिक मल्टीप्लेक्सिंग एक बेहतर विकल्प हो सकता है। इस स्थिति में, आप अपनी कुछ पंक्तियों को पंक्तियों के रूप में और कुछ का उपयोग मैट्रिक्स में स्तंभों के रूप में करते हैं। यदि आप 10 mA LED करंट का उपयोग करते हैं, तो आप 4 कॉलम और 13 पंक्तियों के मैट्रिक्स को परिभाषित कर सकते हैं, जहाँ एक समय में सभी 4 LED एक पंक्ति में हो सकते हैं, और आप पंक्तियों के माध्यम से स्कैन करते हैं। फिर प्रत्येक पंक्ति 10 एमए वर्तमान में 1/13 के समय पर होती है, इसलिए औसत एलईडी चालू 0.76 एमए के रूप में उच्च हो सकता है, लेकिन आपको केवल 4 * 13 = 104 एलईडी मिलते हैं। (निश्चित रूप से चार्लीप्लक्सिंग की तुलना में प्रति एलईडी उज्जवल।)

अंतिम उदाहरण में सीमा AVR-- पर पिन प्रति 40 mA है जो प्रत्येक पंक्ति ड्राइविंग पिन स्रोतों 4x10 = 40 mA है। यदि आप बाहरी ट्रांजिस्टर (जो सस्ते और छोटे हो सकते हैं) को पंक्ति आउटपुट में जोड़ने की अनुमति देते हैं, तो आप उस विशेष सीमा से बच सकते हैं और उज्जवल हो सकते हैं। उदाहरण के लिए, आप 8 पंक्तियों और 9 स्तंभों के साथ 8x9 सरणी बना सकते हैं, 72 एलईडी पूरी तरह से। 8 पंक्तियों में से एक एक समय में है, जिसे ट्रांजिस्टर के माध्यम से चुना गया है। दी गई पंक्ति में सभी 9 एलइडी तक एक समय में हो सकता है, 20 एमए पर संचालित किया जा सकता है, इसलिए 180 एमए ट्रांजिस्टर से आता है, और आप एवीआर की वर्तमान सीमाओं के तहत रहते हैं। एलईडी के प्रति औसत करंट अब 20 mA / 8 = 2.5 mA-- आमतौर पर काफी उज्ज्वल है।


6

यहाँ एक बहुत अच्छा, विस्तृत ट्यूटोरियल है जिसमें 8x8x8 एलईडी क्यूब चलाने के लिए एक Arduino का उपयोग करने पर एक अनुभाग शामिल है। (उनके पास मौजूद YouTube मूवी को याद न करें)

यहाँ छवि विवरण दर्ज करें


ऐसा कुछ दिखता है जो मैंने मिनियापोलिस के 1979 या यूएफओ के प्रदर्शनों में यूएफओ में देखा था, लेकिन मुझे याद है कि लगभग 4096 लघु प्रकाश बल्ब हैं। क्या किसी और को ऐसा कुछ देखकर याद आता है?
सुपरकैट

4

वहाँ कई I / O विस्तारक हैं जो SPI या I2C बसों का उपयोग करते हैं। एक एकल MSSP मॉड्यूल के साथ आप एल ई डी जैसे डिजिटल आउटपुट के लगभग अनंत मात्रा को नियंत्रित कर सकते हैं।

माइक्रोचिप datasheets या निम्न भागों के लिए आवेदन नोट्स देखें:
- एसपीआई MCP23S08
I2C - MCP23008


1

17 I / O पिन के साथ, सत्रह NPN ट्रांजिस्टर (वर्तमान को बढ़ावा देने के लिए उत्सर्जक अनुयायी) कोई विशेष समस्या नहीं होनी चाहिए, जो 1/17 शुल्क चक्र में औसत संयोजन या 0.7mA (200mA / 272) के साथ, मनमाने ढंग से संयोजन में 272 एल ई डी दिखा रहा है। चिप की क्षमता एक बार में 200mA को नीचे खींच सकती है। 0.7-वोल्ट ड्रॉप प्राप्त करने के लिए एक डायोड जोड़ने से अन्य 17 एलईड (1/18 के लिए ड्यूटी चक्र को कम करने) को जोड़ने की अनुमति मिलेगी, हालांकि चमक अन्य लोगों से काफी मेल नहीं खाएगी।


क्या आप स्पष्ट कर सकते हैं कि आप किस प्रकार के सर्किट का सुझाव यहां दे रहे हैं? एमिटर फॉलोअर एक BJT टोपोलॉजी है।
केविन वर्मियर

@reemrevnivek: ऊपर संपादित देखें। मैं मानसिक रूप से कुछ बदलावों के आसपास टॉस कर रहा था, और वे एक साथ मिल गए। यदि कोई हाई-साइड ड्राइव को बढ़ावा देने के लिए ट्रांजिस्टर जोड़ रहा है लेकिन लो-साइड ड्राइव नहीं है, तो उन्हें BJT होने की आवश्यकता है। यदि कोई दोनों के लिए ट्रांजिस्टर का उपयोग कर रहा है, तो बेहतर हो सकता है।
सुपरकैट

0

जबकि विंडेल ओस्के एक अच्छा तर्क देता है कि 104 एल ई डी अधिक ट्रांजिस्टर जोड़े बिना अधिकतम है, टॉम इगोए ने 128 एलईडी की एक मैट्रिक्स की तस्वीरें पोस्ट की हैं जो एक एकल Arduino मेगा द्वारा सीधे नियंत्रित की जाती हैं - कोई अतिरिक्त ट्रांजिस्टर, असतत या एकीकृत नहीं।

क्या टॉम इगो को डेटशीट में सूचीबद्ध "पूर्ण अधिकतम वर्तमान प्रति पिन" से अधिक समय तक "धोखा" दिया जाता है?


2
नहीं, वह एक arduino मेगा का उपयोग करके धोखा दे रहा है। :) मेगा में एक सामान्य आर्डिनो की तुलना में कई अधिक IO पिन होते हैं।
क्रिस्टोफर बिग्स

@unixbigot - दुःख की बात है, मुझे एक कूल हैक देखने की उम्मीद थी जिसमें एलईडी ड्राइविंग के लिए रिसेट पिन का पुन: उपयोग, या डायोड ड्रॉप का उपयोग शामिल था ..
केविन वर्मियर

1
आपका लिंक मर चुका है, और आपको शायद विंडेल ओस्के के जवाब से लिंक करना चाहिए । जब आप पोस्ट करते हैं तो यह महत्वपूर्ण नहीं लग सकता है, लेकिन जैसे-जैसे अधिक उत्तर दिखाई देते हैं, आपकी पोस्ट दूसरे से दूर होती जाती है।
केविन वर्मियर

@KevinVermeer: ​​मूल पृष्ठ की आर्काइव.ऑर्ग की ओर इशारा करके लिंक को ठीक किया गया।
डेव ट्वीड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.