विषयसूची:

Arduino मिडी फुट नियंत्रक: १२ कदम
Arduino मिडी फुट नियंत्रक: १२ कदम

वीडियो: Arduino मिडी फुट नियंत्रक: १२ कदम

वीडियो: Arduino मिडी फुट नियंत्रक: १२ कदम
वीडियो: TX81Z Arduino MIDI कंट्रोलर / संपादक 2024, नवंबर
Anonim
Arduino मिडी फुट नियंत्रक
Arduino मिडी फुट नियंत्रक

मैंने हाल ही में इस मिडी नियंत्रक को लूपर वाक्यांश को संचालित करने के लिए डिज़ाइन किया है जो बॉस डीडी 500 विलंब पेडल में बनाया गया है। मैं एक Behringer FCB MIDI बोर्ड का उपयोग करके अपने पूरे गिटार रिग को नियंत्रित करता हूं, और यह मुझे एक ही समय में amp चैनलों को स्विच करते हुए, प्रभाव लूप में देरी पेडल पर पैच बदलने की अनुमति देता है।

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

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

चरण 1: अवधारणाएं

अवधारणाओं
अवधारणाओं
अवधारणाओं
अवधारणाओं

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

ऊपर दी गई 2 तस्वीरें कागज के लिए प्रतिबद्ध पहली ड्राइंग दिखाती हैं, जिसने इस विचार को पहले स्थान पर बंद कर दिया, उसके बाद एक महीने के नोट्स बनाए, जिसने भौतिक और पीसीबी लेआउट को आकार दिया।

चरण 2: ब्रेडबोर्ड प्रोटोटाइपिंग

ब्रेडबोर्ड प्रोटोटाइपिंग
ब्रेडबोर्ड प्रोटोटाइपिंग
ब्रेडबोर्ड प्रोटोटाइपिंग
ब्रेडबोर्ड प्रोटोटाइपिंग

पूरी परियोजना को ब्रेडबोर्ड पर बनाया गया था और यह सुनिश्चित करने के लिए पूरी तरह से परीक्षण किया गया था कि यह स्थायी रूप से आवास पर कोई भी काम शुरू होने से पहले डीडी 500 के साथ पूरी तरह से काम करता है। कोड में कुछ अतिरिक्त सुविधाएँ जोड़ी गईं, जिससे नियंत्रक को कुछ अतिरिक्त कार्य मिले, जिनमें DD500 का अभाव था। कोड अनुभाग में इन पर अधिक विस्तार से चर्चा की जाएगी।

पेडल में 5 फुटस्विच, 4 स्टेटस एलईडी, 5 I2C LCD स्क्रीन हैं और इसे एक Arduino Nano हर द्वारा नियंत्रित किया जाता है। यह एक 9वी गिटार पेडल पीएसयू से एक अलग ब्रेकआउट बॉक्स के माध्यम से शक्ति प्राप्त करता है जो उस शक्ति को 2 पिन का उपयोग करके मिडी केबल पर ले जाता है जो आमतौर पर MIDI कनेक्टर पर उपयोग नहीं किया जाता है।

चरण 3: निर्माण

छलरचना
छलरचना
छलरचना
छलरचना
छलरचना
छलरचना

मैंने परियोजना के आवास के लिए कई संभावित मामलों को देखा, और यहां तक कि एल्यूमीनियम की चादरों से अपने मामले को मोड़ने की कोशिश करने के विचार पर भी विचार किया। आखिरकार मैं एक हैमंड एनक्लोजर में बस गया, जो मेरे द्वारा चुनी गई 5 16X2 एलसीडी स्क्रीन को रखने के लिए पर्याप्त चौड़ा था।

फुटस्विच सामान्य क्षणिक सॉफ्ट-टच स्विच थे।

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

चरण 4: सीएडी मॉक-अप और लेआउट

सीएडी मॉक-अप और लेआउट
सीएडी मॉक-अप और लेआउट
सीएडी मॉक-अप और लेआउट
सीएडी मॉक-अप और लेआउट

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

चरण 5: पीसीबी डिजाइन

पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन
पीसीबी डिजाइन

पीसीबी बनाने के लिए, मैंने EasyEDA नामक वेबसाइट का उपयोग किया। इसमें एक संपादक वातावरण है जिसमें आप अपने घटकों का एक योजनाबद्ध आरेखण कर सकते हैं, इसे एक पीसीबी लेआउट में बदल सकते हैं, और फिर इसे सीधे JLCPCB को बोर्ड में बनाने के लिए निर्यात कर सकते हैं। मैंने पहले कभी ऐसा कुछ नहीं किया था, लेकिन उनके पास साइट पर एक उत्कृष्ट मार्गदर्शिका है जो बताती है कि संपादक कैसे काम करता है, और एक घंटे के भीतर मैंने बोर्ड को डिजाइन और ऑर्डर किया था।

बोर्ड के कुछ क्षेत्रों को उस समय अनुभवहीनता के कारण खराब तरीके से डिजाइन किया गया था, जैसे कि स्क्रीन पावर के लिए एकल 5V रेल का उपयोग करना, उदाहरण के लिए, प्रत्येक को एक अलग फ़ीड देने के बजाय। शुक्र है कि हुई कोई भी वोल्टेज ड्रॉप स्क्रीन के साथ समस्या पैदा करने के लिए पर्याप्त नहीं थी।

बोर्ड लगभग 2 सप्ताह बाद पहुंचे और शुक्र है कि बिना किसी समस्या के काम किया।

चरण 6: स्क्रीन माउंट

स्क्रीन माउंट
स्क्रीन माउंट
स्क्रीन माउंट
स्क्रीन माउंट
स्क्रीन माउंट
स्क्रीन माउंट

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

एक बार सभी छेदों को ड्रिल करने के बाद, स्क्रीन को माउंट किया गया और समतल तल के किनारों के खिलाफ एक शासक को पकड़कर चौकोरपन के लिए जाँच की गई। अब तक सब कुछ लाइन में खड़ा है।

चरण 7: संलग्नक

दीवार
दीवार
दीवार
दीवार
दीवार
दीवार

अगला मामला मामले को संशोधित कर रहा था। फुटस्विच और एल ई डी सीधे थे क्योंकि उनमें से प्रत्येक को क्रमशः 12 मिमी और 5 मिमी छेद की आवश्यकता होती थी।

शारीरिक कार्य का मुख्य हिस्सा स्क्रीन के छेदों को काटते समय आया। मैंने कुछ हैवी-ड्यूटी कटिंग डिस्क के साथ एक ड्रेमेल का उपयोग किया, और बाद में छेदों को साफ करने के लिए विभिन्न फाइलों का उपयोग किया। इस भाग में लगभग 2 घंटे लगे।

मैंने जिस बाड़े का उपयोग किया था वह औद्योगिक उद्देश्यों के लिए डिज़ाइन किया गया था और इसे धातु के एक टुकड़े को झुकाकर और कोनों को वेल्डिंग करके बनाया गया था। इसका मतलब था कि कार बॉडी फिलर का उपयोग करके इन कोनों को साफ करने के लिए कुछ काम करने की आवश्यकता होगी ताकि निचले स्थानों को समतल किया जा सके और किनारे पर अंतराल को भरा जा सके।

इस बिंदु पर मामला पूरी तरह से प्राथमिक था और मैंने यह देखने के लिए सब कुछ मजाक कर दिया कि यह कैसा दिखता है।

चरण 8: उह-ओह

उह ओह
उह ओह
उह ओह
उह ओह
उह ओह
उह ओह

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

चरण 9: पेंट

रंग
रंग
रंग
रंग
रंग
रंग

सब कुछ फिर से अलग कर दिया गया था, और मामले को धातुई कैंडी रेड चित्रित किया गया था, उसके बाद लाह के कुछ कोट थे। मामले को एक सप्ताह के लिए इलाज के लिए छोड़ दिया गया था, हालांकि मुझे पता चला कि इस बिंदु पर लाह अभी भी थोड़ा नरम था जब मैं सब कुछ बना रहा था। इससे पेंट के कुछ छोटे हिस्से क्षतिग्रस्त हो गए। कुछ ऐसा जो मैं अपने अगले प्रोजेक्ट से बचना चाहता हूं।

इस समय के दौरान, मैंने एक 3D प्रिंटर खरीदा था, और फ़ुटस्विच के लिए कुछ वॉशर बनाने के लिए इसका उपयोग करने का निर्णय लिया, क्योंकि मैंने जो नायलॉन खरीदा था, उनके लिए एक भयानक पीले रंग का रंग था और वे खराब आकार के थे।

चरण 10: वायरिंग

तारों
तारों
तारों
तारों
तारों
तारों
तारों
तारों

फिजिकल असेंबली का आखिरी हिस्सा सब कुछ वायर करना था। फिर से, केस डिज़ाइन / पीसीबी डिज़ाइन के मुद्दे फिर से सामने आए और पीसीबी पर कुछ हेडर पोजीशन का मतलब एक दूसरे के ऊपर बहुत सारे तारों को पार करना था, जिससे मुझे उम्मीद से थोड़ा अधिक गड़बड़ हो गया।

स्क्रीन के लिए तारों को 4 के सेट में बांधा गया था, और हीटश्रिंक और ब्रेडेड रैप का उपयोग करके, एक ही टुकड़े में बनाया गया था।

चरण 11: Arduino कोड

Image
Image

Arduino कोडिंग के लिए कुल शुरुआत के रूप में, मैं जैसे-जैसे आगे बढ़ रहा था, मैं खुद को सिखा रहा था। कोड शायद 'लंबे रास्ते के आसपास' के प्रोग्रामिंग समकक्ष है लेकिन मुझे खुशी है कि यह इरादे से काम करता है।

DD500 पर लूपर के 5 बुनियादी कार्य हैं:

  • लूपर चालू/बंद
  • रिकॉर्ड/ओवरडब/प्ले
  • रिकॉर्डेड लूप चलाएं
  • प्लेबैक रोकें
  • रिकॉर्ड किया गया लूप साफ़ करें

उन कार्यों में से प्रत्येक में एक समान फुटस्विच है और स्टॉप बटन के अपवाद के साथ, एक स्थिति एलईडी है। एलसीडी स्क्रीन यह दिखाने के लिए प्रासंगिक जानकारी के साथ भी अपडेट होती है कि पेडल रिकॉर्डिंग, ओवरडबिंग या प्लेबैक मोड में है या नहीं, साथ ही उस समय क्या हो रहा है, इसके आधार पर प्रत्येक फुटस्विच क्या कार्य करेगा।

एक अन्य विशेषता जो मैंने जोड़ी थी वह यह थी कि रिकॉर्ड/ओवरडब सुविधा को कितनी बार सक्रिय किया गया था, इसका ट्रैक रखना था। यह एक पूर्णांक को बढ़ाकर कोड में ट्रैक किया जाता है, जो 'बफर' स्क्रीन पर प्रदर्शित होता है, यह सूचीबद्ध करता है कि कितने ट्रैक रिकॉर्ड किए गए हैं। जबकि DD500 अलग-अलग ट्रैक को मिटा नहीं सकता है, मैंने इसे केवल एक कोडिंग अभ्यास के रूप में यह देखने के लिए जोड़ा कि क्या मैं इसे काम कर सकता हूं।

ऐसा प्रतीत होता है कि इंस्ट्रक्शंस को फाइल अपलोड करने में कोई समस्या है, और इसलिए मैंने कोड की एक कॉपी पेस्टबिन पर इसके बजाय:https://pastebin.com/XBSXHut2 पर डाल दी है।

कोड में 2 पुस्तकालयों का उपयोग किया गया था:

लिक्विड क्रिस्टल_I2C

FortySevenEffects MIDI लाइब्रेरी

चरण 12: निष्कर्ष

निष्कर्ष
निष्कर्ष

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

सिफारिश की: