Ukuba ungumthandi womculo okanye ngqo kwimvumi engahlawulwayo okanye eqeqeshiweyo, ngokuqinisekileyo ekhayeni lakho uqokelele ingqokelela enkulu yezixhobo zomculo. Ukwenza konke oku kuxubana ngokugqibeleleyo, kungcono ufumane Umlawuli we-MIDI. Ngelishwa, ezi ntlobo zezinto zihlala zibiza kakhulu ukuze umntu ongenazo izibonelelo ezininzi abe nokufikelela okunzima kuyo yonke into anokuyinikela.
Ukuqonda ngcono ngakumbi ukuba yintoni isilawuli se-MIDI, sikuxelele ukuba igama MIDI livela Isixhobo soMculo esiDijithaliOko kukuthi, uhlobo lwesilawuli esenza izixhobo zomculo zekhompyuter zinxibelelane nabanye. Ukuba unayo ikhibhodi ye-elektroniki ekhaya, umzekelo, kunokuba kunokwenzeka ukuba ine-interface ye-MIDI. Phambi kokuqhubela phambili, ngaphandle kwento yokuba kukho iinkcukacha ezithile zobuchwephesha ezinokukhokelela ekubeni umntu akholelwe ngenye indlela, kufuneka icace gca ukuba I-MIDI ayinasandi.
Index
- 1 Yenza eyakho MIDI isilawuli ngesi sifundo silula
- 2 Uyenza njani eyakho MIDI isilawuli ngeArduino
- 3 Yintoni umlawuli we-MIDI?
- 4 Amacandelo afunekayo ukwakha uMlawuli wakho we-MIDI ozenzele ngokwakho
- 5 Amanyathelo okuqala
- 6 Isoftware oyisebenzisela isilawuli midi sasekhaya
- 7 Ukuvavanya ukuba amaqhosha asebenza ngokuchanekileyo
- 8 Senza umlawuli we-MIDI owenziweyo
Yenza eyakho MIDI isilawuli ngesi sifundo silula
Nje ukuba sicace ngale nto, kuya kuba lula kakhulu kuwe ukuba uqonde ukuba i-MIDI ilula iseti yokufundisa enakho ukuxhasa ukuya kuthi ga kwi-16 yeendlela ezizimeleyo, oko kuthetha ukuba kunokubakho ukuya kwizixhobo ezili-16 ezahlukeneyo ezinxibelelana ngokuzimeleyo kunye nezinye. Ezi zixhobo kufuneka zixhunywe ngentambo ye-5-pin ye-DIN, esisiseko intambo enezikhonkwane ezintlanu ngaphakathi kwesinxibelelanisi. Njengeenkcukacha, kuyinto eqhelekileyo ukusebenzisa i-USB endaweni ye-5-pin DIN, kwimeko yokusebenzisa i-USB kufuneka senze ujongano lwe-USB-MIDI.
Ngaphandle kokuqhubeka, ndikushiya nekhonkco apho ungafumana khona tutorial inyathelo nenyathelo lininzi imifanekiso echazayo apho sinokwenza khona zonke izinto eziyimfuneko ukwenza isilawuli sethu se-MIDI.
Uyenza njani eyakho MIDI isilawuli ngeArduino
Baninzi abantu abafuna, ngezizathu ezahlukeneyo ezobuqu kunye nobungcali, ukusebenzisa i Isilawuli se-MIDI ngokupheleleyo Kuba mhlawumbi kwaye njengomzekelo, ngaxa lithile ebomini bakho njengomculi, ukuthenga isilawuli se-MIDI esinexabiso elingenakufikelela kulindelo okanye kwiimfuno zakho ngelixa, xa ixesha lifika, ukukhetha uhlobo lobuchwephesha kunokuba ngaphezulu kwezixhobo zombini zemali. imfuno, kunye nenani elikhulu leempawu abanokuthi bazinike.
Ngenxa yoku, namhlanje ndifuna ukukubonisa yonke into oyifunayo ukuze wenze isilawuli sakho se-MIDI sibonisa yonke into eyimfuneko kulwakhiwo lwaso kwaye sikunike nesoftware oya kuyidinga ukuyifaka. Njengeenkcukacha, kule projekthi ukusetyenziswa kwebhodi yeArduino kubalulekile, isilawuli esinamandla ngokwaneleyo ukwenza lo msebenzi.
Yintoni umlawuli we-MIDI?
Ngokusisiseko isilawuli se-MIDI sinoxanduva, sithetha ngokubanzi, ngokudibanisa izixhobo zomculo ezahlukeneyo komnye nomnye. Zininzi izixhobo ezibandakanya ujongano lwe-MIDI nangona, oku kufuneka kucace gca kuba baninzi abasebenzisi abadla ngokudideka, i-MIDI ayisiyifayile yeaudiyo, kodwa iseti elula yemiyalelo enokufunyanwa sisixhobo ukwenza ulawulo olwahlukileyo useto lwesandi.
Ngaphakathi kwe-MIDI zimbini iintlobo ezahlukeneyoKwelinye icala sinelinye elibizwa ngokuba nguTshintsho kuLawulo apho linenombolo yomlawuli kunye nexabiso phakathi kwe-0 ne-127. Ndiyabulela koku, imiyalezo inokukhutshwa apho iiparameter ezahlukeneyo ezinje ngevolumu okanye ithoni zinokutshintshwa. Izixhobo ezahlukileyo ezamkela i-MIDI kufuneka zize nemanyuwali echaza ukuba zeziphi iindlela kunye nemiyalezo emiselwe ngokwendalo kunye nendlela yokutshintsha.
Kwindawo yesibini sinoTshintsho lweNkqubo, uthotho lwemiyalezo elula kakhulu kunaleyo yenza uLawulo loTshintsho. Ezi ntlobo zemiyalezo zisetyenziselwa ukutshintsha ukucwangciswa kwangaphambili okanye isiqwenga sesixhobo. NjengakuTshintsho kuLawulo, kunye nesixhobo sakho umenzi kufuneka abandakanye incwadana ebonisa ukuba zeziphi izinto ezisetiweyo ezigqitywe ngumyalezo othile.
Amacandelo afunekayo ukwakha uMlawuli wakho we-MIDI ozenzele ngokwakho
Ukuze ukwazi ukwakha isilawuli sakho se-MIDI uzakufuna uthotho lwamaqhekeza ukongeza, njengoko besesitshilo, kwibhodi yeArduino. Ngaphambi kokuqhubeka, yitsho nje ukuba mhlawumbi, kwixa elizayo kuba ufuna ukwandisa iprojekthi, ufuna izinto ezingaphezulu, nangona, ngeli xesha unamaqhekeza ambalwa uya kuba nokuninzi.
Siza kudinga intambo ye-5-pole ye-DIN cable, i-2 220 ohm resistors, ii-switch ezimbini zomzuzwana, i-2 2k ohm resistors, iingcingo zonxibelelwano, ibhodi yesekethe, intambo ye-MIDI kunye nesixhobo se-MIDI okanye i-USB interface. Ngalezi ziqwenga ungaqala, ulandele amanyathelo am, ukwenza eyakho i-MIDI isilawuli.
Amanyathelo okuqala
Ngaphambi kokuba ndiqale ndikushiye umfanekiso apho unokubona khona izikhonkwane zekhebula le-MIDI yakho, ngale ndlela sinokuchonga ngokuchanekileyo izikhonkwane ngakumbi ngakumbi apho unokudibanisa khona nganye. Ukuthetha ngokubanzi, konke okufuneka ukwenze kweli nqanaba kukudibanisa i-pin 5 yekhebula kwi-220 ohm resistor kwaye ukusuka apho uye kwi-Arduino Transmit 1, pin 4 ukuya kwi-220 ohm resistor kwaye ukusuka apho uye kwisokethi ye-5V ye-Arduino ngelixa iphini 2 kufuneka idityaniswe kunxibelelwano lomhlaba lomlawuli wakho.
Nje ukuba eli nyathelo lenziwe, awunaso isazobe esineenkcukacha kwifoto ebekwe nje ngezantsi kwale migca, lixesha lokuba uqhagamshele amaqhosha. Umbono kweli candelo kukufezekisa, usebenzisa ipini yedijithaliRead (ekwaziyo ukubona ukuba i-voltage efikelela kuyo itshintsha) ukuze ukwazi ukusebenzisa i-transistor ukufezekisa, ngokucofa nje iqhosha. Kule nto kufuneka sisebenzise kuphela iqhosha ukuze, icala lasekhohlo layo silidibanise ne-5V, icala lasekunene kwi-220 ohm ukumelana kwaye ukusuka apho ukuya emhlabeni ngelixa, nathi sidibanisa icala lasekunene lokuphina u-6 Iqhosha lesibini liya kufakwa ngendlela efanayo nangona, njengoko ubona kumzobo, endaweni yepini 6 siyidibanisa ku-7.
Isoftware oyisebenzisela isilawuli midi sasekhaya
Nje ukuba sigqibe ngayo yonke izixhobo zekhompyutha, lixesha lokuba sidibanise isixhobo kunye novavanyo. Ngaphambi koko kufuneka sibe ne Isinxibelelanisi se-USB-MIDI kunye nentambo ye-MIDI ukuqhagamshela ibhodi, ethumela idatha, kunye nekhompyuter yethu. Ukufezekisa oku, sikhethe ilayibrari ye-MIDI v4.2 eyenziwe ngamadoda avela kwiZiphumo ezingamashumi amane anesixhenxe ekufuneka simfakile kwiArduino yethu kwaye yabandakanywa kwiprojekthi.
Kwimeko yekhompyuter, siya kufuna inkqubo ekwaziyo ukujonga yonke idatha ye-MIDI efika ivela kwiArduino. Kule nto sinamathuba ahlukeneyo anje ngeMODI Monitor (OS X), MIDI-OX (Windows) okanye iKmidimon (Linux)
Ukwenza uvavanyo oluncinci kufuneka sixhume iArduino kwikhompyuter yethu kwaye senze le khowudi ilandelayo:
#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 }
Ukuba yonke into ihambe kakuhle, ungaya kuvavanyo lwamaqhosha, ukuba olu vavanyo alusebenzelanga wena kufuneka uqiniseke ukuba lonke unxibelelwano luchanekile, isekethe iyafana ncam nomzobo wangaphambili, isekethe iqhagamshelwe kwi-USB-MIDI ujongano ngentambo ye-MIDI, ii-MIDI port cables zixhunyiwe ngokuchanekileyo, intambo ye-MIDI iqhagamshelwe kwigalelo le-USB-MIDI ujongano, ibhodi yeArduino iqhagamshelwe ngokuchanekileyo kwinethiwekhi yombane kwaye inamandla ngokwaneleyo ...
Ukuvavanya ukuba amaqhosha asebenza ngokuchanekileyo
Ngaphambi kokuqhubeka nokondla inkqubo yethu ngokusebenza kunye nekhowudi esinokulahleka kuyo, kufanelekile ukumisa okomzuzwana kwaye vavanya ukuba amaqhosha asebenza ngokufanelekileyo. Kubo kufuneka silayishe le khowudi ilandelayo:
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); } } }
Le khowudi kufuneka iqulunqwe kwaye yenziwe ukuze, ngentambo ye-USB iqhagamshelwe, inkqubo isixelela ukuba kukho na amaqhosha acinezelweyo.
Senza umlawuli we-MIDI owenziweyo
Nje ukuba senze olu vavanyo, lixesha lokuba siqokelele eyethu i-MIDI isilawuli sokwenza oko, kuya kufuneka uqokelele le khowudi ilandelayo:
#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); } } }
Njengeenkcukacha, ndikuxelele ukuba awukwazi ukusebenzisa i-serial.println () myalelo nge-MIDI imveliso ngeli xesha, ukuba ufuna ukubonisa uhlobo oluthile lomyalezo kwikhompyuter, tshintsha nje:
midiOut.sendControlChange(42,127,1);
ngu:
midiOut.sendControlChange(value, channel);
apho ixabiso kunye nejelo kufuneka libe namaxabiso owafunayo ofuna ukuwabonisa.
Umzekelo wokusebenza:
Izimvo ezi-4, shiya ezakho
I-Arduino ikunika iindlela ezininzi zokwenza iiprojekthi ngokwakho https://www.juguetronica.com/arduino . Enye yezona zinto zibalaseleyo kukuba ungaqala ungakhange ube yingcali kwaye uqhubeke nokufunda, ngaloo ndlela uzikhuthaza ukuba uzifundise.
Ukubulisa
Ndizama ukwenza le tutorial imnandi… kodwa #includes ayigqibanga….
Ungandixelela ukuba zeziphi eziyimfuneko?
Ndiyabonga kakhulu
Sawubona!
Ndingathanda ukwenza imodyuli yedrama yombane ngokufaka amaqhosha endaweni yegalelo eliza kuthi lifike kwisiginali ye-piezoelectric.
Ngaba kunokwenzeka ukuyenza?
Nceda ukuba unike okubandakanya le khowudi, ndinomdla kule projekthi.