Déan do rialtóir MIDI féin le Arduino

MIDI

Más leannán ceoil tú nó más ceoltóir amaitéarach nó gairmiúil tú go díreach, is cinnte go bhfuil bailiúchán mór uirlisí ceoil carntha agat i do theach. Chun na meascáin seo go léir a dhéanamh go foirfe, is fearr a Rialaitheoir MIDI. Ar an drochuair, is gnách go mbíonn na cineálacha rudaí seo daor go leor ionas go mbeidh rochtain dheacair ag duine gan an iomarca acmhainní ar gach rud is féidir leo a thairiscint.

Chun tuiscint níos fearr a fháil ar cad is rialtóir MIDI ann, inis duit go dtagann an focal MIDI Comhéadan Digiteach Uirlisí Ceoil, is é sin, is féidir le cineál rialaitheora a dhéanann gléasanna ceoil leictreonacha cumarsáid a dhéanamh lena chéile. Má tá méarchlár leictreonach agat sa bhaile, mar shampla, is é is dóichí go bhfuil comhéadan MIDI aige. Sula leanfar ar aghaidh ag dul chun cinn, in ainneoin go bhfuil sonraí teicniúla áirithe ann a d’fhéadfadh go gcreidfeadh duine a mhalairt, caithfidh sé a bheith an-soiléir go Níl MIDI fuaime.

Cruthaigh do rialtóir MIDI féin leis an rang teagaisc simplí seo

Nuair a bheidh muid soiléir faoi seo, is cinnte go mbeidh sé i bhfad níos éasca duit a thuiscint nach bhfuil i MIDI ach simplí tacar treoracha atá in ann tacú le suas le 16 cainéal neamhspleácha, rud a chiallaíonn gur féidir suas le 16 fheiste éagsúla a bheith ag cumarsáid go neamhspleách lena chéile. Caithfear na gairis seo a nascadh trí chábla DIN 5-bioráin, ar cábla é go bunúsach le cúig bhiorán taobh istigh de chónascaire. Mar mionsonra, tá sé coitianta go leor USB a úsáid in ionad DIN 5-bioráin, i gcás USB a úsáid ní mór dúinn comhéadan USB-MIDI a chruthú.

Gan a thuilleadh ama, fágaim an nasc leat áit ar féidir leat teacht ar an teagaisc céim ar chéim le go leor de íomhánna tuairisciúla áit ar féidir linn na gníomhartha riachtanacha go léir a dhéanamh chun ár rialtóir MIDI féin a chruthú.

Alt gaolmhar:
Conas ainm úsáideora agus pasfhocal Pi a athrú ar ár Sú craobh Pí

Conas do rialtóir MIDI féin a dhéanamh le Arduino

cónascaire midi

Is iomaí duine a dteastaíonn uathu, ar chúiseanna éagsúla, pearsanta agus gairmiúil, a rialtóir MIDI go hiomlán saincheaptha Mar gheall ar b’fhéidir agus mar shampla, ag pointe éigin i do shaol mar ealaíontóir, b’fhéidir nach gcomhlíonfaidh ceannach rialtóra MIDI saor d’ionchais nó do riachtanais agus, nuair a thiocfaidh an t-am, d’fhéadfadh leagan gairmiúil a bheith iomarcach sa dá acmhainn airgeadais. riachtanas, chomh maith leis an líon mór gnéithe is féidir leo a thairiscint.

Mar gheall air seo, inniu ba mhaith liom gach rud a theastaíonn uait a thaispeáint duit ionas gur féidir leat do rialtóir MIDI féin a dhéanamh ag léiriú gach rud atá riachtanach lena thógáil agus ag tairiscint na mbogearraí a chaithfidh tú a shuiteáil. Go mion, don tionscadal seo tá sé riachtanach bord Arduino a úsáid, rialtóir atá cumhachtach go leor chun an tasc seo a dhéanamh.

Alt gaolmhar:
Conas robot a dhéanamh: 3 rogha éagsúla

Cad is rialtóir MIDI ann?

meán lae

Go bunúsach, tá rialtóir MIDI freagrach, tríd is tríd, as gléasanna ceoil éagsúla a nascadh lena chéile. Is iomaí ionstraim a chuimsíonn comhéadan MIDI, cé go gcaithfidh sé seo a bheith an-soiléir ós rud é go bhfuil go leor úsáideoirí ann a mbíonn mearbhall orthu go minic, ní comhad fuaime é MIDI, ach tacar treoracha an-simplí is féidir le hionstraim a fháil chun rialú difriúil a dhéanamh nó socruithe fuaime.

Taobh istigh de MIDI tá dhá chineál éagsúla annAr thaobh amháin tá an ceann againn ar a dtugtar Change Control áit a bhfuil uimhir an rialaitheora agus luach idir 0 agus 127. A bhuíochas leis seo, is féidir teachtaireachtaí a eisiúint nuair is féidir paraiméadair éagsúla cosúil le toirt nó ton a athrú. Ba cheart ionstraimí éagsúla a ghlacann le MIDI lámhleabhar a thabhairt leo ag míniú cé na cainéil agus na teachtaireachtaí a shocraítear de réir réamhshocraithe agus conas iad a athrú.

Sa dara háit tá an tAthrú Cláir againn, sraith teachtaireachtaí atá i bhfad níos simplí ná iad siúd atá mar chuid den Rialú Athraithe. Úsáidtear na cineálacha teachtaireachtaí seo chun réamhshocrú nó paiste feiste a athrú. Mar atá i Rialú Athraithe, in éineacht le d’ionstraim caithfidh an monaróir lámhleabhar a áireamh a thaispeánann na réamhshocruithe a athraíonn teachtaireacht áirithe.

Páirteanna a theastaíonn chun do Rialaitheoir MIDI Baile Féin a Thógáil

Midi schematic connector

Le go mbeidh tú in ann do rialtóir MIDI féin a thógáil beidh sraith píosaí ag teastáil uait freisin, mar a luadh muid cheana, chuig bord Arduino. Sula leanfaidh tú ar aghaidh, ní gá ach a rá leat, b’fhéidir, amach anseo toisc go dteastaíonn uait an tionscadal a leathnú, go mbeidh níos mó rudaí ag teastáil uait, cé go mbeidh neart agat ag an am seo le cúpla píosa.

Beidh cábla DIN baineann 5 cuaille ag teastáil uainn, 2 fhriotóir 220 ohm, 2 lasca nóiméadacha, 2 fhriotóir 10k ohm, sreanga ceangail, bord ciorcad, cábla MIDI agus feiste MIDI nó comhéadan USB. Gan ach na píosaí seo is féidir leat tosú, ag leanúint mo chéimeanna, chun do rialtóir MIDI féin a dhéanamh.

Na chéad chéimeanna

Arduino midi schematic

Sula dtosaím fágaim pictiúr duit inar féidir leat bioráin do chábla MIDI a fheiceáil, ar an mbealach seo is féidir linn na bioráin a aithint i gceart agus go háirithe cá háit gach ceann a nascadh. Tríd is tríd, níl le déanamh agat ag an bpointe seo ach bioráin 5 den chábla a cheangal le friotóir 220 ohm agus uaidh sin le Tarchur Arduino 1, bioráin 4 go friotóir 220 ohm agus uaidh sin go soicéad 5V Arduino agus bioráin Caithfidh 2 a bheith ceangailte le nasc Talún do rialtóra.

Nuair a bheidh an chéim seo déanta, níl léaráid mhionsonraithe agat sa ghrianghraf atá suite díreach faoi bhun na línte seo, tá sé thar am na cnaipí a nascadh. Is é an smaoineamh sa chuid seo a bhaint amach, ag baint úsáide as an mbiorán DigitalRead (atá in ann a bhrath nuair a athraíonn an voltas a shroicheann sé) le bheith in ann trasraitheoir a úsáid chun a bhaint amach, gan ach cnaipe a bhrú. Chuige seo ní mór dúinn ach cnaipe a úsáid ionas go nascfaimid, an taobh clé de, le 5V, an taobh dheis le friotaíocht 220 ohm agus uaidh sin go talamh agus, ar a seal, nascann muid an taobh dheis le bioráin 6 freisin Dhéanfaí an dara cnaipe a shuiteáil ar an mbealach céanna cé, mar a fheiceann tú sa léaráid, in ionad bioráin 6 déanaimid é a nascadh le 7.

Bogearraí le húsáid le haghaidh rialtóir midi baile

Nuair a bheidh na crua-earraí uile críochnaithe againn, tá sé in am ár n-ionstraim agus ár dtástáil a nascadh. Roimhe sin caithfimid a Comhéadan USB-MIDI agus cábla MIDI chun an bord, atá ag seoladh sonraí, a nascadh lenár ríomhaire. Chun é seo a bhaint amach, roghnaigh muid an leabharlann MIDI v4.2 a chruthaigh na guys ó Forty Seven Effects a chaithfimid a bheith suiteáilte ar ár Arduino agus a áireamh sa tionscadal.

I gcás an ríomhaire, beidh clár ag teastáil uainn atá in ann maoirseacht a dhéanamh ar na sonraí MIDI go léir a thagann chuige ó Arduino. Chuige seo tá féidearthachtaí éagsúla againn mar MIDI Monitor (OS X), MIDI-OX (Windows) nó Kmidimon (Linux)

Chun tástáil bheag a dhéanamh níl le déanamh againn ach an Arduino a nascadh lenár ríomhaire agus an cód seo a leanas a fhorghníomhú:

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

Má tá gach rud imithe go maith, is féidir leat dul go dtí an tástáil cnaipe, ar eagla nár oibrigh an tástáil seo duit ní mór duit a chinntiú go bhfuil na naisc uile ceart, tá an ciorcad díreach mar an gcéanna leis an léaráid roimhe seo, an ciorcad ceangailte le comhéadan USB-MIDI le cábla MIDI, tá na cáblaí calafoirt MIDI ceangailte i gceart, tá an cábla MIDI ceangailte le hionchur an chomhéadain USB-MIDI, tá bord Arduino ceangailte i gceart leis an líonra leictreach agus tá a dhóthain cumhachta aige ...

Tástáil go n-oibríonn na cnaipí i gceart

Sula leanfaimid orainn ag beathú ár gclár le feidhmiúlachtaí agus cód nua ar féidir linn a bheith caillte iontu, is fiú stopadh ar feadh nóiméad agus tástáil go n-oibríonn na cnaipí i gceart. Dóibh ní mór dúinn an cód seo a leanas a luchtú:

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

}

Ní gá ach an cód seo a thiomsú agus a fhorghníomhú ionas go n-inseoidh an clár dúinn, agus an cábla USB ceangailte, an bhfuil aon cheann de na cnaipí brúite.

Cruthaímid ár rialtóir MIDI homemade

Nuair a bheidh na tástálacha seo á reáchtáil againn, tá sé thar am ár rialtóir MIDI féin a chur le chéile chuige sin, ní bheidh ort ach an cód seo a leanas a thiomsú:

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

Mar mionsonra, inis duit nach féidir leat an t-ordú Serial.println () a úsáid le haschur MIDI an uair seo, más mian leat teachtaireacht de chineál éigin a thaispeáint ar an ríomhaire, ní gá ach athrú:

midiOut.sendControlChange(42,127,1);

ag:

midiOut.sendControlChange(value, channel);

áit a gcaithfidh luach agus cainéal na luachanna inmhianaithe a theastaíonn uait a thaispeáint.

Sampla oibríochta:


Cloíonn ábhar an ailt lenár bprionsabail eitic eagarthóireachta. Chun earráid a thuairisciú cliceáil anseo.

4 trácht, fág mise

Fág do thrácht

Ní thabharfar do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte le *

*

*

  1. Freagrach as na sonraí: Miguel Ángel Gatón
  2. Cuspóir na sonraí: SPAM a rialú, bainistíocht trácht.
  3. Legitimation: Do thoiliú
  4. Na sonraí a chur in iúl: Ní chuirfear na sonraí in iúl do thríú páirtithe ach amháin trí oibleagáid dhlíthiúil.
  5. Stóráil sonraí: Bunachar sonraí arna óstáil ag Occentus Networks (EU)
  6. Cearta: Tráth ar bith is féidir leat do chuid faisnéise a theorannú, a aisghabháil agus a scriosadh.

  1.   Alfred a dúirt

    Tugann Arduino go leor féidearthachtaí duit tabhairt faoi thionscadail leat féin https://www.juguetronica.com/arduino . Ceann de na rudaí is fearr ná gur féidir leat tosú gan a bheith i do shaineolaí agus dul ar aghaidh ag foghlaim, agus mar sin tú féin a spreagadh chun a bheith féin-mhúinte.

  2.   Danel Rómhánach a dúirt

    Beannachtaí.

    Táim ag iarraidh an rang teagaisc iontach seo a dhéanamh… ach níl na #includes críochnaithe….

    An bhféadfá a rá liom cé na cinn atá riachtanach?

    Raibh míle maith agat.

  3.   Uell a dúirt

    Dia duit.
    Ba mhaith liom modúl druma leictreonach a dhéanamh trí ionchuir jack a chur in ionad na gcnaipí a dtiocfaidh comhartha piezoelectric chucu.
    An mbeifí in ann é a dhéanamh?

  4.   Eduardo Valenzuela a dúirt

    Le do thoil dá bhféadfá an cód seo a áireamh, tá suim agam sa tionscadal seo.