अरुडिनोको साथ तपाईंको आफ्नै मिडिया नियन्त्रक बनाउनुहोस्

मिडी

यदि तपाईं एक संगीत प्रेमी वा सिधा एक शौकिया वा पेशेवर संगीतकार हुनुहुन्छ भने, निश्चित रूपमा तपाईंको घरमा तपाईंले संगीत वाद्ययन्त्रहरूको ठूलो संग्रह स .्ग्रह गर्नुभएको छ। यी सबै मिक्सहरू पूर्ण रूपमा बनाउनको लागि यसलाई प्राप्त गर्न उत्तम हो MIDI नियन्त्रक। दुर्भाग्यवस, यी प्रकारका वस्तुहरू प्राय: महँगो हुन्छन्, त्यसैले धेरै स्रोतहरू बिना व्यक्तिलाई उनीहरूले दिन सक्ने सबै चीजहरू पहुँच गर्न गाह्रो हुन्छ।

MIDI कन्ट्रोलर भनेको के हो भनेर बुझ्नको लागि, तपाईंलाई MIDI शब्द आएको हो भनेर भन्नुहोस् संगीत इन्स्ट्रुमेन्ट डिजिटल इन्टरफेस, कि एक प्रकारको नियन्त्रक हो कि इलेक्ट्रोनिक संगीत उपकरण एक अर्को संग कुराकानी गर्न सक्षम बनाउँछ। यदि तपाईंसँग घरमा इलेक्ट्रोनिक किबोर्ड छ भने, उदाहरणका लागि, यो MIDI इन्टरफेस भएको सम्भावना भन्दा बढी हुन्छ। अगाडि बढ्न जारी गर्नु अघि, त्यहाँ केही प्राविधिक विवरणहरू छन् जुन तपाईंलाई विश्वासमा डोर्‍याउन सक्छ भन्ने तथ्यको बाबजुद पनि, तपाई एकदम स्पष्ट हुनुपर्दछ कि MIDI अडियो होईन.

यो साधारण ट्यूटोरियलको साथ तपाईको आफ्नै मिडी नियन्त्रक सिर्जना गर्नुहोस्

एकचोटि हामी यस बारे स्पष्ट भए पछि, तपाईलाई पक्कै पनि बुझ्न सजिलो हुन्छ कि मिडी मात्र एक साधारण छ निर्देशन १ 16 स्वतन्त्र च्यानल समर्थन गर्न सक्षम सेट, जसको अर्थ यो हो कि त्यहाँ एक अर्कासँग स्वतन्त्र रुपमा संचार गर्न १ 16 अलग उपकरणहरू हुन सक्छन्। यी उपकरणहरू एक--पिन DIN केबल मार्फत जडान हुनुपर्दछ, जुन मूल रूपमा एक कनेक्टर भित्र पाँच पिनको साथ केबल हो। एक विस्तारको रूपमा, यो common-पिन DIN को सट्टामा USB प्रयोग गर्न सामान्य छ, USB प्रयोग गर्ने अवस्थामा हामीले USB-MIDI इन्टरफेस सिर्जना गर्नुपर्दछ।

थप विज्ञापन बिना, म तपाईंलाई लिंक पाउन सक्दछु जहाँ तपाईं पाउन सक्नुहुन्छ ट्युटोरियल धेरैको साथ चरण-देखि चरण वर्णनात्मक छविहरू जहाँ हामी सबै आवश्यक कार्यहरू गर्न सक्छौं हाम्रो आफ्नै MIDI नियन्त्रक सिर्जना गर्न।

सम्बन्धित लेख:
कसरी हाम्रो रास्पबेरी पाई मा पाई प्रयोगकर्ता नाम र पासवर्ड परिवर्तन गर्न

कसरी अर्डिनोको साथ तपाईको मिडिया नियन्त्रक बनाउने

मिडी कनेक्टर

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

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

सम्बन्धित लेख:
कसरी रोबोट बनाउने: different बिभिन्न विकल्पहरू

मिडी नियन्त्रक के हो?

midi

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

भित्र MIDI त्यहाँ दुई फरक प्रकार छन्एकातिर हामीसँग परिवर्तन नियन्त्रण भनिन्छ जहाँ यो कन्ट्रोलर नम्बर र ० र १२0 बीचको मान रहेको छ। यसको लागि धन्यवाद, सन्देशहरू जारी गर्न सकिन्छ जहाँ भोल्युम वा टोन जस्ता फरक प्यारामिटरहरू परिवर्तन गर्न सकिन्छ। मिडियालाई स्वीकार्ने बिभिन्न उपकरणहरूले कुन च्यानल र सन्देशहरू पूर्वनिर्धारित रूपमा सेट गरिएका छन् र तिनीहरूलाई कसरी परिवर्तन गर्ने भनेर वर्णन गर्दै उनीहरूसँग म्यानुअल ल्याउनु पर्छ।

दोस्रो स्थानमा हामीसँग प्रोग्राम परिवर्तन छ, सन्देशहरूको एक श्रृंखला जुन बदलावमा परिवर्तन नियन्त्रणको लागि भन्दा धेरै सरल हुन्छ। यी प्रकारका सन्देशहरू उपकरणको प्रिसेट वा प्याच परिवर्तन गर्नका लागि प्रयोग गरिन्छ। परिवर्तन नियन्त्रणमा जस्तै, तपाईंको उपकरणको साथ निर्माताले म्यानुअल समावेश गर्न अनिवार्य छ जुन प्रिसेटहरू विशेष सन्देशले परिवर्तन गरेको हो।

अंशहरू तपाईंको आफ्नै घरेलु MIDI नियन्त्रक निर्माण गर्न आवश्यक छ

मिडी कनेक्टर योजनाबद्ध

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

हामीलाई 5-पोल महिला DIN केबल, २ २२० ओम प्रतिरोधकहरू, २ क्षणिक स्विचहरू, २ १०k ओम प्रतिरोधकहरू, जडान तारहरू, एक सर्किट बोर्ड, MIDI केबल र एक MIDI उपकरण वा USB इन्टरफेस चाहिन्छ। यी टुक्राहरूका साथ तपाईं सुरू गर्न सक्नुहुन्छ, मेरो चरणहरू अनुसरण गरेर, तपाईंको आफ्नै मिडी नियन्त्रक बनाउन।

पहिलो चरणहरू

Arduino मिडी योजनाबद्ध

सुरु गर्नु अघि म तपाईंलाई एउटा तस्विर छोड्न सक्छु जहाँ तपाईं आफ्नो MIDI केबलको पिन देख्न सक्नुहुनेछ, यस तरीकाले हामी पिनहरू सही रूपमा पहिचान गर्न सक्दछौं र विशेष गरी जहाँ प्रत्येकलाई जडान गर्ने। मोटामोटी रूपमा भन्नुपर्दा तपाईले गर्नुपर्ने केबलको पिन connect लाई २२० ओम प्रतिरोधकमा जोड्नुपर्दछ र त्यहाँबाट अर्डिनो ट्रान्समिट १, पिन 5 लाई २२० ओम प्रतिरोधकमा र त्यहाँबाट अर्डिनोको VV सकेटमा पिन गर्नुहोस्। २ तपाईंको नियन्त्रणकर्ताको जडानमा जोडिएको हुनुपर्दछ।

एक पटक यो चरण सकिएपछि तपाईसँग फोटोमा विस्तृत रेखाचित्र हुँदैन जुन यी रेखाहरूको तल अवस्थित छ, यो बटनहरू जडान गर्ने समय हो। यस सेक्सनको विचार भनेको एक बटनको प्रेसको साथ, ट्रान्झिस्टर प्रयोग गर्न सक्षम हुनको लागि डिजिटलरेड पिन (यसमा पुग्ने भोल्टेज परिवर्तन हुँदा पत्ता लगाउन सक्षम) को प्रयोग गरेर प्राप्त गर्न हो। यसको लागि हामीले केवल एउटा बटन प्रयोग गर्नुपर्दछ कि, यसको बायाँपट्टि हामी यसलाई VV मा जडान गर्छौं, दायाँ छेउलाई २२० ओम प्रतिरोध गर्न र त्यहाँबाट जमिनमा, जबकि, हामी दायाँ पिन पनि पिन connect मा जडान गर्दछौं। दोस्रो बटन पनि त्यस्तै स्थापना हुनेछ यदि तपाईले चित्रमा देख्न सक्नुहुन्छ, पिन of को सट्टा हामी यसलाई to मा जडान गर्छौं।

घर मिडी कन्ट्रोलरको लागि प्रयोग गर्न सफ्टवेयर

एकचोटि हामीले सबै हार्डवेयरको साथ समाप्त गरेपछि यो हाम्रो उपकरण र परीक्षण जडान गर्ने समय हो। त्यो भन्दा पहिले हामीसँग हुनु पर्छ USB-MIDI इन्टरफेस र एक MIDI केबल बोर्ड जडान गर्न, जुन डाटा पठाउँदै छ, हाम्रो कम्प्युटरको साथ। यो प्राप्त गर्नका लागि, हामीले मिडी वी .4.2.२ पुस्तकालयको लागि छनौट गर्यौं लोग्नेहरु द्वारा बनाईएको चालीस चालीस प्रभावहरु जुन हामीले हाम्रो अर्डिनोमा स्थापना गरेको हुनुपर्दछ र यस परियोजनामा ​​समावेश गर्नु पर्छ।

कम्प्युटरको मामलामा, हामीलाई एक प्रोग्राम चाहिन्छ जो अर्दुइनोबाट आउने सबै मिडिया लगतहरूको सुपरिवेक्षण गर्न सक्षम छ। यसको लागि हामीसँग विभिन्न सम्भाव्यताहरू छन् जस्तै MIDI मोनिटर (OS X), MIDI-OX (विन्डोज) वा Kmidimon (Linux)

एउटा सानो परीक्षण गर्न हामीले भर्खर अर्डिनोलाई हाम्रो कम्प्युटरमा जडान गर्नुपर्नेछ र निम्न कोड कार्यान्वयन गर्नुपर्नेछ:

#include
#include
#include
#include
#include

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // crear objeto de salida MIDI llamado midiOut

void setup() {
Serial.begin(31250); // configuracion de serial para MIDI
}

void loop() {
midiOut.sendControlChange(56,127,1); // envío de señal MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(1000); // retraso
midiOut.sendProgramChange(12,1); // envío de una señal MIDI PC -- 12 = valor, 1 = canal
delay(1000); // retraso de 1 segundo
}

यदि सबै ठीकठाक भएको छ भने, तपाईं बटन परीक्षणमा जान सक्नुहुनेछ, यदि यो परीक्षणले तपाईंको लागि काम नगरेको खण्डमा तपाईंले यो निश्चित गर्नुपर्दछ कि सबै जडानहरू ठीक छन्, सर्किट बिल्कुल अघिल्लो रेखाचित्र जस्तै हो, सर्किट। एक MIDI केबलको साथ एक USB-MIDI ईन्टरफेसमा जडित छ, MIDI पोर्ट केबलहरू सही जडित छन्, MIDI केबल USB-MIDI इन्टरफेसको इनपुटमा जडित छ, Ardino बोर्ड सही ढ correctly्गले इलेक्ट्रिकल नेटवर्कमा जडित छ र यससँग पर्याप्त शक्ति छ ...

बटनहरू सही ढ work्गले काम गर्ने कुराको जाँच गर्दै

हाम्रो कार्यक्रम नयाँ फंक्शनलिटीहरू र कोडमा फिड गर्न जारी गर्नु अघि जुन हामी हराउन सक्छौं, यो एकछिनको लागि रोक्न लायकको छ र बटनहरू ठीकसँग काम गर्ने परीक्षण गर्नुहोस्। तिनीहरूको लागि हामीले निम्न कोड लोड गर्नुपर्‍यो:

const int boton1 = 6; // asignacion del boton a una variable
const int boton2 = 7; // asignacion del boton a una variable

void setup() {
Serial.begin(9600); // configuracion del serial
pinMode(boton1,INPUT); // configuracion del boton1 como entrada
pinMode(boton2,INPUT); // configuracion del boton2 como entrada
}

void loop() {

if(digitalRead(boton1) == HIGH) { // prueba de estado del boton1
delay(10); // retraso
if(digitalRead(boton1) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 1 funciona correctamente!"); // log
delay(250);
}
}

if(digitalRead(boton2) == HIGH) { // prueba de boton 2
delay(10); // retraso
if(digitalRead(boton2) == HIGH) { // prueba de estado de nuevo
Serial.println("Boton 2 funciona correctamente!"); // log
delay(250);
}
}

}

यो कोड भर्खरै कम्पाइल र कार्यान्वयन गर्नुपर्नेछ कि, USB केबल जडानको साथ, प्रोग्रामले हामीलाई बताउँदछ कि कुनै पनि बटनहरू थिचेको छ भने।

हामी हाम्रो होममेड MIDI नियन्त्रक सिर्जना गर्दछौं

एकचोटि हामीले यी परीक्षणहरू चलाइसकेका छौं, यो समयका लागि हाम्रो आफ्नै मिडी नियंत्रकलाई भेला गर्ने समय हो, तपाईं केवल निम्न कोड कम्पाइल गर्नुपर्नेछ:

#include
#include
#include
#include
#include

const int boton1 = 6; // asignamos boton a la variable
const int boton2 = 7; // asignamos boton a la variable

MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // create a MIDI object called midiOut

void setup() {
pinMode(boton1,INPUT); // configuracion del boton1 como una entrada
pinMode(boton2,INPUT); // configuracion del boton2 como una entrada
Serial.begin(31250); // configuracion MIDI de salida
}

void loop() {
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado de nuevo
midiOut.sendControlChange(56,127,1); // envío un MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}

if(digitalRead(buttonTwo) == HIGH) { // comprobacion de estado
delay(10); // retraso
if(digitalRead(buttonTwo) == HIGH) { // nueva comprobacion de estado
midiOut.sendControlChange(42,127,1); // envío un MIDI CC -- 42 = nota, 127 = velocidad, 1 = canal
delay(250);
}
}
}

विस्तृतको रूपमा, तपाईंलाई भन्नुहोस् कि तपाईंले यस पटक MIDI आउटपुटको साथ Serial.println () आदेश प्रयोग गर्न सक्नुहुन्न, यदि तपाईं कम्प्युटरमा केही प्रकारको सन्देश देखाउन चाहानुहुन्छ भने, परिवर्तन गर्नुहोस्:

midiOut.sendControlChange(42,127,1);

द्वारा:

midiOut.sendControlChange(value, channel);

जहाँ मान र च्यानलसँग इच्छित प्रदर्शन हुनुपर्दछ जुन तपाईं प्रदर्शन गर्न चाहानुहुन्छ।

अपरेसन उदाहरण:


लेखको सामग्री हाम्रो सिद्धान्तहरूको पालना गर्दछ सम्पादकीय नैतिकता। त्रुटि क्लिक गर्न रिपोर्ट गर्नुहोस् यहाँ.

२ टिप्पणीहरू, तपाइँको छोड्नुहोस्

तपाइँको टिप्पणी छोड्नुहोस्

तपाईंको ईमेल ठेगाना प्रकाशित हुनेछैन। आवश्यक फिल्डहरू चिन्ह लगाइएको छ *

*

*

  1. डाटाका लागि उत्तरदायी: मिगुएल gelन्गल ग्याटन
  2. डाटाको उद्देश्य: नियन्त्रण स्पाम, टिप्पणी प्रबन्धन।
  3. वैधानिकता: तपाईंको सहमति
  4. डाटाको सञ्चार: डाटा कानुनी बाध्यता बाहेक तेस्रो पक्षलाई सूचित गरिने छैन।
  5. डाटा भण्डारण: डाटाबेस ओसीन्टस नेटवर्क (EU) द्वारा होस्ट गरिएको
  6. अधिकार: कुनै पनि समयमा तपाईं सीमित गर्न सक्नुहुनेछ, पुन: प्राप्ति र तपाईंको जानकारी मेटाउन।

  1.   अल्फ्रेड भन्यो

    अर्डिनोले तपाईंलाई धेरै सम्भावनाहरू प्रदान गर्दछ तपाईंको आफ्नै कार्यहरू शुरू गर्न https://www.juguetronica.com/arduino । सब भन्दा राम्रो चीज मध्ये एक तपाईं एक विशेषज्ञ बिना नै सुरु गर्न र सिक्न मा जान सक्नुहुन्छ, यसैले आफैलाई सिकाउन आफैलाई सिकाउन सकिन्छ।

  2.   डेनेल रोमन भन्यो

    Saludos।

    म यो शानदार ट्यूटोरियल पूरा गर्न कोशिस गर्दैछु ... तर # समावेसहरू पूरा भएनन्…।

    कुन मलाई आवश्यक छ मलाई भन्न सक्नुहुन्छ?

    धेरै धेरै धन्यवाद।

  3.   Uell भन्यो

    नमस्कार!
    म ज्याक इनपुटको साथ बटनहरू प्रतिस्थापन गरेर इलेक्ट्रोनिक ड्रम मोड्युल बनाउन चाहन्छु जसमा पाइजोइलेक्ट्रिक संकेत आउनेछ।
    के यो गर्न सम्भव छ?

  4.   एडुआर्डो भलेन्जुएला भन्यो

    कृपया यदि तपाईं यो कोडको समावेश गर्न सक्नुहुनेछ, म यस परियोजनामा ​​रुचि राख्छु।