विषयसूची:
- आपूर्ति
- चरण 1: इलेक्ट्रॉनिक्स
- चरण 2: एलईडी पट्टी को जोड़ना
- चरण 3: प्रोजेक्ट को अपने कीबोर्ड के अनुकूल बनाना
- चरण 4: Arduino कोड
- चरण 5: संभावित संवर्द्धन …
- चरण 6: हो गया
वीडियो: MIDI2LED - एक MIDI नियंत्रित एलईडी पट्टी प्रकाश प्रभाव: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
यह मेरा पहला निर्देश है, इसलिए मेरे साथ रहो।
मुझे संगीत बनाना पसंद है, और लाइव परिस्थितियों में जैसे कि लिविंग-रूम संगीत कार्यक्रम, मुझे यह पसंद है जब मैं जो खेलता हूं उसके साथ प्रकाश प्रभाव होता है। इसलिए मैंने एक Arduino- आधारित बॉक्स बनाया, जो मेरे MIDI कीबोर्ड पर एक नोट को हिट करने पर, और जहां मैंने नोट को हिट किया, एक यादृच्छिक रंग में एक LED स्ट्रिप लाइट बनाता है।
आपूर्ति
- Arduino Uno
- Arduino प्रोटोशील्ड
- मिडी जैक
- 1N4148 डायोड
- 6N138 ऑप्टो कपलर
- प्रतिरोधक: 2x 220 ओम, 1x 10kOhm, 1x 470Ohm
- WS2812B एलईडी पट्टी (60 एलईडी)
- कुछ बचे हुए तार
- तापरोधी पाइप
- Arduino के लिए उपयुक्त आवरण (मैं एक प्लास्टिक जंक्शन बॉक्स का उपयोग करता हूं)
आपको भी आवश्यकता होगी
- सोल्डरिंग आयरन और सोल्डर
- मिडी कीबोर्ड और मिडी केबल
चरण 1: इलेक्ट्रॉनिक्स
सर्किट बहुत सीधा है। इसमें एक मानक MIDI इनपुट (Arduino के बाईं ओर) और LED स्ट्रिप (Arduino के दाईं ओर) का कनेक्शन होता है। सभी भागों को प्रोटोशील्ड पर रखें, बहुत सारी जगह है। आमतौर पर एलईडी पट्टी को बिजली देने के लिए बाहरी बिजली की आपूर्ति का उपयोग करने की सिफारिश की जाती है, लेकिन मैंने पाया कि जब आप खेलते हैं, तो एक ही समय में केवल कुछ एलईडी चालू होते हैं, इसलिए वहां था बिजली उत्पादन के रूप में Arduino +5V/GND का उपयोग करने में कोई समस्या नहीं है। (एक ही समय में और पूरे वेग से सभी चाबियों को मारने से बचने की कोशिश करें।;-)) यदि आप बाहरी बिजली की आपूर्ति का उपयोग करने का निर्णय लेते हैं, तो बस इसे Arduino +5V और GND पिन से कनेक्ट करें। कुछ लोग इन दो पंक्तियों के बीच एक 100uF संधारित्र (योजनाबद्ध रूप में नहीं दिखाया गया) डालने की सलाह देते हैं।
भागों को प्रोटोशील्ड से मिलाएं और एलईडी पट्टी को योजनाबद्ध में दिखाए अनुसार कनेक्ट करें।
चरण 2: एलईडी पट्टी को जोड़ना
एलईडी पट्टी के दाहिने छोर - इनपुट अंत - को सर्किट से जोड़ना महत्वपूर्ण है। मेरी पट्टी में एक इनपुट के रूप में एक महिला कनेक्टर है, और इनपुट से दूर की ओर इशारा करते हुए छोटे त्रिकोण हैं। आउटपुट में, एक पुरुष कनेक्टर था (इसे दूसरी पट्टी से जोड़ने में सक्षम होने के लिए, जिसकी हमें आवश्यकता नहीं है), इसलिए मैंने उसे काट दिया और इसे Arduino से आने वाले तीन केबलों में मिला दिया। तीन केबलों को एलईडी पट्टी से जोड़ने के लिए और उन्हें कम दिखाई देने के लिए हीट सिकुड़ ट्यूबिंग का उपयोग करें।
मेरे द्वारा उपयोग की जाने वाली एलईडी पट्टी इसके पीछे चिपकने वाली टेप के साथ आती है, इसलिए इसे आसानी से मिडी कीबोर्ड के पीछे चिपकाया जा सकता है।
चरण 3: प्रोजेक्ट को अपने कीबोर्ड के अनुकूल बनाना
आपको एलईडी पट्टी और Arduino कोड को अपने कीबोर्ड में अनुकूलित करना पड़ सकता है। खदान में 76 कुंजियाँ हैं, और पट्टी की लंबाई लगभग कीबोर्ड की चौड़ाई के बराबर है। यदि आपके पास उदा। 61 कुंजियाँ, आपको एक छोटी पट्टी की आवश्यकता हो सकती है। एलईडी पट्टी को किन्हीं दो एलईडी के बीच काटा जा सकता है। बस सुनिश्चित करें कि आप सही हिस्से को काट रहे हैं, इसमें एक इनपुट एंड (एक महिला कनेक्टर के साथ) और एक आउटपुट एंड (एक पुरुष कनेक्टर के साथ) है, आपको इनपुट एंड को रखना होगा। कोड में, #defines बदलें के लिये
- NUMBER_OF_LEDS सिरे को काटने के बाद आपकी पट्टी में जितने LED बचे हैं,
- आपके कीबोर्ड पर कुंजियों की संख्या तक NUMBER_OF_KEYS, और
- आपकी न्यूनतम कुंजी की MIDI पिच संख्या के लिए MIN_KEY. आपको यह कीबोर्ड के उपयोगकर्ता पुस्तिका में मिल सकता है; या ऐसे टूल का उपयोग करें जो MIDI नोट नंबर प्रदर्शित करता हो, जैसे Linux के लिए KMidiMon, या windows या Mac के लिए Pocket MIDI; या जब तक डिवाइस आपके कीबोर्ड की सभी कुंजियों पर प्रतिक्रिया नहीं देता तब तक अलग-अलग मान आज़माएं
चरण 4: Arduino कोड
Arduino कोड फोर्टी सेवन इफेक्ट्स द्वारा MIDI लाइब्रेरी (v4.3.1) और Adafruit द्वारा Adafruit NeoPixel लाइब्रेरी (v1.3.4) का उपयोग करता है। Arduino IDE का उपयोग करके इन पुस्तकालयों को स्थापित करें। फिर कोड को संकलित करें और इसे बिना शील्ड से जुड़े Arduino पर अपलोड करें (ऑप्टोकॉप्लर RX पिन से जुड़ा है, जो अपलोड को बाधित करता है)। USB केबल के माध्यम से Arduino को पावर दें (मैं USB वॉल वार्ट का उपयोग करता हूं)।
यदि आप कोड को अपनी पसंद के अनुसार संशोधित करना चाहते हैं, तो यहां एक संक्षिप्त अवलोकन दिया गया है कि यह कैसे काम करता है: प्रत्येक लूप में, MIDI इनपुट पढ़ा जाता है। यदि कोई नोट ऑन या नोट ऑफ इवेंट प्राप्त हुआ है, तो MyHandleNoteOn या MyHandleNoteOff फ़ंक्शन कहलाते हैं। वे दोनों updateVelocityArray फ़ंक्शन को कॉल करते हैं, जो कुंजी संख्या के वेग (यानी आपने कुंजी को कितनी मेहनत से मारा है) को संग्रहीत करता है। यदि वेग पहले की तुलना में अधिक है, तो संबंधित एलईडी का रंग "वर्तमान रंग" पर सेट है। MIDI घटनाओं को संभालने के बाद, फ़ंक्शन updateLedArray को कॉल किया जाता है। यह "वर्तमान रंग" को अद्यतन करता है (लाल, हरा और नीला मान जिनमें से स्वतंत्र रूप से एक रैखिक तरीके से बदलते हैं, जब तक कि निचले या ऊपरी छोर तक नहीं पहुंच जाता है, जिस बिंदु पर रैखिक परिवर्तन की गति एक यादृच्छिक संख्या पर सेट होती है), धीरे-धीरे दबाए गए नोटों के वेग को कम करता है, और प्रत्येक एलईडी के रंग मूल्यों को अपडेट करता है जिसे अपना रंग बदलना पड़ता है (नए नोट हिट, या वेग में कमी के कारण)। फ़ंक्शन showLedArray रंगों को "पिक्सेल" नामक Adafruit_NeoPixel संरचना में स्थानांतरित करता है और वास्तविक एलईडी को पिक्सेल संरचना में रंग दिखाता है।
चरण 5: संभावित संवर्द्धन …
एक परियोजना कभी समाप्त नहीं होती है। इसे सुधारने के लिए हमेशा कुछ न कुछ किया जा सकता है:
- प्रोटोशील्ड में इतने कम हिस्से होते हैं कि यह वास्तव में बेकार है; एक Arduino नैनो और एक 15x7 छेद पीसीबी और कुछ महिला पिन हेडर के साथ एक ही प्रभाव को आसानी से प्राप्त कर सकता है।
- कुछ MIDI सिग्नल खो जाते हैं। यदि यह एक NoteOn है, तो संबंधित LED नहीं जलेगी; यदि यह नोटऑफ है, तो यह बाहर नहीं जाएगा (इसीलिए मैंने वेग में कमी की शुरुआत की, जो सुनिश्चित करता है कि एल ई डी अनिश्चित काल तक नहीं रहेंगे)। मैं अभी भी इसका कारण जानने की कोशिश कर रहा हूं। संभवतः यह एक समय का मुद्दा है, और MIDI.read() को अधिक बार कॉल किया जाना चाहिए।
- कुछ मिडी संकेतों को गलत पढ़ा जाता है, यानी गलत एल ई डी प्रकाश करता है। उपरोक्त बिंदु से जोड़ा जा सकता है। कुछ जांच की जरूरत है।
- सर्किट को बिना अधिक उपयोगकर्ता सहभागिता (कीबोर्ड चलाने के अलावा) के सुखद दृश्य प्रभाव देने के लिए डिज़ाइन किया गया है। हालांकि, मैं एक पोटेंशियोमीटर जोड़ने की कल्पना कर सकता हूं जिसे पढ़ा जाता है (Arduino के एनालॉग इनपुट में से एक का उपयोग करके) जिसके साथ आप अधिकतम गति को बदल सकते हैं जिस पर रंग बदलते हैं (वर्तमान में # MAX_COLOR_CHANGE_SPEED = 20 के रूप में परिभाषित किया गया है)। या दो नोटऑन ईवेंट के बीच के औसत समय को मापें, और तदनुसार MAX_COLOR_CHANGE_SPEED बदलें - धीमे गीतों में, रंग अधिक धीरे-धीरे बदलना चाहिए।
चरण 6: हो गया
USB केबल के माध्यम से Arduino को पावर दें (मैं USB वॉल वार्ट का उपयोग करता हूं)। अपने मिडी कीबोर्ड को मिडी जैक से कनेक्ट करें, और रॉकिन शुरू करें। मुझे थोड़ा हल्का संगीत बजाते हुए देखें (सजा, जितना बुरा है, इरादा)।
सिफारिश की:
DIY एलईडी पट्टी: कैसे काटें, कनेक्ट करें, मिलाप करें और पावर एलईडी पट्टी: 3 कदम (चित्रों के साथ)
DIY एलईडी पट्टी: कैसे कट, कनेक्ट, सोल्डर और पावर एलईडी पट्टी: एलईडी पट्टी का उपयोग करके अपनी खुद की लाइट प्रोजेक्ट बनाने के लिए शुरुआती गाइड। लचीला विश्वसनीय और उपयोग में आसान, एलईडी स्ट्रिप्स विभिन्न प्रकार के अनुप्रयोगों के लिए सबसे अच्छा विकल्प हैं। मैं कवर करूंगा एक साधारण इनडोर 60 एलईडी/एम एलईडी पट्टी स्थापित करने की मूल बातें, लेकिन अंदर
एलईडी पट्टी अद्भुत प्रभाव: 4 कदम
एलईडी पट्टी अद्भुत प्रभाव: हाय दोस्त, हम एलईडी पट्टी के अच्छे प्रभाव चाहते हैं। एलईडी पट्टी हमारे कमरे को सजाती है और जब यह प्रभाव देती है तो कमरा अद्भुत दिखता है। यदि आपकी एलईडी पट्टी सरल चमकती है, तो यह ब्लॉग आपके लिए बहुत खास है क्योंकि इस ब्लॉग में आप सीखेंगे कि हम कैसे बना सकते हैं
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण - NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में - आरजीबी एलईडी स्ट्रिप स्मार्टफोन नियंत्रण: 4 कदम
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण | NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में | RGB LED STRIP स्मार्टफोन कंट्रोल: हाय दोस्तों इस ट्यूटोरियल में हम सीखेंगे कि RGB LED स्ट्रिप को नियंत्रित करने के लिए IR रिमोट के रूप में nodemcu या esp8266 का उपयोग कैसे करें और Nodemcu को वाईफाई पर स्मार्टफोन द्वारा नियंत्रित किया जाएगा। तो मूल रूप से आप अपने स्मार्टफोन से RGB LED STRIP को नियंत्रित कर सकते हैं
एलईडी पट्टी और एलईडी सर्किट के साथ सुपर प्रभाव: 11 कदम
एलईडी पट्टी और एलईडी सर्किट के साथ सुपर प्रभाव: हाय दोस्त, आज मैं एलईडी पट्टी और एलईडी के साथ सुपर प्रभाव प्रकाश का एक सर्किट बनाने जा रहा हूं। चलिए शुरू करते हैं
अद्भुत प्रभाव आरजीबी एलईडी पट्टी सर्किट कैसे बनाएं: 6 कदम (चित्रों के साथ)
अद्भुत प्रभाव आरजीबी एलईडी पट्टी सर्किट कैसे बनाएं: हाय दोस्त, आज मैं एक सर्किट बनाने जा रहा हूं जो एलईडी पट्टी को नियंत्रित करेगा। यह सर्किट एलईडी पट्टी का अद्भुत प्रभाव देगा। यह सर्किट बहुत आसान और सस्ता है। हमें केवल 3- की आवश्यकता है आरजीबी एलईडी।चलो शुरू करते हैं