Arduino உடன் உங்கள் சொந்த MIDI கட்டுப்படுத்தியை உருவாக்கவும்

மிடி

நீங்கள் ஒரு இசை காதலன் அல்லது நேரடியாக ஒரு அமெச்சூர் அல்லது தொழில்முறை இசைக்கலைஞராக இருந்தால், நிச்சயமாக உங்கள் வீட்டில் நீங்கள் இசைக் கருவிகளின் பெரிய தொகுப்பைக் குவித்துள்ளீர்கள். இந்த கலவையை எல்லாம் செய்தால், அதைப் பெறுவது நல்லது மிடி கட்டுப்படுத்தி. துரதிர்ஷ்டவசமாக, இந்த வகையான பொருள்கள் பொதுவாக மிகவும் விலை உயர்ந்தவை, இதனால் அதிக வளங்கள் இல்லாத ஒரு நபருக்கு அவர்கள் வழங்கக்கூடிய அனைத்தையும் அணுகுவது கடினம்.

ஒரு மிடி கட்டுப்படுத்தி என்றால் என்ன என்பதை நன்றாக புரிந்து கொள்ள, மிடி என்ற சொல் வந்தது என்று சொல்லுங்கள் இசைக்கருவி டிஜிட்டல் இடைமுகம்அதாவது, மின்னணு இசை சாதனங்களை ஒருவருக்கொருவர் தொடர்பு கொள்ள வைக்கும் ஒரு வகையான கட்டுப்படுத்தி. உங்களிடம் வீட்டில் ஒரு மின்னணு விசைப்பலகை இருந்தால், எடுத்துக்காட்டாக, இது ஒரு மிடி இடைமுகத்தைக் கொண்டிருப்பதை விட அதிகமாக உள்ளது. முன்னேறுவதற்கு முன், சில தொழில்நுட்ப விவரங்கள் இருந்தபோதிலும், ஒருவர் இல்லையெனில் நம்புவதற்கு வழிவகுக்கும், அது மிகவும் தெளிவாக இருக்க வேண்டும் மிடி ஆடியோ அல்ல.

இந்த எளிய டுடோரியலுடன் உங்கள் சொந்த மிடி கட்டுப்படுத்தியை உருவாக்கவும்

இதைப் பற்றி நாங்கள் தெளிவுபடுத்தியவுடன், மிடி ஒரு எளிமையானது என்பதை நீங்கள் புரிந்துகொள்வது நிச்சயமாக மிகவும் எளிதாக இருக்கும் 16 சுயாதீன சேனல்களை ஆதரிக்கும் திறன் கொண்ட அறிவுறுத்தல் தொகுப்பு, அதாவது ஒருவருக்கொருவர் சுயாதீனமாக தொடர்புகொள்வதற்கு 16 வெவ்வேறு சாதனங்கள் வரை இருக்கலாம். இந்த சாதனங்களை 5-முள் டிஐஎன் கேபிள் மூலம் இணைக்க வேண்டும், இது அடிப்படையில் ஒரு இணைப்பிற்குள் ஐந்து ஊசிகளைக் கொண்ட கேபிள் ஆகும். ஒரு விவரமாக, 5-முள் DIN க்கு பதிலாக ஒரு USB ஐப் பயன்படுத்துவது மிகவும் பொதுவானது, ஒரு USB ஐப் பயன்படுத்தினால் நாம் ஒரு USB-MIDI இடைமுகத்தை உருவாக்க வேண்டும்.

மேலும் கவலைப்படாமல், நீங்கள் காணக்கூடிய இணைப்பை நான் உங்களிடம் விட்டு விடுகிறேன் பயிற்சி படிப்படியாக நிறைய விளக்க படங்கள் எங்கள் சொந்த மிடி கட்டுப்படுத்தியை உருவாக்க தேவையான அனைத்து செயல்களையும் நாங்கள் செய்ய முடியும்.

தொடர்புடைய கட்டுரை:
எங்கள் ராஸ்பெர்ரி பையில் பை பயனர்பெயர் மற்றும் கடவுச்சொல்லை எவ்வாறு மாற்றுவது

Arduino உடன் உங்கள் சொந்த MIDI கட்டுப்படுத்தியை எவ்வாறு உருவாக்குவது

மிடி இணைப்பு

தனிப்பட்ட மற்றும் தொழில்முறை ஆகிய இரு காரணங்களுக்காகவும் பயன்படுத்த பலரும் தேவைப்படுகிறார்கள் முழு தனிப்பயன் MIDI கட்டுப்படுத்தி ஏனென்றால், ஒரு கலைஞராக உங்கள் வாழ்க்கையில் ஒரு கட்டத்தில், மலிவான மிடி கட்டுப்படுத்தியை வாங்குவது உங்கள் எதிர்பார்ப்புகளையும் தேவைகளையும் பூர்த்தி செய்யாமல் போகலாம், நேரம் வரும்போது, ​​தொழில்முறை பதிப்பைத் தேர்ந்தெடுப்பது இரு நிதி ஆதாரங்களிலும் அதிகமாக இருக்கலாம். தேவை, அத்துடன் அவை வழங்கக்கூடிய ஏராளமான அம்சங்கள்.

இதன் காரணமாக, இன்று உங்களுக்கு தேவையான அனைத்தையும் உங்களுக்குக் காட்ட விரும்புகிறேன், இதன் மூலம் உங்கள் சொந்த மிடி கட்டுப்படுத்தியை அதன் கட்டுமானத்திற்குத் தேவையான அனைத்தையும் குறிக்கும் மற்றும் நீங்கள் நிறுவ வேண்டிய மென்பொருளை உங்களுக்கு வழங்க முடியும். ஒரு விவரமாக, இந்த திட்டத்திற்கு ஒரு ஆர்டுயினோ போர்டின் பயன்பாடு அவசியம், இந்த பணியைச் செய்ய போதுமான சக்திவாய்ந்த ஒரு கட்டுப்படுத்தி.

ரோபோவை உருவாக்குவது எப்படி
தொடர்புடைய கட்டுரை:
ரோபோவை உருவாக்குவது எப்படி: 3 வெவ்வேறு விருப்பங்கள்

மிடி கட்டுப்படுத்தி என்றால் என்ன?

மிடி

அடிப்படையில், வெவ்வேறு இசை சாதனங்களை ஒருவருக்கொருவர் இணைப்பதற்கு ஒரு மிடி கட்டுப்படுத்தி பொறுப்பு, பரவலாகப் பேசுகிறது. பல மிடி இடைமுகத்தை இணைக்கும் கருவிகளாகும், இது பெரும்பாலும் குழப்பமாக இருக்கும் பல பயனர்கள் இருப்பதால் இது மிகவும் தெளிவாக இருக்க வேண்டும், மிடி ஒரு ஆடியோ கோப்பு அல்ல, ஆனால் ஒரு கருவி பெறக்கூடிய மிக எளிய வழிமுறைகள். வெவ்வேறு கட்டுப்பாட்டை உருவாக்க அல்லது ஒலி அமைப்புகள்.

மிடி உள்ளே இரண்டு வெவ்வேறு வகைகள் உள்ளனஒருபுறம் மாற்றக் கட்டுப்பாடு என்று ஒன்று உள்ளது, அங்கு அது கட்டுப்பாட்டு எண் மற்றும் 0 மற்றும் 127 க்கு இடையில் ஒரு மதிப்பைக் கொண்டுள்ளது. இதற்கு நன்றி, தொகுதி அல்லது தொனி போன்ற வெவ்வேறு அளவுருக்களை மாற்றக்கூடிய செய்திகளை வழங்க முடியும். MIDI ஐ ஏற்றுக்கொள்ளும் வெவ்வேறு கருவிகள் எந்த சேனல்கள் மற்றும் செய்திகளை முன்னிருப்பாக அமைத்துள்ளன, அவற்றை எவ்வாறு மாற்றுவது என்பதை விளக்கும் கையேட்டை அவர்களுடன் கொண்டு வர வேண்டும்.

இரண்டாவது இடத்தில் எங்களிடம் நிரல் மாற்றம் உள்ளது, மாற்றக் கட்டுப்பாட்டை உருவாக்கும் செய்திகளைக் காட்டிலும் தொடர்ச்சியான செய்திகளின் தொடர். சாதனத்தின் முன்னமைக்கப்பட்ட அல்லது இணைப்பை மாற்ற இந்த வகையான செய்திகள் பயன்படுத்தப்படுகின்றன. மாற்றக் கட்டுப்பாட்டைப் போலவே, உங்கள் கருவியுடன் உற்பத்தியாளர் ஒரு குறிப்பிட்ட செய்தியால் எந்த முன்னமைவுகளை மாற்றியமைக்கிறார் என்பதைக் குறிக்கும் கையேட்டைக் கொண்டிருக்க வேண்டும்.

உங்கள் சொந்த வீட்டில் தயாரிக்கப்பட்ட மிடி கன்ட்ரோலரை உருவாக்க தேவையான பாகங்கள்

மிடி இணைப்பான் திட்டம்

உங்கள் சொந்த மிடி கட்டுப்படுத்தியை உருவாக்க நீங்கள் ஏற்கனவே குறிப்பிட்டுள்ளபடி, ஒரு ஆர்டுயினோ போர்டுக்கு கூடுதலாக ஒரு தொடர் துண்டுகள் தேவைப்படும். தொடர்வதற்கு முன், எதிர்காலத்தில், நீங்கள் திட்டத்தை விரிவாக்க விரும்புவதால், உங்களுக்கு கூடுதல் விஷயங்கள் தேவை என்று சொல்லுங்கள், இருப்பினும் இந்த நேரத்தில் ஒரு சில துண்டுகள் உங்களுக்கு ஏராளமாக இருக்கும்.

எங்களுக்கு 5-துருவ பெண் டிஐஎன் கேபிள், 2 220 ஓம் மின்தடையங்கள், 2 தற்காலிக சுவிட்சுகள், 2 10 கே ஓம் மின்தடையங்கள், இணைப்பு கம்பிகள், ஒரு சர்க்யூட் போர்டு, மிடி கேபிள் மற்றும் ஒரு மிடி சாதனம் அல்லது யூ.எஸ்.பி இடைமுகம் தேவைப்படும். இந்த துண்டுகள் மூலம் நீங்கள் தொடங்கலாம், எனது படிகளைப் பின்பற்றி, உங்கள் சொந்த மிடி கட்டுப்படுத்தியை உருவாக்கலாம்.

முதல் படிகள்

அர்டுடினோ மிடி திட்டவியல்

தொடங்குவதற்கு முன், உங்கள் மிடி கேபிளின் ஊசிகளைக் காணக்கூடிய ஒரு படத்தை நான் உங்களுக்கு விட்டு விடுகிறேன், இந்த வழியில் நாம் ஊசிகளை சரியாக அடையாளம் காணலாம் மற்றும் குறிப்பாக ஒவ்வொன்றையும் எங்கு இணைக்க வேண்டும். பரவலாகச் சொல்வதானால், இந்த நேரத்தில் நீங்கள் செய்ய வேண்டியது கேபிளின் முள் 5 ஐ 220 ஓம் மின்தடையுடன் இணைக்கவும், அங்கிருந்து அர்டுயினோ டிரான்ஸ்மிட் 1, முள் 4 ஐ 220 ஓம் மின்தடையுடன் இணைக்கவும், அங்கிருந்து 5 வி சாக்கெட் அர்டுயினோவிற்கு பின் 2 உங்கள் கட்டுப்படுத்தியின் தரை இணைப்போடு இணைக்கப்பட வேண்டும்.

இந்த படி முடிந்ததும், இந்த வரிகளுக்கு சற்று கீழே அமைந்துள்ள புகைப்படத்தில் விரிவான வரைபடம் உங்களிடம் இல்லை, பொத்தான்களை இணைக்க வேண்டிய நேரம் இது. இந்த பிரிவில் உள்ள யோசனை, டிஜிட்டல் ரீட் முள் (அதை அடையும் மின்னழுத்தம் மாறும்போது கண்டறியும் திறன்) ஒரு பொத்தானை அழுத்துவதன் மூலம் அடைய ஒரு டிரான்சிஸ்டரைப் பயன்படுத்த முடியும். இதற்காக நாம் ஒரு பொத்தானை மட்டுமே பயன்படுத்த வேண்டும், அதன் இடது புறம் அதை 5 வி, வலது புறம் 220 ஓம் எதிர்ப்பையும், அங்கிருந்து தரையையும் இணைக்கிறோம், இதையொட்டி, வலது பக்கத்தையும் பின் 6 உடன் இணைக்கிறோம் இரண்டாவது பொத்தானை அதே வழியில் நிறுவும் என்றாலும், வரைபடத்தில் நீங்கள் காணக்கூடியது போல, முள் 6 க்கு பதிலாக அதை 7 உடன் இணைக்கிறோம்.

ஹோம் மிடி கன்ட்ரோலருக்கு பயன்படுத்த மென்பொருள்

எல்லா வன்பொருட்களையும் முடித்தவுடன், எங்கள் கருவியை இணைத்து சோதனை செய்வதற்கான நேரம் இது. அதற்கு முன் நாம் ஒரு வேண்டும் யூ.எஸ்.பி-மிடி இடைமுகம் மற்றும் ஒரு மிடி கேபிள் தரவை அனுப்பும் பலகையை எங்கள் கணினியுடன் இணைக்க. இதை அடைய, நாற்பது ஏழு விளைவுகளிலிருந்து தோழர்களால் உருவாக்கப்பட்ட MIDI v4.2 நூலகத்தை நாங்கள் தேர்ந்தெடுத்துள்ளோம், அவை எங்கள் Arduino இல் நிறுவப்பட்டிருக்க வேண்டும் மற்றும் திட்டத்தில் சேர்க்கப்பட வேண்டும்.

கணினியைப் பொறுத்தவரை, அர்டுயினோவிலிருந்து வரும் அனைத்து மிடி தரவுகளையும் மேற்பார்வையிடும் ஒரு நிரல் நமக்குத் தேவைப்படும். இதற்காக எம்ஐடிஐ மானிட்டர் (ஓஎஸ் எக்ஸ்), மிடி-ஆக்ஸ் (விண்டோஸ்) அல்லது கிமிடிமோன் (லினக்ஸ்) போன்ற பல்வேறு சாத்தியங்கள் உள்ளன.

ஒரு சிறிய சோதனை செய்ய நாம் Arduino ஐ எங்கள் கணினியுடன் இணைத்து பின்வரும் குறியீட்டை இயக்க வேண்டும்:

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

}

இந்த குறியீட்டை தொகுத்து செயல்படுத்த வேண்டும், இதனால் யூ.எஸ்.பி கேபிள் இணைக்கப்பட்டிருக்கும், ஏதேனும் பொத்தான்கள் அழுத்தப்பட்டிருந்தால் நிரல் நமக்கு சொல்கிறது.

நாங்கள் எங்கள் வீட்டில் 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);

மதிப்பு மற்றும் சேனலில் நீங்கள் காட்ட விரும்பும் மதிப்புகள் இருக்க வேண்டும்.

செயல்பாட்டு எடுத்துக்காட்டு:


4 கருத்துகள், உங்களுடையதை விடுங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   ஆல்ஃபிரட் அவர் கூறினார்

    உங்கள் சொந்தமாக திட்டங்களை மேற்கொள்ள பல சாத்தியங்களை Arduino உங்களுக்கு வழங்குகிறது https://www.juguetronica.com/arduino . ஒரு சிறந்த விஷயம் என்னவென்றால், நீங்கள் ஒரு நிபுணராக இல்லாமல் ஆரம்பித்து கற்றலைத் தொடரலாம், இதனால் உங்களை சுயமாகக் கற்பிக்கத் தூண்டுகிறது.

  2.   டேனல் ரோமன் அவர் கூறினார்

    வாழ்த்துக்கள்.

    இந்த அருமையான டுடோரியலை நான் செய்ய முயற்சிக்கிறேன்… ஆனால் # உள்ளடக்கியது முழுமையடையவில்லை….

    எது அவசியம் என்று நீங்கள் சொல்ல முடியுமா?

    Muchas gracias.

  3.   யூல் அவர் கூறினார்

    ஹலோ.
    ஒரு பைசோ எலக்ட்ரிக் சிக்னல் வரும் பொத்தான்களை ஜாக் உள்ளீடுகளுடன் மாற்றுவதன் மூலம் மின்னணு டிரம் தொகுதியை உருவாக்க விரும்புகிறேன்.
    அதைச் செய்ய முடியுமா?

  4.   எட்வர்டோ வலென்சுலா அவர் கூறினார்

    தயவுசெய்து இந்த குறியீட்டின் உள்ளடக்கங்களை நீங்கள் கொடுக்க முடிந்தால், நான் இந்த திட்டத்தில் ஆர்வமாக உள்ளேன்.