Satura rādītājs:
- Piegādes
- 1. darbība: maizes dēļa izveide
- 2. darbība. Skices augšupielāde
- 3. darbība. Izpratne par Matu bez matiem un iekšējām MIDI cilpām
- 4. darbība. Savienojuma izveide ar DAW
- 5. solis: spēlējiet
Video: Pamata Arduino MIDI kontrolieris: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Ievads:
Esmu jauns darbā ar Arduino, bet ceru paplašināt savas zināšanas, mācot citus un saņemot atsauksmes. Šis ir ļoti vienkāršs MIDI kontrolieris ar 4 pogām un potenciometru. Šī projekta izklāsts izskatās šādi:
1. Izveidojiet maizes dēli
2. Augšupielādējiet skici Arduino
3. Izprotiet MIDI bez matiem un iekšējo MIDI cilpu (loopbe1)
4. novirziet savu MIDI uz DAW (Ableton)
Piegādes
1 x Arduino Mega 2560
1 x maizes dēlis
1 x USB kabelis
1 x potenciometrs
4 x taustiņu pogas
4 x 120 omi rezistori
14 x džemperis kabeļiem maizei
1. darbība: maizes dēļa izveide
Pievienojiet savu maizes dēli, lai visas sastāvdaļas atbilstu 1. attēlam. Katrai pogai vajadzētu izskatīties tāpat kā 2. attēlam. Arduino pogu ievades ir 2, 3, 4 un 5, un potenciometra vidējā tapa ir pievienota ANALOG ieejai A0.
2. darbība. Skices augšupielāde
Kopējiet un ielīmējiet zemāk esošo kodu Arduino IDE. Sadaļā “rīki” atlasiet pareizo dēli un augšupielādējiet skici Arduino.
baitu piezīmeON = 144; // piezīme komandbaita piezīmē; // krātuve pašlaik atskaņotajai notai int pogaPin1 = 2; int pogaPin2 = 3; int pogaPin3 = 4; int pogaPin4 = 5; int potPin = A0; Būla strāvaStāvoklis = LOW; // pašreizējā pogas stāvokļa strūklaka Būla pēdējāState = LOW; // krātuve pēdējās pogas stāvokļa spēkā neesamības iestatīšanai () {pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (buttonPin3, INPUT); pinMode (buttonPin4, INPUT); // šoreiz mēs iestatīsim tapu kā INPUT Serial.begin (9600); // Initial Serial connection} void loop () {int PotVal = analogRead (potPin); baitu ātrums = karte (PotVal, 0, 1023, 0, 127); currentState = digitalRead (buttonPin1); if (currentState == HIGH && lastState == LOW) {MIDImessage (noteON, 60, velocity); // ieslēgt piezīmi 60 ar 127 ātruma aizkavi (200); // neapstrādāta pogu atcelšanas forma} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // izslēgt piezīmes 60 aizkavi (2); // neapstrādāta pogas atspējošanas forma} lastState = currentState; currentState = digitalRead (buttonPin2); if (currentState == HIGH && lastState == LOW) {// ja poga ir tikko nospiesta MIDImessage (piezīme, 61, ātrums); // ieslēdziet piezīmi 60 ar 127 ātruma aizkavi (200); // neapstrādātas pogas forma debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // izslēgt piezīmes 60 aizkavi (2); // neapstrādātas pogas atcelšanas forma} lastState = currentState; currentState = digitalRead (buttonPin3); if (currentState == HIGH && lastState == LOW) {// ja poga ir tikko nospiesta MIDImessage (piezīme, 62, ātrums); // ieslēdziet piezīmi 60 ar 127 ātruma aizkavi (200); // neapstrādātas pogas forma debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // izslēgt piezīmes 60 aizkavi (2); // neapstrādātas pogas atcelšanas forma} lastState = currentState; currentState = digitalRead (buttonPin4); if (currentState == HIGH && lastState == LOW) {// ja poga ir tikko nospiesta MIDImessage (piezīme, 63, ātrums); // ieslēdziet piezīmi 60 ar 127 ātruma aizkavi (200); // neapstrādātas pogas forma debouncing} else if (currentState == LOW && lastState == HIGH) {MIDImessage (noteON, 60, 0); // izslēgt piezīmes 60 aizkavi (2); // neapstrādātas pogas atcelšanas forma} lastState = currentState; } // sūtīt MIDI ziņojumu void MIDImessage (baita komanda, baita dati1, baita dati2) {Sērijas.rakstīt (komanda); Serial.write (dati1); Serial.write (dati2); }
Es joprojām esmu ļoti jauns, lai vispār rakstītu kodu….. tie, kuriem ir nedaudz lielāka pieredze, droši vien varētu to notīrīt…
3. darbība. Izpratne par Matu bez matiem un iekšējām MIDI cilpām
Arduino ir jābrauc caur seriālo tiltu, piemēram, bez matu MIDI, pēc tam caur iekšēju MIDI cilpu, piemēram, loopbe1 (vai IAC kopni Mac).
Piezīme: jūs nevarat augšupielādēt skici Arduino, kamēr tā ir savienota ar MIDI sērijas tiltu bez matiem.
MIDI seriālajā portā izvēlieties savu Arduino un MIDI izejā - loopbe1 vai IAC kopni.
Piezīme. Lietojot loopbe1, pārliecinieties, vai izslēgta skaņa.
4. darbība. Savienojuma izveide ar DAW
Ja jūs saņemat signālu uz lietotni Hairless MIDI, nospiežot pogu uz maizes dēļa (mirgos gaismas), jums vajadzētu būt iespējai nosūtīt MIDI datus uz DAW. Es izmantoju Ableton, bet jebkuram DAW vajadzētu strādāt. Pārliecinieties, vai jūsu iekšējā MIDI cilpa (loopbe1) ir iespējota jūsu DAW preferencēs (Ableton vēlaties, lai tiktu iespējots "celiņš"). Pēc tam atlasiet vienu no savām MIDI celiņu ieejām MIDI cilpā (loopbe1), kā parādīts attēlā iepriekš.
5. solis: spēlējiet
Pogas tagad darbosies tāpat kā jebkurš cits MIDI kontrolieris! Potenciometrs mainīs DAW nosūtīto piezīmju ātrumu. Iepriekš redzamais (ļoti tumšais …) video parāda flīģeļa skaņu darbībā!
Ieteicams:
Lune - MIDI kontrolieris ar Arduino (DJ vai mūziķim): 5 soļi (ar attēliem)
Lune - MIDI kontrolieris ar Arduino (dīdžejam vai mūziķim): Šis ir mans pirmais arduino (mikrokontrolleru) projekta nosaukums Lune. Es gribēju iemācīties arduino ar noderīgu un lielu projektu, tāpēc es nolēmu izveidot midi DJ kontrolieri, kuram ir visas funkcijas, kas nepieciešamas, lai to varētu sajaukt. Katra veida sensors (potenciāls
Arduino MIDI kontrolieris Aalto: 7 soļi
Arduino MIDI kontrolieris Aalto: Būdams mūziķis amatieris, es bieži pāreju no Analog Synths uz VST. Kad es esmu " VST " garastāvoklis, man patiešām patīk viens pārsteidzošs instruments: Madronalab Aalto VST Šis neticamais VST ir ļoti elastīgs, tas rada ļoti labas skaņas un ir diezgan labs
DIY spēļu kontrolieris uz Arduino bāzes - Arduino PS2 spēļu kontrolieris - Spēlējot Tekken ar DIY Arduino Gamepad: 7 soļi
DIY spēļu kontrolieris uz Arduino bāzes | Arduino PS2 spēļu kontrolieris | Spēlēt Tekken ar DIY Arduino Gamepad: Sveiki, puiši, spēlēt spēles vienmēr ir jautri, bet spēlēt ar savu DIY pielāgoto spēļu kontrolieri ir jautrāk. Tāpēc šajā instrukcijā mēs izveidosim spēles kontrolieri, izmantojot arduino pro micro
YABC - vēl viens Blynk kontrolieris - IoT mākoņa temperatūras un mitruma kontrolieris, ESP8266: 4 soļi
YABC - Vēl viens Blynk kontrolieris - IoT mākoņa temperatūras un mitruma kontrolieris, ESP8266: Sveiki, Makers, es nesen sāku audzēt sēnes mājās, austeru sēnes, bet man jau ir 3x no šiem kontrolieriem mājās, lai raudzētu temperatūras kontroli savai mājas brūvei, sieva arī tagad dara šo Kombucha lietu un kā siltuma termostatu
MIDI 5V LED sloksnes gaismas kontrolieris Spielatron vai citam MIDI Synth: 7 soļi (ar attēliem)
MIDI 5V LED sloksnes gaismas kontrolieris Spielatron vai citam MIDI Synth: Šis kontrolieris mirgo trīs krāsu LED sloksnes gaismā par 50mS par piezīmi. Zils G5 līdz D#6, sarkans E6 līdz B6 un zaļš C7 līdz G7. Kontrolieris ir ALSA MIDI ierīce, tāpēc MIDI programmatūra var izvadīt gaismas diodes vienlaikus ar MIDI sintezatora ierīci