Orodha ya maudhui:

Msimamizi wa Msingi wa Arduino MIDI: Hatua 5
Msimamizi wa Msingi wa Arduino MIDI: Hatua 5

Video: Msimamizi wa Msingi wa Arduino MIDI: Hatua 5

Video: Msimamizi wa Msingi wa Arduino MIDI: Hatua 5
Video: Pro Micro ATMEGA32U4 Arduino Pins and 5V, 3.3V Explained 2024, Novemba
Anonim
Msimamizi wa MIDI wa Msingi wa Arduino
Msimamizi wa MIDI wa Msingi wa Arduino

Utangulizi:

Mimi ni mpya kufanya kazi na Arduino lakini natumai kupanua maarifa yangu kwa kufundisha wengine na kupokea maoni. Huyu ni mdhibiti wa msingi wa MIDI na vifungo 4 na potentiometer. Muhtasari wa mradi huu unaonekana kama hii:

1. Jenga ubao wa mkate

2. Pakia Mchoro kwenye Arduino

3. Kuelewa MIDI isiyo na nywele na kitanzi cha ndani cha MIDI (loopbe1)

4. njia MIDI yako kwenda DAW (Ableton)

Vifaa

1 x Arduino Mega 2560

1 x Bodi ya mkate

1 x Cable ya USB

1 x Potentiometer

4 x Vifungo vya busara

Vipimo vya 4 x 120Ohm

Cable 14 za jumper za ubao wa mkate

Hatua ya 1: Kuunda nje ya mkate

Kujenga Bodi ya Mkate
Kujenga Bodi ya Mkate
Kujenga Bodi ya Mkate
Kujenga Bodi ya Mkate

Unganisha ubao wako wa mkate ili vifaa vyote vilingane na picha 1 hapo juu. Kila kifungo kinapaswa kuonekana sawa na picha 2. Pembejeo za vifungo ni 2, 3, 4 na 5 kwenye Arduino na pini ya kati ya potentiometer imeunganishwa na ANALOG ingizo A0.

Hatua ya 2: Kupakia Mchoro

Inapakia Mchoro
Inapakia Mchoro

Nakili na ubandike nambari hapa chini kwenye IDE ya Arduino. Chagua ubao sahihi chini ya "zana" na upakie mchoro kwenye Arduino.

nukuu ya baitiON = 144; // dokezo kwenye dokezo la amri; kifungo cha ndaniPin2 = 3; kifungo cha ndaniPin3 = 4; kifungo cha ndaniPin4 = 5; int potPin = A0; boolean currentState = CHINI; pinMode (kifungoPin2, INPUT); pinMode (kifungoPin3, INPUT); pinMode (kifungoPin4, INPUT); // wakati huu tutaweka pini kama INPUT Serial.begin (9600); kasi ya baiti = ramani (PotVal, 0, 1023, 0, 127); currentState = digitalRead (kifungoPin1); ikiwa (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); LOW && lastState == JUU) {MIDImessage (noteON, 60, 0); // kuzima ucheleweshaji 60 kutoka (2); currentState = digitalRead (kifungoPin2); ikiwa (currentState == HIGH && lastState == LOW) {// ikiwa kitufe kimechapishwa MIDImessage (noteON, 61, velocity); kudhihirisha} mwingine ikiwa (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kuzima kuchelewa 60 (2); sasaState = dijitiSoma (kitufePin3); ikiwa (currentState == HIGH && lastState == LOW) {// ikiwa kitufe kimechapishwa MIDImessage (noteON, 62, velocity); kudhihirisha} mwingine ikiwa (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kuzima kuchelewa 60 (2); sasaState = dijitiSoma (kitufePin4); ikiwa (currentState == HIGH && lastState == LOW) {// ikiwa kifungo kimeshinikizwa MIDImessage (noteON, 63, velocity); kudhihirisha} kingine ikiwa (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // kuzima kuchelewa 60 (2); } // // tuma ujumbe wa MIDI utupu MIDImessage (amri ya ka, data byte, data byte) {Serial.write (amri); Serial.write (data1); Serial.write (data2); }

Bado mimi ni mpya sana kwa kuandika nambari kwa ujumla….. wale walio na uzoefu kidogo zaidi labda wanaweza kusafisha hii…

Hatua ya 3: Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI

Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI
Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI
Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI
Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI
Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI
Kuelewa MIDI isiyo na nywele na Loops za ndani za MIDI

Arduino inahitaji kukimbia kupitia daraja la serial kama MIDI isiyo na nywele kisha kupitia kitanzi cha ndani cha MIDI kama vile loopbe1 (au basi ya IAC ya Mac).

Kumbuka: huwezi kupakia mchoro kwa Arduino wakati imeunganishwa na daraja la serial la MIDI lisilo na nywele.

Chagua Arduino yako kwenye bandari ya serial isiyo na nywele ya MIDI na loopbe1 au Basi ya IAC kwenye MIDI nje.

Kumbuka: hakikisha kuwa bubu hauko wakati unatumia loopbe1.

Hatua ya 4: Kuunganisha na DAW Yako

Kuunganisha na DAW Yako
Kuunganisha na DAW Yako

Ikiwa unapata ishara kwa programu isiyo na nywele ya MIDI unapobonyeza kitufe kwenye ubao wa mkate (taa zitaangaza) unapaswa kutuma data ya MIDI kwa DAW. Nilitumia Ableton lakini DAW yoyote inapaswa kufanya kazi. Hakikisha kwamba kitanzi chako cha ndani cha MIDI (loopbe1) kimewezeshwa katika mapendeleo yako ya DAW (katika Ableton unataka "wimbo" uwezeshwe). Ifuatayo, chagua moja ya pembejeo zako za wimbo wa MIDI kwenye kitanzi cha MIDI (loopbe1) kama inavyoonyeshwa kwenye picha hapo juu.

Hatua ya 5: Cheza

Image
Image

Vifungo sasa vitafanya kazi kama mtawala mwingine wowote wa MIDI! Potentiometer itabadilisha kasi ya noti zinazopelekwa kwa DAW. Video (nyeusi sana…) hapo juu inaonyesha sauti kubwa ya piano ikitenda kazi!

Ilipendekeza: