हमने रास्पबेरी पाई ट्यूटोरियल की एक श्रृंखला बनाई है, जिसमें हमने एलईडी, एलसीडी, बटन, डीसी मोटर, सर्वो मोटर, स्टेपर मोटर, एडीसी, शिफ्ट रजिस्टर, आदि जैसे सभी बुनियादी घटकों के साथ रास्पबेरी पाई के इंटरफैसिंग को कवर किया है। कुछ सरल IoT परियोजनाओं के साथ, शुरुआती लोगों के लिए कुछ सरल रास्पबेरी पाई परियोजनाओं को प्रकाशित किया । आज, इन ट्यूटोरियल की निरंतरता में, हम रास्पबेरी पाई द्वारा 8x8 एलईडी मैट्रिक्स मॉड्यूल को नियंत्रित करने जा रहे हैं । हम मैट्रिक्स मॉड्यूल पर वर्ण दिखाने के लिए एक पायथन प्रोग्राम लिखेंगे।
इसके अलावा Arfino के साथ Interxacing 8x8 एलईडी मैट्रिक्स और AVR माइक्रोकंट्रोलर के साथ एलईडी मैट्रिक्स की जांच करें।
आवश्यक घटक:
यहां हम रास्पबेरी जेसी ओएस के साथ रास्पबेरी पाई 2 मॉडल बी का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय और रास्पबेरी पीआई एलईडी ब्लिंकिंग को शुरू करने के लिए देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- रास्पबेरी पाई बोर्ड
- बिजली की आपूर्ति (5v)
- 1000uF संधारित्र (बिजली की आपूर्ति से जुड़ा)
- 1K 1 रोकनेवाला (8 टुकड़े)
8x8 एलईडी मैट्रिक्स मॉड्यूल:
एक 8 * 8 एलईडी मैट्रिक्स मॉड्यूल में 64 एलईडी (लाइट एमिटिंग डायोड) होते हैं जो एक मैट्रिक्स के रूप में व्यवस्थित होते हैं, इसलिए इसका नाम एलईडी मैट्रिक्स है। ये कॉम्पैक्ट मॉड्यूल विभिन्न आकारों और कई रंगों में उपलब्ध हैं। कोई उन्हें सुविधानुसार चुन सकता है। मॉड्यूल का पिन कॉन्फ़िगरेशन चित्र में दिखाया गया है। ध्यान रखें कि, मॉड्यूल के पिनआउट क्रम में नहीं हैं, इसलिए पिन को ठीक से क्रमांकित किया जाना चाहिए जैसा कि त्रुटियों से बचने के लिए चित्र में दिखाया गया है।
एलईडी मैट्रिक्स मॉड्यूल में 8 + 8 = 16 आम टर्मिनल हैं। उनके ऊपर, हमारे पास 8 सामान्य धनात्मक टर्मिनलों और 8 सामान्य नकारात्मक टर्मिनलों, 8 पंक्तियों और 8 स्तंभों के रूप में, 64 एलईडी मैट्रिक्स रूप में जोड़ने के लिए हैं। यदि मॉड्यूल सर्किट आरेख के रूप में तैयार किया जाना था, तो हमारे पास नीचे दिखाए गए अनुसार एक चित्र होगा:
तो 8 पंक्तियों के लिए, हमारे पास 8 कॉमन पॉजिटिव टर्मिनल (9, 14, 8, 12, 17, 2, 5) हैं। पहली पंक्ति पर विचार करें, डी 1 से डी 8 तक के एल ई डी में एक सामान्य सकारात्मक टर्मिनल होता है और पिन को एलईडी मैट्रिक्स मॉड्यूल के पिन 9 पर लाया जाता है। जब हम किसी ROW में एक या सभी LED को ON करना चाहते हैं, तो LED MODULE का संबंधित पिन + 3.3v के साथ संचालित होना चाहिए।
सामान्य सकारात्मक टर्मिनलों के समान, हमारे पास कॉलम (13, 3, 4, 10, 6, 11, 15, 16) के रूप में 8 सामान्य नकारात्मक टर्मिनल हैं । किसी भी कॉलम में किसी भी एलईडी को ग्राउंडिंग के लिए संबंधित सामान्य निगेटिव टर्मिनल के आधार पर रखा जाएगा।
सर्किट स्पष्टीकरण:
रास्पबेरी पाई और एलईडी मैट्रिक्स मॉड्यूल के बीच जो कनेक्शन किए जाते हैं, उन्हें नीचे दी गई तालिका में दिखाया गया है।
एलईडी मैट्रिक्स मॉड्यूल पिन नं। |
समारोह |
रास्पबेरी पाई GPIO पिन नं। |
१३ |
पोसिटिव ० |
GPIO12 |
३ |
POSITIVE1 |
GPIO22 |
४ |
पोसिटिव २ |
जीपीआईओ 27 |
१० |
POSITIVE3 |
GPIO25 |
६ |
POSITIVE4 |
GPIO17 |
1 1 |
POSITIVE5 |
GPIO24 |
१५ |
POSITIVE6 |
GPIO23 |
१६ |
POSITIVE7 |
GPIO18 |
९ |
NEGATIVE0 |
GPIO21 |
१४ |
NEGATIVE1 |
GPIO20 |
। |
NEGATIVE2 |
GPIO26 |
१२ |
NEGATIVE3 |
GPIO16 |
1 |
NEGATIVE4 |
GPIO19 |
। |
NEGATIVE5 |
GPIO13 |
२ |
NEGATIVE6 |
GPIO6 |
५ |
NEGATIVE7 |
GPIO5 |
यहाँ रास्पबेरी पाई के साथ Interxacing 8x8 एलईडी मैट्रिक्स के लिए अंतिम सर्किट आरेख है:
कार्य स्पष्टीकरण:
यहां हम 8x8 एलईडी मैट्रिक्स मॉड्यूल पर पात्रों को दिखाने के लिए मल्टीप्लेक्सिंग तकनीक का उपयोग करेंगे । तो चलिए इस मल्टीप्लेक्सिंग के बारे में विस्तार से चर्चा करते हैं। यदि हम मैट्रिक्स में LED D10 को चालू करना चाहते हैं, तो कहें कि हमें मॉड्यूल के PIN14 को पावर करने और मॉड्यूल के PIN3 को ग्राउंड करने की आवश्यकता है। इस LED के साथ D10 नीचे दिए गए चित्र में दिखाया गया है। सब कुछ क्रम में है यह जानने के लिए भी पहले MATRIX की जाँच की जानी चाहिए।
अब, यदि हम D1 को चालू करना चाहते हैं, तो कहें कि हमें मैट्रिक्स के PIN9 को पावर करने और पिन 13 को ग्राउंड करने की आवश्यकता है। इसके साथ एलईडी डी 1 चमक जाएगा। इस मामले में वर्तमान दिशा नीचे दिए गए आंकड़े में दिखाई गई है।
अब मुश्किल भाग के लिए, विचार करें कि हम एक ही समय में डी 1 और डी 10 दोनों चालू करना चाहते हैं। इसलिए हमें PIN9, PIN14 और दोनों PIN13, PIN3 दोनों को ग्राउंड करना चाहिए। यह LED D1 और D10 को चालू करेगा, लेकिन इसके साथ ही यह LED D2 और D9 को भी चालू करेगा। ऐसा इसलिए है क्योंकि वे सामान्य टर्मिनलों को साझा करते हैं। इसलिए यदि हम विकर्ण के साथ एल ई डी को चालू करना चाहते हैं, तो हम सभी एल ई डी को रास्ते में चालू करने के लिए मजबूर होंगे। यह नीचे दिए गए आंकड़े में दिखाया गया है:
इस समस्या से बचने के लिए हम मल्टीप्लेक्सिंग नामक तकनीक का उपयोग करते हैं । हमने इस मल्टीप्लेक्सिंग तकनीक पर भी चर्चा की है, जबकि एवीआर के साथ 8x8 एलईडी मैट्रिक्स को बदलते हुए, यहां हम फिर से समझा रहे हैं। इसी मल्टीप्लेक्सिंग तकनीक का उपयोग 8x8 LED मैट्रिक्स पर स्क्रॉलिंग टेक्स्ट में Arduino के साथ और AVR माइक्रोकंट्रोलर के साथ भी किया जाता है।
मानव आंख 30 HZ से अधिक आवृत्ति पर कब्जा नहीं कर सकती है। यही कारण है कि एक एलईडी 30HZ या उससे अधिक की दर से लगातार चालू और बंद रहता है। आँख एलईडी को लगातार देखती है। हालांकि यह मामला नहीं है और एलईडी वास्तव में लगातार चालू और बंद होगा। इस तकनीक को मल्टीप्लेक्सिंग कहा जाता है ।
उदाहरण के लिए मान लें, हम केवल D2 और D9 को चालू किए बिना LED D1 और LED D10 को चालू करना चाहते हैं। ट्रिक है, हम पहले पिन 9 और 13 का उपयोग करके केवल D1 को पावर प्रदान करेंगे और 1mSEC की प्रतीक्षा करेंगे, और फिर हम इसे बंद कर देंगे। फिर हम पिन 14 और 3 का उपयोग करके एलईडी डी 10 को शक्ति प्रदान करेंगे और 1 एमईसीईसी की प्रतीक्षा करेंगे फिर इसे बंद कर देंगे। चक्र उच्च आवृत्ति के साथ लगातार चलता रहता है और D1 & D10 तेजी से चालू और बंद हो जाएगा और दोनों एल ई डी हमारी आंख पर लगातार दिखाई देंगे। इसका मतलब है कि हम एक समय में केवल एक पंक्ति (एलईडी) को शक्ति प्रदान कर रहे हैं, अन्य पंक्तियों में अन्य एलईडी को चालू करने की संभावना को समाप्त कर रहे हैं। हम सभी पात्रों को दिखाने के लिए इस तकनीक का उपयोग करेंगे।
हम इसे एक उदाहरण से समझ सकते हैं, जैसे यदि हम मैट्रिक्स पर "ए" प्रदर्शित करना चाहते हैं, जैसे नीचे दिखाया गया है:
जैसा कि हमने बताया कि हम एक पल में एक पंक्ति को चालू करेंगे, इस समय t = 0m SEC, PIN09 हाई है (इस समय अन्य ROW पिन कम हैं), PIN3, PIN4, PIN4, PIN10, PIN6, PIN11, PIN15 ग्राउंडेड हैं (इस समय अन्य COLUMN पिन उच्च हैं)
इस समय में, t = 1m SEC, PIN14 हाई है (अन्य ROW पिन इस समय कम हैं), इस समय PIN13, PIN3, PIN4, PIN10, PIN6, PIN6, PIN11, PIN15, PIN16 ग्राउंडेड हैं (अन्य COLUMN पिन इस समय उच्च हैं)
इस समय t = 2m SEC, PIN08 हाई है (इस समय अन्य ROW पिन कम हैं), PIN13, PIN3, PIN3, PIN15, PIN16 ग्राउंडेड हैं (इस समय अन्य COLUMN पिन उच्च हैं)
इस समय t = 3m SEC, PIN12 सेट हाई (अन्य ROW पिन इस समय कम हैं), इस समय, PIN13, PIN3, PIN15, PIN16 ग्राउंडेड हैं (अन्य COLUMN पिन इस समय अधिक हैं)
इस समय t = 4m SEC, PIN01 हाई है (अन्य ROW पिन इस समय कम हैं), इस समय PIN13, PIN3, PIN4, PIN10, PIN6, PIN6, PIN11, PIN15, PIN16 ग्राउंडेड हैं (अन्य COLUMN पिन इस समय उच्च हैं))
इस समय t = 5m SEC, PIN07 हाई है (इस समय अन्य ROW पिन कम हैं), PIN13, PIN3, PIN3, PIN4, PIN10, PIN6, PIN6, PIN11, PIN15, PIN16 ग्राउंडेड हैं (अन्य COLUMN पिन इस समय उच्च हैं)
इस समय t = 6m SEC, PIN02 हाई है (इस समय अन्य ROW पिन कम हैं), PIN13, PIN3, PIN3, PIN15, PIN16 ग्राउंडेड हैं (अन्य COLUMN पिन इस समय हाई हैं)
इस समय t = 7m SEC, PIN05 हाई है (इस समय अन्य ROW पिन कम हैं), PIN13, PIN3, PIN3, PIN15, PIN16 ग्राउंडेड हैं (इस समय अन्य COLUMN पिन उच्च हैं)
इस गति पर, प्रदर्शन "ए" चरित्र को लगातार दिखाने के रूप में देखा जाएगा जैसा कि चित्र में दिखाया गया है।
रास्पबेरी Pi का उपयोग कर एलईडी मैट्रिक्स पर वर्ण दिखाने के लिए अजगर कार्यक्रम नीचे दिया गया है। कार्यक्रम अच्छी तरह से टिप्पणियों द्वारा समझाया गया है। कार्यक्रम में प्रत्येक चरित्र के लिए पोर्ट वैल्यू दी गई है। आप दिए गए प्रोग्राम में 'लूप्स के लिए ' पिनप मानों को बदलकर जो भी पात्र चाहें, दिखा सकते हैं । नीचे दिए गए डेमो वीडियो को भी देखें।