विज्ञापन
यदि आप कुछ शुरुआती Arduino प्रोजेक्ट्स के साथ डब हो गए हैं, लेकिन कुछ स्थायी और कुछ हद तक कमाल के हैं, तो विनम्र 4 x 4 x 4 एलईडी क्यूब एक प्राकृतिक विकल्प है। जितना आप सोच सकते हैं उससे कहीं ज्यादा आसान निर्माण है, और एक मल्टीप्लेक्सिंग का उपयोग करके हम सीधे सभी एलईडी को केवल एक Arduino Unn बोर्ड से नियंत्रित कर सकते हैं। यह बहुत अच्छा टांका लगाने का अभ्यास है, और घटकों की कुल लागत लगभग $ 40 से अधिक नहीं होनी चाहिए।
आज मैं पूरी तरह से चीजों के निर्माण पक्ष का विस्तार कर रहा हूं, और इस पर चलने के लिए कुछ सॉफ़्टवेयर प्रदान कर रहा हूं जो दोनों प्रभावशाली दिखते हैं और आपको मूल बातें सिखाते हैं।
आपको चाहिये होगा
- एक Arduino. कोड की आपूर्ति एक Arduino Uno मानती है, लेकिन इसे एक बड़े मॉडल में भी समायोजित किया जा सकता है।
- 64 एल ई डी - सटीक विकल्प आप पर निर्भर है, लेकिन मैंने इन सुपरब्राइट 3 मिमी ब्लू एलईडी का इस्तेमाल किया (३.२ वी ३० मी) @ £ 2.64 50 के लिए।
- 16 प्रतिरोध आपके एल ई डी के लिए उचित मूल्य। उपरोक्त एल ई डी के लिए, 99 पेंस ने इनमें से 100 खरीदे। उपयोग ledcalc.com - आपूर्ति वोल्टेज के लिए 5v दर्ज करें, एलईड का वोल्टेज (मेरे मामले में 3.2) और मिलीमप्स (3.2) में वर्तमान। आपका इच्छित अवरोधक लेबल वाले बॉक्स में दिखाया जाएगा "निकटतम उच्च रेटेड रोकनेवाला", तो बस eBay पर उस मूल्य के लिए खोजें।
- कुछ शिल्प तार बुनियादी संरचना को मजबूत करने और सजावट के लिए - मैंने उपयोग किया 0.8 मिमी मोटाई।
- ए प्रोटोटाइप बोर्ड कुछ प्रकार के जो आप अपने सभी बिट्स को मिलाप कर सकते हैं। मैंने एक का उपयोग किया था, जिसमें उसके साथ पूरे ट्रैक नहीं थे क्योंकि मेरे पास ट्रैक कटर नहीं है, लेकिन जो भी आप सूट करते हैं उसका उपयोग करें। एक Arduino प्रोटोटाइप ढाल थोड़ी बहुत छोटी होती है, जब तक कि आप वास्तव में अपने एल ई डी को एक साथ निचोड़ते नहीं हैं।
- यादृच्छिक घटक तार - कुछ नेटवर्क केबल स्ट्रैंड और एक किट से कुछ प्रोटोटाइप तार ठीक काम करेंगे।
- मगरमच्छ क्लिप या "मदद करने वाले हाथ" बिट्स को जगह में रखने के लिए उपयोगी होते हैं।
- सोल्डरिंग आयरन, और सोल्डर।
- कुछ स्क्रैप लकड़ी।
- एक ड्रिल, आपके एलईडी के समान आकार के बिट के साथ।
नोट: इस ट्यूटोरियल में 3 डी ड्रॉइंग का उपयोग मिनटों में किया गया था TinkerCAD. मैंने उपयोगकर्ता द्वारा इंस्ट्रक्शंस पर विस्तृत मौजूदा बिल्ड का अनुसरण किया forte1994, जिसे आप इस प्रयास करने से पहले पढ़ना चाहते हैं।
इन सभी निर्देशों के माध्यम से पढ़ना सुनिश्चित करें प्रथम अपने लिए प्रयास करने से पहले।
इस डिजाइन का सिद्धांत
निर्माण शुरू करने से पहले, इस बात का पूरा अवलोकन होना जरूरी है कि यह चीज़ कैसे काम करने वाली है ताकि आप त्रुटियों को सुधारें और पहचानें जैसे आप साथ चलते हैं। कुछ एलईडी क्यूब्स हर एक एलईडी के लिए एक एकल आउटपुट पिन का उपयोग करते हैं - हालांकि 4x4x4 क्यूब में, जिसकी आवश्यकता होगी 64 पिन - जो हम निश्चित रूप से एक Arduino Uno पर नहीं है। एक समाधान का उपयोग करना होगा शिफ्ट रजिस्टर Arduino प्रोग्रामिंग - शिफ्ट रजिस्टरों के साथ खेलना (a.k.a यहां तक कि अधिक एल ई डी)आज मैं आपको शिफ्ट रजिस्टरों के बारे में थोड़ा-बहुत सिखाने का प्रयास करूंगा। ये Arduino प्रोग्रामिंग का एक महत्वपूर्ण हिस्सा हैं, मूल रूप से, क्योंकि वे बदले में आपके द्वारा उपयोग किए जाने वाले आउटपुट की संख्या का विस्तार कर सकते हैं ... अधिक पढ़ें , लेकिन यह अनावश्यक रूप से जटिल है।
केवल 20 पिनों में उन सभी एल ई डी को नियंत्रित करने के लिए, हम मल्टीप्लेक्सिंग नामक एक तकनीक का उपयोग करेंगे। क्यूब को 4 अलग-अलग परतों में तोड़कर, हमें केवल 16 एल ई डी के लिए नियंत्रण पिन की आवश्यकता है - इसलिए प्रकाश को विशिष्ट एलईडी, हमें 16 + 4 की कुल आवश्यकता प्रदान करते हुए, दोनों परत और नियंत्रण पिन को सक्रिय करना चाहिए पिंस। प्रत्येक परत में एक आम कैथोड होता है - सर्किट का नकारात्मक हिस्सा - इसलिए सभी नकारात्मक पैर एक साथ जुड़ जाते हैं, और उस परत के लिए एक ही पिन से जुड़ा होता है।
एनोड पर (सकारात्मक) पक्ष, प्रत्येक एलईडी ऊपर और नीचे की परत में संबंधित एलईडी से जुड़ा होगा। अनिवार्य रूप से, हमारे पास सकारात्मक पैरों के 16 स्तंभ हैं, और नकारात्मक की 4 परतें हैं। यहां आपको समझने में मदद करने के लिए कनेक्शन के कुछ 3D विचार हैं:


निर्माण
चूंकि हम मिलाप करने के लिए एक पूर्ण धातु संरचना का उपयोग नहीं कर रहे हैं, हम चाहते हैं कि एलईडी के सभी पैर लगभग एक चौथाई से ओवरलैप करें और संरचना को कठोरता दें। अपने एल ई डी के कैथोड को मोड़ो - सिर में फ्लैट पायदान और छोटे पैर के साथ पक्ष - जैसा कि आरेख में दिखाया गया है। (यदि आप इसे बाएं या दाएं मोड़ते हैं तो यह वास्तव में महत्वपूर्ण नहीं है, जब तक आप सुसंगत हैं और यह एनोड को कभी नहीं छूता है)

इस परियोजना का पहला महत्वपूर्ण हिस्सा एक लकड़ी का जिग बना रहा है। यह एल ई डी की एक परत को धारण करेगा जबकि आप पैरों को एक साथ मिलाते हैं, इसलिए इसे सटीक होना चाहिए और बहुत ढीला नहीं होना चाहिए। अपने एल ई डी के समान आकार ड्रिल बिट का उपयोग करके, माप करें और फिर 4 × 4 मैट्रिक्स ड्रिल करें समान दूरी छेद। ध्यान रखें कि आप अपने पड़ोसी के साथ ओवरलैप करने के लिए लगभग एक चौथाई पैर चाहते हैं, और एक वास्तविक शासक का उपयोग करते हैं। प्रत्येक छेद की जाँच करें यह सुनिश्चित करने के लिए कि एक एलईडी पूरी तरह से फिट हो सकता है, लेकिन इतना तंग नहीं है कि आप इसे फिर से बाहर निकालने में सक्षम नहीं होंगे, या पूरी तरह से परत वाली परत को हटाने की कोशिश करते समय आपको कोई समस्या नहीं होगी।

एल ई डी की 4 पंक्तियों के कैथोड्स को मिलाएं। एल ई डी को जलाने के लिए सावधान रहें - आप एक अच्छा गर्म लोहा चाहते हैं, और अंदर और बाहर होना चाहते हैं। यहाँ मेरी पहली चार पंक्तियाँ पूरी हुईं।

अब, परत की कठोरता को मजबूत करने के लिए, शिल्प तार के दो सीधे बिट्स को या तो समाप्त करें, सुनिश्चित करें कि वे प्रत्येक पंक्ति के साथ जुड़ते हैं। यह आपकी पहली परत पूर्ण है। सभी अतिरिक्त पैरों को बाहर की तरफ चिपका दें।
अब परीक्षण करने के लिए एक शानदार समय होगा - बस डिफ़ॉल्ट Arduino ब्लिंक ऐप को लोड करें, और एक अवरोधक जुड़ा होने के साथ, जमीन को परत के फ्रेम में डाल दें, और प्रत्येक एलईडी में सकारात्मक लीड को बदले में दबाएं।

उम्मीद है, वे सभी प्रकाश करेंगे। यदि नहीं, तो सुनिश्चित करें कि आपने कहीं एक मिलाप संयुक्त को याद नहीं किया है, और यदि neccessary LED को प्रतिस्थापित करता है।
उस परत को जिग से निकालें, और प्रक्रिया को दोहराएं 3 बार और.
चिंता मत करो अगर आपका टांका लगाना सही नहीं है - जब तक यह टूटने वाला नहीं है और कनेक्शन ठोस है, तो यह अंतिम उत्पाद को प्रभावित नहीं करेगा। मैं मानता हूँ, मेरा टांका लगाना बहुत निराशाजनक था, मेरा जिग उतर गया था, और यह सब पीसा की झुकी मीनार जैसा था। फिर भी, मुझे तैयार घन पर गर्व है, और जब एल ई डी जलाया जाता है, तो आप वैसे भी सोल्डर जोड़ों को नहीं देख पाएंगे!
परतों में शामिल होना
एक बार जब आप 4 पूर्ण परतें प्राप्त कर लेते हैं, तो आप सभी लंबवत पैरों को एक साथ जोड़ना चाहते हैं। मुझे यह निर्माण का सबसे कठिन हिस्सा लगा, और इस प्रक्रिया में मदद करने के लिए मैंने एक राइजर को कार्ड से बाहर कर दिया।

इसने परतों को उचित ऊंचाई पर रखा, लेकिन बहुत सारे पैर अभी भी पूरी तरह से संरेखित नहीं हुए हैं - इसके लिए, मैंने उन्हें पकड़ने के लिए कुछ मगरमच्छ क्लिप का उपयोग किया।

1 मूर्खतापूर्ण गलती से बचने के लिए
एक पूरी परत पूरी करने के बाद ही मैंने महसूस किया कि मेरा कार्ड राइजर जगह पर अटक गया है, इसलिए मुझे इसे काटना पड़ा! मैंने जो गलती की है, वही करें - राइजर को लंबे समय तक रखें, और कार्ड के टुकड़ों को जोड़ दें क्यूब के बाहर, इसलिए जब आप परत पूरी कर लेते हैं, तो आप रिसर को डिकॉन्स्ट्रक्ट कर सकते हैं और बाहर निकाल सकते हैं कार्ड।

से बचने के लिए 2 सिल्ली गलती
स्पष्ट रूप से कैथोड फ्रेम में ऊर्ध्वाधर पैर को मिलाप न करें। ऊर्ध्वाधर पैर केवल अन्य ऊर्ध्वाधर पैरों से जुड़ना चाहिए, और कुछ नहीं।
फिर से, प्रत्येक परत संलग्न होने के बाद परीक्षण करें। सभी परतों का परीक्षण करें, वास्तव में, केवल ऊपरी परत के सिरे तक सकारात्मक लीड को छूते हुए, जिससे आपको सभी परतों के माध्यम से अच्छा संपर्क मिल सके।
जब सभी 4 परतों को एक साथ मिलाया गया था, तो मैंने थोड़ी सी सफाई के बारे में सेट किया - मैंने एक ही पैर छोड़ दिया एक तरह की स्टेपिंग स्टोन फैशन में प्रत्येक परत से बाहर की ओर बढ़ाया गया - इसे नीचे गिरा दिया जाएगा बाद में बोर्ड। धातु के फ्रेम और पैरों के अन्य बाहरी हिस्सों को काट दिया गया था। जाहिर है, किसी भी ऊर्ध्वाधर पैर में कटौती नहीं की जाती है - हमें इन्हें अपने प्रोटॉयटैपिंग बोर्ड में डालना होगा।

बोर्ड के लिए फिक्सिंग
याद रखें जब मैंने कहा था कि प्रत्येक परत को अपने आप में ठीक करना सबसे कठिन हिस्सा था? मैंने झूठ बोला। एक प्रोटोटाइप बोर्ड पर छोटे छिद्रों में 16 एलईडी पैरों को फिट करने की कोशिश करना वास्तव में कठिन है। मुझे जो सबसे आसान तरीका मिला, वह था एक समय में 4 के माध्यम से प्रहार करना, मगरमच्छ क्लिप के साथ उन्हें सुरक्षित करना, फिर 4 की अगली पंक्ति पर जाना। यदि यह मदद करता है तो अग्रिम में रिक्ति को चिह्नित करने के लिए एक मार्कर पेन का उपयोग करें।

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

चार नकारात्मक परतों के लिए, मैंने प्रत्येक परत से एक एकल तार को नीचे गिरा दिया, फिर उन्हें इस तरफ खींच लिया, जैसे:

अंत में, मैंने कुछ प्लग वायर जोड़े जो कि मैं तब संबंधित Arduino पिन में रख सकता था। आपके पास सबसे लंबे प्रकार का उपयोग करें। नोट: मैंने खराब नियोजन के कारण आदेश को स्थानों में गड़बड़ कर दिया। एलइडी की प्रत्येक पंक्ति को रंग कोडित किया गया था।

बस। ख़त्म होना!

प्रोग्रामिंग आपका घन
मुझे पता है कि आप इस चीज़ को हटाने के लिए इंतजार नहीं कर सकते, इसलिए 4 नकारात्मक परतों को प्लग करें एनालॉग I / O बंदरगाहों A2 (निचली परत) के माध्यम से A5 (शीर्ष परत)(ये डिजिटल I / O के रूप में भी कार्य कर सकते हैं). फिर 16 एलईडी नियंत्रण पिन में प्लग करें, जिसके साथ शुरू हो रहा है +1 दायीं ओर सेवा डिजिटल I / O पोर्ट 0, साथ में +15 तथा +16 अनुरूप में जा रहा है A0 और A1. (AreF और GND का उपयोग न करें)

डाउनलोड करें डेमो पैटर्न और कोड शिक्षाप्रद उपयोगकर्ता से forte1994. उन्होंने यह भी एक प्रदान की सहायक ऑनलाइन उपकरण अपने स्वयं के अनुक्रम को अनुकूलित करने के लिए बाइट पैटर्न को डिजाइन करने के लिए। यहाँ मेरे क्यूब पर कार्रवाई में इस कोड का एक वीडियो है (मैंने डिफ़ॉल्ट 20 के बजाय 5 की गति को समायोजित किया).
यह निश्चित रूप से आपके घन को प्रोग्राम करने का एकमात्र तरीका नहीं है, इसलिए मुझे कुछ मिनट बिताने के लिए आपको अपने पैटर्न बनाने की मूल बातें सिखाना चाहिए प्रोग्राम के रूप में, बल्कि उपर्युक्त डेमो के रूप में पूर्व निर्धारित पैटर्न खेलने के बजाय।
अपने क्यूब को प्रोग्राम करने का प्रयास करते समय कुछ चीजें आपको पता होनी चाहिए:
- एकल एलईडी को संबोधित करने के लिए, आप एक का उपयोग करते हैं विमान (लेयर) नंबर ०-३, और एक एलईडी पिन नंबर ०-१५। एलओयू आउटपुट को चालू करें (चूंकि यह नकारात्मक पैर है) और एलईडी को सक्रिय करने के लिए एलईडी पिन नंबर हाई (सकारात्मक पैर)।
- एकल एलईडी को सक्रिय करने से पहले, सुनिश्चित करें कि अन्य सभी विमान बंद हैं - इसका मतलब है कि उन्हें उच्च आउटपुट पर सेट करें। ऐसा करने में विफलता के परिणामस्वरूप एलईडी के एक कॉलम में एकल एलईडी के बजाय जलाया जाएगा।
इस बात को ध्यान में रखते हुए, मैंने आपकी जांच के लिए दो बहुत ही सरल प्रोग्रामेटिक सीक्वेंस बनाए हैं - यहां से कोड डाउनलोड करें. पहले बस हर एलईडी को एक-एक करके, क्रम से रोशनी देता है। हम इसके लिए दो छोरों का उपयोग करते हैं, प्रत्येक परत और प्रत्येक नियंत्रण पिन पर पुनरावृत्ति करते हैं।
दूसरा एक यादृच्छिक लूप है (आपको पहले टिप्पणी करने की आवश्यकता होगी और इसे परीक्षण करने के लिए मुख्य लूप में सक्षम करना होगा)। यह बस एक यादृच्छिक परत चुनता है, और यादृच्छिक नियंत्रण पिन, उन्हें और बंद चमकती है।
सारांश
इस बिल्ड से परिचित नहीं होना चाहिए - मुझे गंभीरता से सोल्डरिंग कौशल की कमी है, और मैंने इसे ठीक किया (मुझे लगता है?). कुल निर्माण समय एक सप्ताह के लिए एक घंटे या एक दिन था। अगली बार, मैं आपको घन के लिए कुछ और महत्वाकांक्षी प्रोग्रामिंग सिखाने का प्रयास करूँगा, इसलिए मुझे आशा है कि आप इस सप्ताह अपना स्वयं का घन बनाने में मेरा साथ देंगे अगले सप्ताह कुछ नया कोड लोड करना - और यदि आप अपने स्वयं के भयानक एप्लिकेशन या अनुक्रम बनाते हैं, तो कृपया उन्हें पास्टबिन पर अपलोड करें और हमें इसमें बताएं टिप्पणियाँ!
जेम्स के पास आर्टिफिशियल इंटेलिजेंस में बीएससी है, और कॉम्पिटिया ए + और नेटवर्क + प्रमाणित है। वह MakeUseOf के प्रमुख डेवलपर हैं, और अपना खाली समय वीआर पेंटबॉल और बोर्डगेम खेलने में बिताते हैं। वह पीसी का निर्माण कर रहा है क्योंकि वह एक बच्चा था।