चार्लीप्लेक्सिंग कुछ I / O पिन का उपयोग करके कई एल ई डी को नियंत्रित करने की एक तकनीक है। चार्लीप्लेक्सिंग मल्टीप्लेक्सिंग के समान है, लेकिन यह पिन की संख्या को नाटकीय रूप से कम करने और मल्टीप्लेक्सिंग पर दक्षता हासिल करने के लिए त्रि-राज्य तर्क (उच्च, निम्न इनपुट) का उपयोग करता है। चार्लीप्लेक्सिंग तकनीक का नाम इसके आविष्कारक चार्ली एलेन के नाम पर रखा गया है, जिन्होंने 1995 में तकनीक का आविष्कार किया था। हमने पहले 4-अंक 7-सेगमेंट डिस्प्ले और 8x8 एलईडी मैट्रिक्स को चलाने के लिए Arduino में मल्टीप्लेक्सिंग तकनीक का उपयोग किया था।
चार्लीप्लेक्सिंग आपको एन * (एन - 1) एलईडी को नियंत्रित करने की अनुमति देता है, जहां एन पिन की संख्या नहीं है। उदाहरण के लिए, आप 4 Arduino पिन 4 * (4-1) = 12 का उपयोग करके 12 एल ई डी को नियंत्रित कर सकते हैं। एल ई डी डायोड हैं, और डायोड में, केवल एक दिशा में वर्तमान प्रवाह होता है। तो चार्लीप्लक्सिंग में, हम दो एलईडी को एक दूसरे के साथ समानांतर में जोड़ते हैं लेकिन विपरीत ध्रुवीयता के साथ ताकि एक बार में केवल एक ही एलईडी चालू हो। जब यह Arduino या अन्य माइक्रोकंट्रोलर बोर्डों की बात आती है, तो आपके पास कभी पर्याप्त इनपुट / आउटपुट पिन नहीं होते हैं। यदि आप एक ऐसी परियोजना पर काम कर रहे हैं जिसमें आपको एलसीडी डिस्प्ले, एलईडी का एक गुच्छा और कुछ सेंसर की आवश्यकता होती है, तो आप पहले से ही पिन से बाहर हैं। उस स्थिति में, आप पिन की संख्या को कम करने के लिए एल ई डी को चार्लीप्लेक्स कर सकते हैं।
इस ट्यूटोरियल में, हम 4 Arduino पिन का उपयोग करके 12 एल ई डी को नियंत्रित करने के लिए चार्लीप्लेक्सिंग तकनीक का उपयोग करने जा रहे हैं ।
अवयव आवश्यक
- Arduino UNO
- एलईडी (12)
- 4 रेसिस्टर (330 ओम)
- जम्पर तार
- ब्रेड बोर्ड
सर्किट आरेख
असल में, इस सर्किट आरेख में, प्रतिरोधों के माध्यम से 4 एलुडिनो पिन के साथ 12 एलईडी जुड़े हुए हैं। Arduino का प्रत्येक पिन तीन एल ई डी के साथ जुड़ा हुआ है। एल ई डी के छह समूह हैं, और प्रत्येक समूह में, 2 एलईडी जुड़े हुए हैं, और दोनों एलईडी एक दूसरे के साथ समानांतर हैं लेकिन विपरीत ध्रुवीयता के साथ ताकि एक समय में केवल एक एलईडी चालू हो। इसलिए सर्किट आरेख के अनुसार एलईडी 1 को चालू करने के लिए, पिन ए पर एक उच्च संकेत और पिन बी पर एक एलओवी सिग्नल, और पिन सी और डी को डिस्कनेक्ट करने की आवश्यकता है। अन्य एल ई डी के लिए उसी प्रक्रिया का पालन किया जाएगा। प्रत्येक एलईडी के लिए पिन सेटिंग्स की पूरी तालिका नीचे दी गई है:
एलईडी | पिन 8 | पिन ९ | पिन १० | पिन ११ |
1 | उच्च | कम | इनपुट | इनपुट |
२ | कम | उच्च | इनपुट | इनपुट |
३ | इनपुट | उच्च | कम | इनपुट |
४ | इनपुट | कम | उच्च | इनपुट |
५ | इनपुट | इनपुट | उच्च | कम |
६ | इनपुट | इनपुट | कम | उच्च |
। | उच्च | इनपुट | कम | इनपुट |
। | कम | इनपुट | उच्च | इनपुट |
९ | इनपुट | उच्च | इनपुट | कम |
१० | इनपुट | कम | इनपुट | उच्च |
1 1 | उच्च | इनपुट | इनपुट | कम |
१२ | कम | इनपुट | इनपुट | उच्च |
कनेक्शन के बाद मेरा हार्डवेयर नीचे की छवि जैसा दिखता है। जैसा कि आप छवि से देख सकते हैं कि एलइडी के छह समूह हैं और प्रत्येक समूह में 2 एलईडी एक दूसरे के विपरीत जुड़े हुए हैं। Arduino UNO मॉड्यूल USB पोर्ट द्वारा संचालित है।
कोड स्पष्टीकरण
एक कामकाजी वीडियो के साथ पूरा कोड इस ट्यूटोरियल के अंत में दिया गया है, यहां हम प्रोजेक्ट के कामकाज को समझने के लिए पूरा कार्यक्रम बता रहे हैं।
Arduino कोड की शुरुआत में सभी पिन को परिभाषित करते हैं जिस पर एल ई डी जुड़े हुए हैं। उसके बाद, एलईडी और एलईडी राज्य की कुल संख्या को परिभाषित करें।
#define A 8 #define B 9 #define C 10 #define D 11 #define PIN_CONFIG 0 #define PIN_STATE 1 #define LED_Num 12
अब एक अनुक्रम में एलईडी को चालू और बंद करने के लिए एक मैट्रिक्स बनाएं, आप पिन राज्य और पिन कॉन्फ़िगरेशन को बदलकर अनुक्रम बदल सकते हैं। इस मैट्रिक्स के अनुसार, LED1 को पहले LED2 और उसके बाद चालू किया जाएगा।
int मैट्रिक्स = { // PIN_CONFIG PIN_STATE // ABCDABCD {{OUTPUT, OUTPUT, INPUT, INPUT}, {HIGH, LOW, LOW, LOW}}, {OUTPUT, OUTPUT, INPUT, INPUT}, {LOW, High, LOW, LOW}}, {{INPUT, OUTPUT, OUTPUT, INPUT}, {LOW, HIGH, LOW, LOW}}, …………………………। ……………………………..
अब शून्य लूप के अंदर, प्रोग्राम दिए गए अनुक्रम में LED को चालू और बंद करने के लिए LED_COUNT मैट्रिक्स को निष्पादित करेगा।
शून्य लूप () {के लिए (इंट l = 0; l <LED_Num; एल ++) { लाइटऑन (एल); देरी (1000 / LED_Num); }
अब Arduino को लैपटॉप से कनेक्ट करें और बोर्ड और पोर्ट को सही तरीके से चुनें और फिर अपलोड बटन पर क्लिक करें। कोड अपलोड करने के बाद, आपके एलईडी को ब्लिंक करना शुरू कर देना चाहिए।
तो यह है कि कैसे चार्लीप्लेक्सिंग तकनीक का उपयोग कम एलुडिनो पिन का उपयोग करके कई एल ई डी को नियंत्रित करने के लिए किया जा सकता है । अधिक संख्या में एल ई डी को नियंत्रित करने के लिए आप इस विधि का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप 20 एल ई डी को नियंत्रित करना चाहते हैं, तो बस मैट्रिक्स को संपादित करें और शेष एल ई डी के लिए शर्तें जोड़ें।
नीचे पूर्ण कोड और काम करने वाला वीडियो खोजें ।