- P10 एलईडी डिस्प्ले मैट्रिक्स
- Arduino स्कोरबोर्ड के लिए आवश्यक घटक
- Arduino स्कोरबोर्ड के लिए सर्किट आरेख
- Arduino स्कोरबोर्ड कोड स्पष्टीकरण
इलेक्ट्रॉनिक स्कोरबोर्ड सबसे महत्वपूर्ण गैजेट्स में से एक है जो किसी भी खेल टूर्नामेंट के दौरान हो सकता है। पारंपरिक तरीकों का उपयोग करने वाले पुराने मैनुअल स्कोरबोर्ड में बहुत समय लगता है और त्रुटि-प्रवण होते हैं, इसलिए एक कम्प्यूटरीकृत स्कोरबोर्ड आवश्यक हो जाता है जहां प्रदर्शन इकाई को वास्तविक समय में बदलना पड़ता है। यही कारण है कि इस परियोजना में, हम एक ब्लूटूथ नियंत्रित वायरलेस स्कोरबोर्ड का निर्माण करेंगे जिसमें हम बोर्ड पर स्कोर को केवल एंड्रॉइड एप्लिकेशन का उपयोग करके बदल सकते हैं । इस परियोजना का मस्तिष्क एक अरुडिनो नैनो है, और प्रदर्शन भाग के लिए, हम वास्तविक समय में दूरस्थ रूप से स्कोर दिखाने के लिए एक पी 10 एलईडी मैट्रिक्स का उपयोग करेंगे।
P10 एलईडी डिस्प्ले मैट्रिक्स
एक P10 एलईडी मैट्रिक्स डिस्प्ले सबसे अच्छा तरीका है जो आउटडोर या इनडोर उपयोग के लिए एक एलईडी बोर्ड बनाने के लिए उपलब्ध है । इस पैनल में कुल 512 उच्च चमक एल ई डी हैं जो एक प्लास्टिक आवास पर लगाए गए हैं जो सर्वोत्तम प्रदर्शन परिणामों के लिए डिज़ाइन किए गए हैं। यह वाटरप्रूफ़िंग के लिए IP65 रेटिंग के साथ आता है जो इसे बाहरी उपयोग के लिए एकदम सही बनाता है। इसके साथ, आप किसी भी पंक्ति और स्तंभ संरचना में ऐसे पैनलों की संख्या को जोड़कर एक बड़ा एलईडी साइनबोर्ड बना सकते हैं ।
हमारे मॉड्यूल का आकार 32 * 16 है, जिसका अर्थ है कि प्रत्येक पंक्ति में 32 एलईडी हैं और प्रत्येक कॉलम में 16 एलईडी हैं। तो, प्रत्येक एलईडी साइनबोर्ड में कुल 512 एलईडी मौजूद हैं। इसके अलावा, इसमें वॉटरप्रूफिंग के लिए एक IP65 रेटिंग है, इसे एक एकल 5V पावर स्रोत द्वारा संचालित किया जा सकता है, इसमें बहुत व्यापक व्यूइंग एंगल है, और चमक 4500 तक जा सकती है। तो, आप इसे दिन के उजाले में स्पष्ट रूप से देख पाएंगे। पहले हमने एक सरल एलईडी बोर्ड बनाने के लिए Arduino के साथ इस P10 डिस्प्ले का भी उपयोग किया है।
P10 एलईडी मैट्रिक्स का पिन विवरण :
यह एलईडी डिस्प्ले बोर्ड इनपुट और आउटपुट कनेक्शन के लिए 10-पिन मेल हेडर का उपयोग करता है, इस खंड में, हमने इस मॉड्यूल के सभी आवश्यक पिनों का वर्णन किया है। इसके अलावा, आप देख सकते हैं कि मॉड्यूल के बीच में एक बाहरी 5V कनेक्टर है जो बोर्ड को बाहरी शक्ति को जोड़ने के लिए उपयोग किया जाता है।
- सक्षम करें: इस पिन का उपयोग LED पैनल की चमक को नियंत्रित करने के लिए किया जाता है, इसे PWM पल्स देकर।
- A, B: इन्हें मल्टीप्लेक्स चुनिंदा पिन कहा जाता है। वे किसी भी मल्टीप्लेक्स पंक्तियों का चयन करने के लिए डिजिटल इनपुट लेते हैं।
- शिफ्ट क्लॉक (सीएलके), स्टोर क्लॉक (एससीएलके) और डेटा: ये सामान्य शिफ्ट रजिस्टर कंट्रोल पिन हैं। यहां शिफ्ट रजिस्टर 74HC595 का उपयोग किया जाता है।
P10 एलईडी डिस्प्ले मॉड्यूल को Arduino पर इंटरसेप्ट करना:
P10 मैट्रिक्स डिस्प्ले मॉड्यूल को Arduino से कनेक्ट करना एक बहुत ही सरल प्रक्रिया है, हमारे सर्किट में, हमने Arduino के पिन 9 को एनेबल पिन, पिन 6 को पिन ए, पिन 7 के रूप में पिन बी, पिन 13 को सीएलके, पिन 8 के रूप में कॉन्फ़िगर किया है। SCLK, पिन 11 DATA है, और अंत में Pin GND मॉड्यूल और Arduino के लिए GND पिन है, पिन कॉन्फ़िगरेशन को स्पष्ट रूप से समझाने के लिए नीचे एक पूरी तालिका है।
P10 एलईडी मॉड्यूल |
Arduino UNO |
सक्षम |
९ |
ए |
६ |
ख |
। |
सीएलके |
१३ |
एससीएलके |
। |
डेटा |
1 1 |
GND |
GND |
नोट: P10 मॉड्यूल के पावर टर्मिनल को बाहरी 5V पावर स्रोत से कनेक्ट करें, क्योंकि 512 एल ई डी बहुत अधिक बिजली की खपत करेंगे। पी 10 एलईडी मॉड्यूल की एक इकाई को 5 वी, 3 एम्प डीसी बिजली की आपूर्ति से जोड़ने की सिफारिश की गई है। यदि आप अधिक संख्या मॉड्यूल को जोड़ने की योजना बना रहे हैं, तो तदनुसार अपनी एसएमपीएस क्षमता बढ़ाएं।
Arduino स्कोरबोर्ड के लिए आवश्यक घटक
जैसा कि यह एक बहुत ही सरल परियोजना है, घटकों की आवश्यकताएं बहुत सामान्य हैं, आवश्यक घटकों की एक सूची नीचे दी गई है, आपको अपने स्थानीय शौक स्टोर में सूचीबद्ध सभी सामग्रियों को खोजने में सक्षम होना चाहिए।
- अरुडिनो नैनो
- P10 एलईडी मैट्रिक्स डिस्प्ले
- ब्रेड बोर्ड
- 5 वी, 3 एएमपी एसएमपीएस
- HC-05 ब्लूटूथ मॉड्यूल
- तारों को जोड़ना
Arduino स्कोरबोर्ड के लिए सर्किट आरेख
Arduino LED स्कोरबोर्ड के लिए योजनाबद्ध नीचे दिखाया गया है क्योंकि यह परियोजना बहुत सरल है, मैंने योजनाबद्ध को विकसित करने के लिए लोकप्रिय सॉफ्टवेयर का उपयोग किया है।
सर्किट का काम करना बहुत सरल है, हमारे पास एक एंड्रॉइड एप्लिकेशन और एक ब्लूटूथ मॉड्यूल है, सफलतापूर्वक ब्लूटूथ मॉड्यूल के साथ संवाद करने के लिए, आपको एचसी -05 मॉड्यूल को एंड्रॉइड एप्लिकेशन के साथ जोड़ना होगा। एक बार जब हम कनेक्ट हो जाते हैं, तो हम उस स्ट्रिंग को भेज सकते हैं जिसे हम प्रदर्शित करना चाहते हैं, एक बार स्ट्रिंग भेजे जाने पर, Arduino स्ट्रिंग को संसाधित करेगा और इसे एक संकेत में बदल देगा जिसे आंतरिक 74HC595 शिफ्ट रोकनेवाला समझ सकता है, डेटा शिफ्ट में भेजे जाने के बाद रोकनेवाला, इसका प्रदर्शन करने के लिए तैयार है।
Arduino स्कोरबोर्ड कोड स्पष्टीकरण
हार्डवेयर सेटअप के सफल समापन के बाद, अब अरडूइनो नैनो की प्रोग्रामिंग का समय है। कोड का स्टेप वाइज विवरण नीचे दिया गया है। इसके अलावा, आप इस ट्यूटोरियल के निचले भाग में पूरा Arduino स्कोरबोर्ड कोड प्राप्त कर सकते हैं ।
सबसे पहले, हमें सभी पुस्तकालयों को शामिल करने की आवश्यकता है। P10 एलईडी डिस्प्ले को नियंत्रित करने के लिए हमने DMD.h लाइब्रेरी का उपयोग किया है। आप इसे दिए गए GitHub लिंक से डाउनलोड और शामिल कर सकते हैं। उसके बाद, आपको TimerOne.h लाइब्रेरी को शामिल करना होगा, जिसका उपयोग हमारे कोड में इंटरचेंज प्रोग्रामिंग के लिए किया जाएगा।
इस पुस्तकालय में कई मोर्चे उपलब्ध हैं, हमने इस परियोजना के लिए " एरियल_ब्लाक_16 " का उपयोग किया है ।
#शामिल
अगले चरण में, हमारे एलईडी मैट्रिक्स बोर्ड के लिए पंक्तियों और स्तंभों की संख्या को परिभाषित किया गया है। हमने इस परियोजना में केवल एक मॉड्यूल का उपयोग किया है, इसलिए ROW मूल्य और COLUMN मान दोनों को 1 के रूप में परिभाषित किया जा सकता है।
#define ROW 1 #define COLUMN 1 #define फॉंट Arial_Black_16 DMD led_module (ROW, COLUMN);
उसके बाद, कोड में उपयोग किए गए सभी चर परिभाषित किए गए हैं। एंड्रॉइड ऐप से सीरियल डेटा प्राप्त करने के लिए एक वर्ण चर का उपयोग किया जाता है, स्कोर को स्टोर करने के लिए दो पूर्णांक मानों का उपयोग किया जाता है, और एक सरणी को परिभाषित किया जाता है जो मैट्रिक्स पर प्रदर्शित होने वाले अंतिम डेटा को संग्रहीत करता है।
चार इनपुट; int a = 0, b = 0; int ध्वज = 0; चार cstr1;
एक फंक्शन स्कैन_मॉड्यूल () परिभाषित किया गया है, जो एसपीआई के माध्यम से Arduino नैनो के किसी भी आने वाले डेटा की लगातार जांच करता है । यदि हाँ, तो यह कार्यक्रम में उपयोगकर्ता द्वारा परिभाषित कुछ घटनाओं को करने के लिए एक बाधा को ट्रिगर करेगा ।
void scan_module () { led_module.scanDisplayBySPI (); }
सेटअप के अंदर (), टाइमर को इनिशियलाइज़ किया गया है, और इंटरफ़ेक्शन फंक्शन स्कैन_मॉडल से जुड़ा है, जिस पर पहले चर्चा की गई थी। प्रारंभ में, फ़ंक्शन क्लियर स्क्रीन (ट्रू) का उपयोग करके स्क्रीन को साफ़ किया गया था , जिसका अर्थ है कि सभी पिक्सेल को OFF के रूप में परिभाषित किया गया है।
सेटअप में, सीरियल संचार को फ़ंक्शन Serial.begin (9600) का उपयोग करके भी सक्षम किया गया था जहां 9600 ब्लूटूथ संचार के लिए बॉड दर है।
शून्य सेटअप () { Serial.begin (9600); टाइमर 1 स्टेटिकलाइज़ (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (सच); }
यहां, सीरियल डेटा उपलब्धता की जांच की जाती है, अगर वैध डेटा Arduino से आ रहा है या नहीं। App से प्राप्त डेटा को एक चर में संग्रहीत किया जाता है।
if (धारावाहिक। अनुपलब्ध ()> 0) { झंडा = 0; input = Serial.read ();
फिर, प्राप्त मान की पूर्वनिर्धारित चर के साथ तुलना की गई थी। यहां, एंड्रॉइड एप्लिकेशन में, दोनों टीमों के स्कोर का चयन करने के लिए दो बटन लिए गए हैं। जब बटन 1 को दबाया जाता है, तो चरित्र 'a' को Arduino पर प्रसारित किया जाता है और जब बटन 2 को दबाया जाता है, तो चरित्र 'b' को Arduino पर प्रसारित किया जाता है। इसलिए, इस खंड में, इस डेटा का मिलान किया जाता है, और यदि मिलान किया जाता है, तो संबंधित स्कोर मान बढ़ाए जाते हैं जैसा कि कोड में दिखाया गया है।
if (इनपुट == 'a' && फ्लैग == 0) { फ्लैग = 1; ए ++; } और यदि (इनपुट == 'बी' और& फ्लैग == ०) { फ्लैग = १; बी ++; } ;
फिर, प्राप्त डेटा को एक वर्ण सरणी में बदल दिया जाता है, क्योंकि P10 मैट्रिक्स फ़ंक्शन केवल चरित्र डेटा प्रकार प्रदर्शित करने में सक्षम है। यही कारण है कि सभी चर को एक वर्ण सरणी में परिवर्तित और संक्षिप्त किया जाता है।
(स्ट्रिंग ("HOME:") + स्ट्रिंग (a) + स्ट्रिंग ("-") + स्ट्रिंग ("AWAY:") + स्ट्रिंग (b)).CharArray (cstr1, 50);
फिर, मॉड्यूल में जानकारी प्रदर्शित करने के लिए, फ़ॉन्ट का चयन () फ़ंक्शन का उपयोग करके किया जाता है। तब P10 बोर्ड पर वांछित जानकारी प्रदर्शित करने के लिए drawMarquee () फ़ंक्शन का उपयोग किया जाता है।
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
अंत में, जैसा कि हमें स्क्रॉलिंग संदेश डिस्प्ले की आवश्यकता है, मैंने एक निश्चित अवधि का उपयोग करके अपने पूरे संदेश को राइट से लेफ्ट दिशाओं में स्थानांतरित करने के लिए एक कोड लिखा है।
लंबी शुरुआत = मिली (); लंबी समय = शुरुआत; बूलियन ध्वज = गलत; जबकि (झंडा) { if ((टाइमिंग + 30) <मिलिस ()) { झंडा = led_module.stepMarquee (-1, 0); टाइमिंग = मिली (); } }
यह हमारी कोडिंग प्रक्रिया के अंत का प्रतीक है। और अब यह अपलोड करने के लिए तैयार है।
स्मार्टफोन नियंत्रित स्कोरबोर्ड - परीक्षण
Arduino पर कोड अपलोड करने के बाद, यह परियोजना का परीक्षण करने का समय है। इससे पहले, एंड्रॉइड एप्लिकेशन को हमारे स्मार्टफोन पर इंस्टॉल करना होगा। आप दिए गए लिंक से P10 स्कोर बोर्ड आवेदन डाउनलोड कर सकते हैं । इंस्टॉल हो जाने के बाद, ऐप खोलें और होम स्क्रीन नीचे की छवि की तरह दिखनी चाहिए।
ऐप के साथ ब्लूटूथ मॉड्यूल जोड़ने के लिए SCAN बटन पर क्लिक करें । यह फोन के युग्मित ब्लूटूथ उपकरणों की सूची दिखाएगा। यदि आपने पहले HC-05 ब्लूटूथ मॉड्यूल को जोड़ा नहीं है, तो अपने फोन की ब्लूटूथ सेटिंग का उपयोग करके मॉड्यूल को जोड़े और फिर इस चरण को करें। स्क्रीन जैसा दिखाया जाएगा:
फिर, सूची में से, "HC-05" पर क्लिक करें क्योंकि यह हमारे ब्लूटूथ मॉड्यूल का नाम है। इस पर क्लिक करने के बाद, यह स्क्रीन पर कनेक्टेड दिखाएगा। फिर हम स्कोरबोर्ड के साथ आगे बढ़ सकते हैं।
"होम" और "दूर" के बीच किसी भी बटन पर क्लिक करें जैसा कि ऐप में दिखाया गया है। यदि होम बटन का चयन किया जाता है, तो होम का स्कोर P10 डिस्प्ले में बढ़ जाएगा। इसी तरह, यदि दूर का बटन चुना जाता है, तो अवे का स्कोर बढ़ जाएगा। नीचे दी गई छवि दिखाती है कि अंतिम स्क्रीन कैसी दिखती है।
मुझे उम्मीद है कि आपको परियोजना पसंद आई होगी और कुछ नया सीखा जाएगा, यदि आपके पास परियोजना के बारे में कोई अन्य प्रश्न हैं, तो नीचे टिप्पणी करने के लिए स्वतंत्र महसूस करें या आप हमारे फोरम में अपना प्रश्न पूछ सकते हैं।