અરડિનોથી તમારું પોતાનું મીડી નિયંત્રક બનાવો

MIDI

જો તમે સંગીત પ્રેમી છો અથવા સીધા કલાપ્રેમી અથવા વ્યાવસાયિક સંગીતકાર છો, તો તમારા ઘરમાં તમે સંગીતનાં સાધનોનો મોટો સંગ્રહ સંગ્રહ કર્યો છે. આ બધા મિશ્રણને સંપૂર્ણ બનાવવા માટે, એ મેળવવું શ્રેષ્ઠ છે મીડીઆઈ નિયંત્રક. દુર્ભાગ્યવશ, આ પ્રકારની objectsબ્જેક્ટ્સ સામાન્ય રીતે ઘણી ખર્ચાળ હોય છે, તેથી ઘણા સંસાધનો વિનાના વ્યક્તિ માટે તેઓ જે .ફર કરે છે તે બધું જ accessક્સેસ કરવાનું મુશ્કેલ છે.

મીડીઆઈ નિયંત્રક શું છે તે વધુ સારી રીતે સમજવા માટે, તમને કહો કે મીડીઆઈ શબ્દ આવ્યો છે મ્યુઝિકલ ઇન્સ્ટ્રુમેન્ટ ડિજિટલ ઇંટરફેસ, એટલે કે, એક પ્રકારનું નિયંત્રક જે ઇલેક્ટ્રોનિક સંગીતનાં ઉપકરણોને એકબીજા સાથે વાતચીત કરવામાં સક્ષમ બનાવે છે. જો તમારી પાસે ઘરે ઇલેક્ટ્રોનિક કીબોર્ડ છે, ઉદાહરણ તરીકે, તે એમઆઈડીઆઈ ઇંટરફેસ કરે તેવી સંભાવના કરતાં વધુ છે. આગળ વધવાનું ચાલુ કરતાં પહેલાં, ત્યાં કેટલીક તકનીકી વિગતો છે જે તમને અન્યથા માનવા તરફ દોરી શકે છે તે છતાં, તમારે ખૂબ સ્પષ્ટ હોવું જોઈએ કે મીડી ઓડિયો નથી.

આ સરળ ટ્યુટોરીયલ દ્વારા તમારા પોતાના MIDI નિયંત્રક બનાવો

એકવાર અમે આ વિશે સ્પષ્ટ થઈ ગયા પછી, તમારા માટે MIDI ફક્ત એક સરળ છે તે સમજવું તમારા માટે ચોક્કસ સરળ હશે સૂચના 16 જેટલી સ્વતંત્ર ચેનલોને ટેકો આપવા સક્ષમ છે, જેનો અર્થ છે કે ત્યાં સુધી 16 જેટલા ઉપકરણો હોઈ શકે છે જે એકબીજા સાથે સ્વતંત્ર રીતે વાતચીત કરે છે. આ ઉપકરણોને 5-પિન ડીઆઇએન કેબલ દ્વારા કનેક્ટ કરવું પડશે, જે મૂળ રૂપે એક કનેક્ટરની અંદર પાંચ પિનવાળી એક કેબલ છે. વિગતવાર તરીકે, 5-પિન ડીઆઈએનને બદલે યુએસબીનો ઉપયોગ કરવો તે સામાન્ય છે, યુએસબીનો ઉપયોગ કરવાના કિસ્સામાં આપણે યુએસબી-મીડી ઇન્ટરફેસ બનાવવું આવશ્યક છે.

આગળ ધાર્યા વિના, હું તમને તે લિંક સાથે છોડીશ જ્યાં તમે શોધી શકો છો ટ્યુટોરીયલ ઘણો સાથે પગલું દ્વારા પગલું વર્ણનાત્મક છબીઓ જ્યાં આપણે આપણા પોતાના MIDI નિયંત્રક બનાવવા માટે બધી આવશ્યક ક્રિયાઓ કરી શકીએ છીએ.

સંબંધિત લેખ:
અમારા રાસ્પબરી પાઇ પર પાઇ નામ અને પાસવર્ડ કેવી રીતે બદલવો

અરડિનો સાથે તમારું પોતાનું MIDI નિયંત્રક કેવી રીતે બનાવવું

મીડી કનેક્ટર

એવા ઘણા લોકો છે કે જેમને વ્યક્તિગત અને વ્યવસાયિક બંને કારણોસર, વાપરવાની જરૂર છે સંપૂર્ણપણે વૈવિધ્યપૂર્ણ MIDI નિયંત્રક કારણ કે કદાચ અને ઉદાહરણ તરીકે, એક કલાકાર તરીકે તમારા જીવનના કોઈ તબક્કે, સસ્તી એમઆઈડીઆઈ નિયંત્રક ખરીદવું તમારી અપેક્ષાઓ અથવા જરૂરિયાતોને પૂર્ણ કરી શકશે નહીં, જ્યારે સમય આવે ત્યારે, વ્યાવસાયિક સંસ્કરણની પસંદગી કરવાનું આર્થિક સંસાધનોમાં વધુ પડતું હોઈ શકે. જરૂરિયાત છે, તેમજ મોટી સંખ્યામાં સુવિધાઓ જે તેઓ પ્રદાન કરી શકે છે.

આને લીધે, આજે હું તમને જે જોઈએ તે બધું બતાવવા માંગું છું જેથી તમે તેના પોતાના બાંધકામ માટે જરૂરી બધી બાબતોને સૂચવતા તમારા પોતાના MIDI નિયંત્રક બનાવી શકો અને તમને જે સ theફ્ટવેર ઇન્સ્ટોલ કરવાની જરૂર છે તે ઓફર કરી શકો. વિગતવાર તરીકે, આ પ્રોજેક્ટ માટે rduર્ડુનો બોર્ડનો ઉપયોગ જરૂરી છે, એક નિયંત્રક જે આ કાર્યને કરવા માટે પૂરતા શક્તિશાળી છે.

રોબોટ કેવી રીતે બનાવવો
સંબંધિત લેખ:
રોબોટ કેવી રીતે બનાવવો: 3 વિવિધ વિકલ્પો

મીડીઆઈ નિયંત્રક શું છે?

મીડી

મૂળભૂત રીતે એક એમઆઈડીઆઈ નિયંત્રક વિવિધ સંગીતનાં ઉપકરણોને એકબીજાથી કનેક્ટ કરવા માટે, મોટે ભાગે બોલતા, જવાબદાર છે. ઘણાં એવાં સાધનો છે જે મીડી ઇન્ટરફેસને સમાવે છે, જોકે આ ખૂબ જ સ્પષ્ટ હોવું આવશ્યક છે કારણ કે ઘણા વપરાશકર્તાઓ વારંવાર મૂંઝવણમાં હોય છે, એમઆઈડીઆઈ એ કોઈ audioડિઓ ફાઇલ નથી, પરંતુ સાધન પ્રાપ્ત કરી શકે છે તે સૂચનાઓનો એક ખૂબ જ સરળ સેટ છે. અથવા ધ્વનિ સેટિંગ્સ.

અંદર મીડી ત્યાં બે અલગ અલગ પ્રકારો છેએક તરફ આપણી પાસે ચેન્જ કંટ્રોલ કહેવાય છે જ્યાં તેની પાસે નિયંત્રક નંબર છે અને તેનું મૂલ્ય 0 અને 127 ની વચ્ચે છે. આનો આભાર, સંદેશાઓ જારી કરી શકાય છે જ્યાં વોલ્યુમ અથવા ટોન જેવા વિવિધ પરિમાણો બદલી શકાય છે. વિવિધ ઇન્સ્ટ્રુમેન્ટ્સ કે જે એમઆઈડીઆઈને સ્વીકારે છે, તેમની સાથે મેન્યુઅલ લાવવું જોઈએ કે જે ચેનલો અને સંદેશાઓ ડિફ byલ્ટ રૂપે સેટ કરેલા છે અને તેમને કેવી રીતે બદલવા.

બીજા સ્થાને અમારી પાસે પ્રોગ્રામ ચેન્જ છે, સંદેશાઓની શ્રેણી જે બદલાવ નિયંત્રણ કરે છે તેના કરતા ખૂબ સરળ હોય છે. આ પ્રકારના સંદેશાઓનો ઉપયોગ ઉપકરણના પ્રીસેટ અથવા પેચને બદલવા માટે થાય છે. ચેન્જ કંટ્રોલની જેમ, તમારા ઇન્સ્ટ્રુમેન્ટની સાથે ઉત્પાદકે મેન્યુઅલ શામેલ કરવું આવશ્યક છે જે સૂચવે છે કે કયા સંદેશ દ્વારા કયા પ્રીસેટ્સનો બદલવામાં આવે છે.

ભાગો તમારા પોતાના હોમમેઇડ MIDI નિયંત્રક બનાવવા માટે જરૂરી છે

મિડી કનેક્ટર યોજનાકીય

તમારા પોતાના MIDI નિયંત્રકને બનાવવા માટે સમર્થ થવા માટે, તમારે એક આર્ડિનો બોર્ડ, જેમ કે આપણે પહેલાથી જ ઉલ્લેખ કર્યો છે તે ઉપરાંત, શ્રેણીબદ્ધ ટુકડાઓની જરૂર પડશે. ચાલુ રાખતા પહેલા, ફક્ત તમને જણાવો કે કદાચ, ભવિષ્યમાં, કારણ કે તમે પ્રોજેક્ટને વિસ્તૃત કરવા માંગો છો, તમારે વધુ વસ્તુઓની જરૂર છે, જોકે, આ સમયે થોડા ટુકડાઓ સાથે તમારી પાસે પુષ્કળ હશે.

અમને સ્ત્રી 5-પોલ ડીઆઇએન કેબલ, 2 220 ઓમ રેઝિસ્ટર, 2 ક્ષણિક સ્વીચો, 2 10 કે ઓમ રેઝિસ્ટર, કનેક્શન વાયર, એક સર્કિટ બોર્ડ, એમઆઈડીઆઈ કેબલ અને એમઆઈડીઆઈ ડિવાઇસ અથવા યુએસબી ઇન્ટરફેસની જરૂર પડશે. ફક્ત આ ટુકડાઓથી તમે તમારા એમઆઈડીઆઈ નિયંત્રક બનાવવા માટે, મારા પગલાંને અનુસરીને પ્રારંભ કરી શકો છો.

પ્રથમ પગલાં

અરડિનો મીડી યોજનાકીય

શરૂ કરતા પહેલા હું તમને એક ચિત્ર છોડું છું જ્યાં તમે તમારી MIDI કેબલની પિન જોઈ શકો છો, આ રીતે અમે પિનને યોગ્ય રીતે ઓળખી શકીએ છીએ અને ખાસ કરીને જ્યાં દરેકને કનેક્ટ કરવું આવશ્યક છે. મોટે ભાગે કહીએ તો, તમારે આ સમયે જે કરવાનું છે તે કેબલના પિન 5 ને 220 ઓમ રેઝિસ્ટરથી કનેક્ટ કરવું છે અને ત્યાંથી અરડિનો ટ્રાન્સમિટ 1 થી, પિન 4 ને 220 ઓમ રેઝિસ્ટરથી અને ત્યાંથી અર્ડુનોના 5 વી સોકેટ પર પિન કરો 2 ને તમારા નિયંત્રકના ગ્રાઉન્ડ કનેક્શનથી કનેક્ટ કરવું આવશ્યક છે.

એકવાર આ પગલું પૂર્ણ થઈ જાય, પછી તમારી પાસે ફોટામાં વિગતવાર આકૃતિ નથી જે આ રેખાઓથી નીચે સ્થિત છે, બટનોને કનેક્ટ કરવાનો સમય છે. આ વિભાગનો વિચાર એ છે કે, ફક્ત એક બટનના દબાણથી, ટ્રાંઝિસ્ટરનો ઉપયોગ કરવા માટે સક્ષમ થવા માટે, ડિજિટલ રીડ પિન (જ્યારે ત્યાં પહોંચતા વોલ્ટેજ બદલાય છે ત્યારે તે શોધવામાં સક્ષમ) નો ઉપયોગ કરીને, પ્રાપ્ત કરવાનો છે. આ માટે આપણે ફક્ત એક બટન વાપરવું પડશે જેથી, તેની ડાબી બાજુ આપણે તેને 5 વી થી જોડીએ, જમણી બાજુ 220 ઓહ્મ પ્રતિકાર અને ત્યાંથી જમીન સુધી, જ્યારે બદલામાં, આપણે જમણી બાજુ પણ પિન 6 થી જોડીશું. બીજું બટન એ જ રીતે ઇન્સ્ટોલ થશે જો કે, તમે આકૃતિમાં જોઈ શકો છો, પીન 6 ને બદલે આપણે તેને 7 થી જોડીએ છીએ.

હોમ મીડી નિયંત્રક માટે વાપરવા માટે સ Softwareફ્ટવેર

એકવાર આપણે બધા હાર્ડવેર સાથે સમાપ્ત કરી લીધા પછી, અમારા ઇન્સ્ટ્રુમેન્ટ અને પરીક્ષણને કનેક્ટ કરવાનો સમય છે. તે પહેલાં અમારે એક હોવું જરૂરી છે યુએસબી-મીડી ઇન્ટરફેસ અને એક એમઆઈડીઆઈ કેબલ આપણા કમ્પ્યુટર સાથે ડેટા મોકલનારા બોર્ડને કનેક્ટ કરવા. આ હાંસલ કરવા માટે, અમે ફોર્ટી સેવન ઇફેક્ટ્સના ગાય્સ દ્વારા બનાવેલ મીડીઆઈ વી 4.2 લાઇબ્રેરીની પસંદગી કરી છે જે આપણે આપણા અરડિનો પર ઇન્સ્ટોલ કરેલા હોવા જોઈએ અને પ્રોજેક્ટમાં શામેલ છે.

કમ્પ્યુટરના કિસ્સામાં, અમને એક પ્રોગ્રામની જરૂર પડશે જે તે એમઆરડીઆઈ ડેટાથી નિરીક્ષણ કરવા સક્ષમ છે જે તેના પર અરડિનોથી આવે છે. આ માટે આપણી પાસે જુદી જુદી સંભાવનાઓ છે જેમ કે MIDI મોનિટર (OS X), MIDI-OX (Windows) અથવા 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 કેબલ સાથે યુએસબી- MIDI ઇન્ટરફેસથી કનેક્ટ થયેલ છે, એમઆઈડીઆઈ પોર્ટ કેબલ્સ યોગ્ય રીતે જોડાયેલા છે, એમઆઈડીઆઈ કેબલ યુએસબી-એમઆઈડીઆઈ ઇન્ટરફેસના ઇનપુટ સાથે જોડાયેલ છે, અરડિનો બોર્ડ યોગ્ય રીતે ઇલેક્ટ્રિકલ નેટવર્ક સાથે જોડાયેલ છે અને તેમાં પૂરતી શક્તિ છે ...

બટનો બરાબર કાર્ય કરે છે તે ચકાસી રહ્યા છે

અમારા પ્રોગ્રામને નવી વિધેયો અને કોડ કે જેમાં આપણે ખોવાઈ જઈએ છીએ તેને ખવડાવવાનું ચાલુ કરતાં પહેલાં, તે એક ક્ષણ માટે રોકાવાનું યોગ્ય છે અને ચકાસો કે બટનો યોગ્ય રીતે કાર્ય કરે છે. તેમના માટે અમારે નીચેનો કોડ લોડ કરવો પડશે:

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

}

આ કોડ હમણાં જ કમ્પાઇલ અને એક્ઝેક્યુટ કરવાનો છે જેથી યુએસબી કેબલ કનેક્ટ થયેલ હોવા સાથે, પ્રોગ્રામ અમને જણાવે છે કે શું બટનો દબાવવામાં આવ્યા છે કે નહીં.

અમે અમારા હોમમેઇડ MIDI નિયંત્રક બનાવીએ છીએ

એકવાર અમે આ પરીક્ષણો ચલાવીશું, તે માટે તે માટે અમારા પોતાના 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);
}
}
}

વિગતવાર તરીકે, તમને કહો કે તમે આ સમયે સીઆઈડીઆઈ આઉટપુટ સાથે સીરિયલ.પ્રિંટલ () આદેશનો ઉપયોગ કરી શકતા નથી, જો તમે કમ્પ્યુટર પર કોઈ પ્રકારનો સંદેશ બતાવવા માંગતા હો, તો ફક્ત બદલો:

midiOut.sendControlChange(42,127,1);

દ્વારા:

midiOut.sendControlChange(value, channel);

જ્યાં મૂલ્ય અને ચેનલમાં ઇચ્છિત મૂલ્યો હોવા જોઈએ જે તમે પ્રદર્શિત કરવા માંગો છો.

ઓપરેશન ઉદાહરણ:


4 ટિપ્પણીઓ, તમારી છોડી દો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.

  1.   આલ્ફ્રેડ જણાવ્યું હતું કે

    અરડિનો તમને તમારા પોતાના પર પ્રોજેક્ટ્સ લેવાની ઘણી શક્યતાઓ પ્રદાન કરે છે https://www.juguetronica.com/arduino . એક શ્રેષ્ઠ બાબત એ છે કે તમે નિષ્ણાત વિના પ્રારંભ કરી શકો છો અને ભણતર પર આગળ વધી શકો છો, આમ તમારી જાતને સ્વ-શિક્ષિત બનવાની પ્રેરણા આપો.

  2.   ડેનલ રોમન જણાવ્યું હતું કે

    શુભેચ્છાઓ.

    હું આ વિચિત્ર ટ્યુટોરિયલ હાથ ધરવાનો પ્રયાસ કરી રહ્યો છું… પરંતુ # સમાવિષ્ટ પૂર્ણ નથી….

    તમે મને કહો કે કઇ જરૂરી છે?

    કેમ ગ્રાસિઅસ.

  3.   યુએલ જણાવ્યું હતું કે

    હાય!
    હું જેક ઇનપુટ્સ સાથે બટનોને બદલીને ઇલેક્ટ્રોનિક ડ્રમ મોડ્યુલ બનાવવા માંગું છું, જ્યાં પીઝોઇલેક્ટ્રિક સિગ્નલ આવશે.
    તે કરવું શક્ય હશે?

  4.   એડ્યુઆર્ડો વેલેંઝુએલા જણાવ્યું હતું કે

    મહેરબાની કરીને જો તમે આ કોડનો સમાવેશ કરી શકતા હો, તો મને આ પ્રોજેક્ટમાં રસ છે.