अर्डिनोसह आपले स्वतःचे मिडी नियंत्रक बनवा

MIDI

आपण संगीत प्रेमी असल्यास किंवा थेट एखादा हौशी किंवा व्यावसायिक संगीतकार असल्यास आपल्या घरात तुम्ही वाद्यांचा मोठा संग्रह जमा केलेला असेल. हे सर्व मिश्रण पूर्णपणे तयार करण्यासाठी, एक मिळविणे चांगले एमआयडीआय नियंत्रक. दुर्दैवाने, या प्रकारच्या वस्तू सहसा खूपच महाग असतात जेणेकरून बर्‍याच स्त्रोतांशिवाय व्यक्तीला ऑफर करता येणा everything्या प्रत्येक गोष्टीवर त्याचा प्रवेश कठीण होतो.

मिडी नियंत्रक म्हणजे काय हे अधिक चांगल्या प्रकारे समजण्यासाठी, मिडी शब्द आला आहे हे आपल्याला सांगा वाद्य यंत्र डिजिटल इंटरफेस, म्हणजेच इलेक्ट्रॉनिक संगीत साधने बनवणारे एक प्रकारचे नियंत्रक एकमेकांशी संवाद साधू शकतात. आपल्याकडे घरी इलेक्ट्रॉनिक कीबोर्ड असल्यास, उदाहरणार्थ, त्यात एमआयडीआय इंटरफेस असण्याची शक्यता जास्त आहे. पुढे जाण्यापूर्वी, काही तांत्रिक तपशील आहेत ज्यामुळे एखाद्या व्यक्तीवर विश्वास असू शकतो, हे अगदी स्पष्ट असले पाहिजे मिडी ऑडिओ नाही.

या सोप्या ट्यूटोरियलसह आपले स्वतःचे मिडी नियंत्रक तयार करा

एकदा आम्ही याबद्दल स्पष्ट झाल्यानंतर, आपल्यासाठी हे समजणे निश्चितच सोपे जाईल की मिडी ही एक सोपी आहे सूचना 16 पर्यंत स्वतंत्र चॅनेल समर्थित करण्यास सक्षम सेट, ज्याचा अर्थ असा आहे की सुमारे 16 भिन्न डिव्हाइस एकमेकांशी स्वतंत्रपणे संप्रेषण करू शकतात. या उपकरणांना 5-पिन डीआयएन केबलद्वारे कनेक्ट करावे लागेल, जे मूलत: कनेक्टरच्या आत पाच पिन असलेली एक केबल आहे. तपशील म्हणून, 5-पिन डीआयएनऐवजी यूएसबी वापरणे सामान्य आहे, यूएसबी वापरण्याच्या बाबतीत आपण यूएसबी-एमआयडीआय इंटरफेस तयार करणे आवश्यक आहे.

पुढील प्रयत्नांशिवाय, मी आपल्याला जिथे शोधू शकतो त्या दुव्यासह सोडतो प्रशिक्षण बर्‍याच गोष्टींसह चरण-दर-चरण वर्णनात्मक प्रतिमा जिथे आम्ही स्वत: चे एमआयडीआय नियंत्रक तयार करण्यासाठी सर्व आवश्यक क्रिया करू शकतो.

संबंधित लेख:
आमच्या रास्पबेरी पाई वर पाय वापरकर्तानाव आणि संकेतशब्द कसे बदलावे

अर्दूनोसह आपले स्वत: चे एमआयडीआय कंट्रोलर कसे बनवायचे

मिडी कनेक्टर

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

यामुळे, आज मी आपल्याला आपल्यास आवश्यक असलेल्या सर्व गोष्टी दर्शवू इच्छितो जेणेकरून आपण आपले स्वत: चे एमआयडीआय कंट्रोलर बनवू शकता जेणेकरुन त्याच्या बांधकामासाठी आवश्यक असलेल्या सर्व गोष्टी दर्शविल्या जातील आणि आपल्याला स्थापित करणे आवश्यक असलेले सॉफ्टवेअर ऑफर करू शकता. सविस्तर माहिती म्हणून, या प्रकल्पासाठी एक आर्डिनो बोर्ड वापरणे आवश्यक आहे, एक नियंत्रक जे हे कार्य करण्यासाठी पुरेसे शक्तिशाली आहे.

रोबोट कसा बनवायचा
संबंधित लेख:
रोबोट कसा बनवायचाः 3 भिन्न पर्याय

मिडी नियंत्रक म्हणजे काय?

मिडी

मूलभूतपणे, एक एमआयडीआय कंट्रोलर जबाबदार असते, मोठ्या प्रमाणात बोलतात, वेगवेगळ्या वाद्य उपकरणांना एकमेकांशी जोडण्यासाठी. अनेक साधने अशी आहेत जी एक मिडी इंटरफेस समाविष्ट करतात, जरी हे बरेच स्पष्ट असले पाहिजे कारण बर्‍याचदा गोंधळलेले असतात, एमआयडीआय ही एक ऑडिओ फाइल नाही परंतु इन्स्ट्रुमेंटला मिळू शकणार्‍या सूचनांचा एक अगदी सोपा सेट आहे. भिन्न नियंत्रण करण्यासाठी किंवा ध्वनी सेटिंग्ज.

एमआयडीआय आत दोन भिन्न प्रकार आहेतएकीकडे आपल्याकडे चेंज कंट्रोल नावाचे एक आहे जिथे त्यात कंट्रोलर क्रमांक आणि 0 आणि 127 मधील मूल्य आहे. धन्यवाद, संदेश दिले जाऊ शकतात जेथे व्हॉल्यूम किंवा टोनसारखे भिन्न पॅरामीटर्स बदलले जाऊ शकतात. एमआयडीआय स्वीकारणार्‍या भिन्न साधनांनी कोणती चॅनेल आणि संदेश डीफॉल्टनुसार सेट केले आहेत आणि ते कसे बदलता येतील हे सांगून त्यांच्याबरोबर मॅन्युअल आणायला हवे.

दुसर्‍या स्थानावर आमच्याकडे प्रोग्राम चेंज आहे, संदेश नियंत्रणांची मालिका जी त्या बदलांवर नियंत्रण ठेवण्यापेक्षा खूप सोपी असतात. या प्रकारचे संदेश डिव्हाइसचे प्रीसेट किंवा पॅच बदलण्यासाठी वापरले जातात. चेंज कंट्रोल प्रमाणेच, आपल्या इन्स्ट्रुमेंटसह निर्मात्याने एक मॅन्युअल समाविष्ट करणे आवश्यक आहे जे दर्शविते की कोणत्या संदेशाद्वारे विशिष्ट संदेश बदलले आहेत.

आपले स्वत: चे होममेड एमआयडीआय कंट्रोलर तयार करण्यासाठी भाग आवश्यक आहेत

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

आपले स्वत: चे मिडी कंट्रोलर तयार करण्यास सक्षम होण्यासाठी आपल्याला अर्डिनो बोर्डवर आधीपासूनच नमूद केल्यानुसार आपल्याला त्यासह अनेक तुकड्यांची मालिका देखील आवश्यक असेल. सुरू ठेवण्यापूर्वी, फक्त आपल्याला सांगा की कदाचित, भविष्यात आपल्याला प्रकल्प वाढवायचा असेल, तर आपल्याला अधिक गोष्टींची आवश्यकता आहे, जरी यावेळी काही तुकड्यांसह आपल्याकडे भरपूर असेल.

आम्हाला 5-पोल महिला डीआयएन केबल, 2 220 ओम प्रतिरोधक, 2 क्षणिक स्विचेस, 2 10 के ओम प्रतिरोधक, कनेक्शन वायर, एक सर्किट बोर्ड, एमआयडीआय केबल आणि एमआयडीआय डिव्हाइस किंवा यूएसबी इंटरफेसची आवश्यकता असेल. या तुकड्यांसह आपण माझे स्वतःचे मिडी नियंत्रक बनविण्यासाठी माझ्या चरणांचे अनुसरण करू शकता.

प्रथम चरण

अरुडिनो मिडी योजनाबद्ध

प्रारंभ करण्यापूर्वी मी आपल्यास एक चित्र सोडते जिथे आपण आपल्या एमआयडीआय केबलचे पिन पाहू शकता, अशा प्रकारे आम्ही पिन योग्यरित्या ओळखू शकतो आणि विशेषत: प्रत्येकास कोठे जोडले पाहिजे. मोकळेपणाने सांगायचे तर, आपल्याला याक्षणी करायचे आहे केबलच्या 5 पिनला 220 ओम प्रतिरोधक आणि तेथून अर्डिनो ट्रान्समिट 1 वर जोडणे, पिन 4 करताना 220 ओम रेझिस्टरकडे पिन करा आणि तेथून अर्डिनोच्या 5 व सॉकेटवर पिन करा. 2 आपल्या नियंत्रकाच्या ग्राउंड कनेक्शनशी कनेक्ट केलेले असणे आवश्यक आहे.

एकदा ही पायरी पूर्ण झाल्यानंतर, आपल्याजवळ या ओळीच्या खाली असलेल्या फोटोमध्ये तपशीलवार आकृती नाही, तर बटणे कनेक्ट करण्याची वेळ आली आहे. या बटणामधील कल्पना म्हणजे फक्त बटणाच्या पुशाने, ट्रांझिस्टर वापरण्यासाठी सक्षम होण्यासाठी डिजिटलरिड पिन (त्यापर्यंत पोहोचणारा व्होल्टेज बदलतो तेव्हा शोधण्यास सक्षम) वापरुन साध्य करणे. यासाठी आपल्याला फक्त एक बटण वापरावे लागेल जेणेकरून त्याच्या डाव्या बाजूस आपण त्यास 5 व्हीशी जोडले पाहिजे, उजवी बाजू 220 ओहमच्या प्रतिकारास आणि तेथून ग्राउंड पर्यंत, तर त्याऐवजी आपण उजवीकडील पिन देखील कनेक्ट करू. The. दुसरे बटण त्याच प्रकारे स्थापित केले जाईल, जसे की आपण आकृतीमध्ये पाहू शकता, पिन 6 ऐवजी आम्ही ते 6 वर कनेक्ट करतो.

होम मिडी कंट्रोलर वापरण्यासाठी सॉफ्टवेअर

एकदा आम्ही सर्व हार्डवेअर पूर्ण केल्यावर आपली साधने आणि चाचणी कनेक्ट करण्याची वेळ आली आहे. त्यापूर्वी आम्हाला एक असणे आवश्यक आहे यूएसबी-एमआयडीआय इंटरफेस आणि एक एमआयडीआय केबल आमच्या संगणकासह डेटा पाठविणारे बोर्ड कनेक्ट करण्यासाठी. हे साध्य करण्यासाठी, आम्ही आमच्या आरडिनोवर स्थापित केलेला असावा आणि प्रकल्पात समाविष्ट केलेला चाळीस सेव्हन इफेक्ट्सच्या लोकांनी तयार केलेल्या एमआयडीआय व्ही 4.2 लायब्ररीची निवड केली आहे.

संगणकाच्या बाबतीत, आम्हाला असा प्रोग्राम आवश्यक आहे जो अर्दूनो येथून तेथे येणार्‍या सर्व एमआयडीआय डेटाचे पर्यवेक्षण करण्यास सक्षम असेल. यासाठी आपल्याकडे एमआयडीआय मॉनिटर (ओएस एक्स), एमआयडीआय-ओएक्स (विंडोज) किंवा केमिडीमन (लिनक्स) सारख्या भिन्न शक्यता आहेत.

थोडी चाचणी करण्यासाठी आम्हाला फक्त आमच्या संगणकावर आर्डिनो कनेक्ट करणे आणि खालील कोड कार्यान्वित करणे आवश्यक आहे.

#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
}

जर सर्व काही व्यवस्थित झाले असेल तर आपण बटण चाचणीवर जाऊ शकता, जर या चाचणीने आपल्यासाठी कार्य केले नाही तर आपण सर्व कनेक्शन योग्य असल्याचे निश्चित केले पाहिजे, सर्किट मागील आकृतीप्रमाणेच आहे, सर्किट एमआयडीआय केबलसह यूएसबी-एमआयडीआय इंटरफेसशी कनेक्ट केलेले आहे, एमआयडीआय पोर्ट केबल्स योग्यरित्या जोडलेले आहेत, एमआयडीआय केबल यूएसबी-एमआयडीआय इंटरफेसच्या इनपुटशी कनेक्ट केलेले आहे, आर्डिनो बोर्ड योग्यरित्या विद्युत नेटवर्कशी कनेक्ट केलेले आहे आणि त्याच्याकडे पर्याप्त शक्ती आहे ...

बटणे योग्यरित्या कार्य करतात याची तपासणी करत आहे

आम्ही गमावू शकतो त्या नवीन कार्यक्षमतेसह आणि कोडसह आमच्या प्रोग्रामला फीड करणे सुरू करण्यापूर्वी, ते क्षणभर थांबणे फायद्याचे आहे आणि बटणे योग्यरित्या कार्य करतात याची तपासणी करा. त्यांच्यासाठी आम्हाला पुढील कोड लोड करावा लागेल:

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);
}
}

}

हा कोड फक्त संकलित करुन कार्यान्वित केला जाणे आवश्यक आहे जेणेकरून, यूएसबी केबल जोडल्यामुळे प्रोग्राम आपल्याला कुठलीही बटणे दाबली गेली आहे की नाही ते सांगेल.

आम्ही आमचे होममेड एमआयडीआय कंट्रोलर तयार करतो

एकदा आम्ही या चाचण्या पूर्ण केल्या की त्यासाठी आमचे स्वत: चे एमआयडीआय कंट्रोलर एकत्र करण्याची वेळ आली आहे, तुम्हाला फक्त पुढील कोड संकलित करावा लागेल:

#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);
}
}
}

सविस्तर माहिती म्हणून सांगा की आपण या वेळी एमआयडीआय आऊटपुटसह Serial.println () कमांड वापरू शकत नाही, जर आपल्याला संगणकावर काही प्रकारचे संदेश दाखवायचे असेल तर फक्त बदलाः

midiOut.sendControlChange(42,127,1);

पोर:

midiOut.sendControlChange(value, channel);

जेथे मूल्य आणि चॅनेलमध्ये आपण प्रदर्शित करू इच्छित इच्छित मूल्ये असणे आवश्यक आहे.

ऑपरेशन उदाहरणः


4 टिप्पण्या, आपल्या सोडा

आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

      आल्फ्रेड म्हणाले

    आरडिनो आपल्याला स्वतःहून प्रकल्प हाती घेण्याची बर्‍याच शक्यता देते https://www.juguetronica.com/arduino . एक उत्तम गोष्ट म्हणजे आपण विशेषज्ञ न होता प्रारंभ करू शकता आणि शिकत जाऊ शकता, अशा प्रकारे स्वत: ला शिक्षित होण्यासाठी प्रवृत्त करा.

      डॅनेल रोमन म्हणाले

    ग्रीटिंग्ज

    मी हे विस्मयकारक ट्यूटोरियल करण्याचा प्रयत्न करीत आहे… परंतु # समावेश पूर्ण नाहीत….

    कोणत्या मला आवश्यक आहेत ते सांगू शकाल का?

    खूप खूप धन्यवाद.

      उले म्हणाले

    नमस्कार!
    मी जॅक इनपुटसह बटणे बदलून इलेक्ट्रॉनिक ड्रम मॉड्यूल बनवू इच्छितो जिथे पायझोइलेक्ट्रिक सिग्नल येईल.
    हे करणे शक्य होईल का?

      एडुआर्डो वलेन्झुएला म्हणाले

    कृपया आपण या कोडची माहिती देऊ शकत असल्यास, मला या प्रकल्पात रस आहे.