Satura rādītājs:
- 1. solis: materiāli
- 2. solis: projektēšana
- 3. darbība: konstrukcija un elektroinstalācija
- 4. solis: programmēšana
- 5. darbība: iestatīšana
Video: Arduino Uno Midi cīnītājs: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šī pamācība tika izveidota, izpildot Dienvidfloridas Universitātes Makecourse projekta prasības (www.makecourse.com)
Pamatojoties uz populāro DJ Techtools MidiFighter, šo pašdarināto Arduino darbināmo mūzikas instrumentu digitālā interfeisa (MIDI) kontrolieri var izmantot kā MIDI ierīci jebkurā digitālās audio darbstacijas (DAW) programmatūrā. MIDI kontrolieris var nosūtīt un saņemt MIDI ziņojumus no datora, un to var izmantot, lai tieši kontrolētu izmantoto programmatūru. Turklāt MIDI kontrollera vadīklas ir pilnībā pielāgojamas - tas nozīmē, ka katru atsevišķu pogu, slīdni un pogu var saistīt ar jebkuru DAW funkciju. Piemēram, nospiežot pogu, var atskaņot noteiktu noti vai tikt ieprogrammētai, lai mainītu audio projekta tempu.
github.com/jdtar/Arduino-Midi-Controller
1. solis: materiāli
Zemāk ir šajā projektā izmantoto materiālu un rīku saraksts.
Arduino Uno
Maizes dēlis
4051/4067 Multiplekseris
Jumper vadi
Papildu vads
2x 10k omu lineārie slaidu potenciometri
16x Sanwa 24 mm pogas
Karstuma saraušanās
Lodāmurs
Žilete
4,7 kΩ rezistors
Akrila loksne (vākam)
Pogas un Arduino korpuss
3-D printeris
Lāzera griezējs
2. solis: projektēšana
Pirms projekta uzsākšanas man jau bija nodrošināts korpuss manam MIDI kontrolierim, tāpēc es uztaisīju vāka skici, lai redzētu, kur viss ir jāievieto. Es zināju, ka vēlos izmantot vismaz 16 pogas un pāris potenciometrus, tāpēc mēģināju pēc iespējas vienmērīgāk izvietot komponentus.
Pēc vāka izkārtojuma sastādīšanas es eksportēju failu kā 1: 1 PDF failu un nosūtīju to uz lāzera griezēju, lai izgrieztu akrila loksni. Skrūvju caurumiem es atzīmēju, kur es vēlos, lai caurumi būtu ar marķieri, un izkausēju akrilu ar karstu pavedienu.
Pievienots 1: 1 PDF fails, kuru var izdrukāt kā 1: 1 un izgriezt ar elektroinstrumentiem, ja nav pieejams lāzera griezējs.
3. darbība: konstrukcija un elektroinstalācija
Pēc akrila griešanas es uzzināju, ka akrils ir pārāk plāns, lai pietiekami izturētu visas sastāvdaļas. Pēc tam es izgriezu vēl vienu lapu un salīmēju kopā, kas notika perfekti.
Komponentu savienošana prasīja zināmus izmēģinājumus un kļūdas, taču tika pievienota Fritzing skice. Es vispirms pievienoju zemējuma vadus un 4,7 kΩ rezistoru, pielodēju un karstums samazināja pogu savienojumus. Divu slaidu potenciometru uzstādīšanai bija nepieciešami kušanas caurumi akrila skrūvēm. Pēc abu potenciometru ieskrūvēšanas tie tika savienoti ar A0 un A1 analogajām tapām. Kad elektroinstalācija bija pabeigta, es atcerējos, ka maniem faderiem nebija pogu vāciņu, tā vietā, lai tos iegādātos, es, izmantojot trīsdimensiju printeri, izdrukāju dažus pogu vāciņus, ieskicējot tos Autodesk Fusion 360 un eksportējot uz STL failu. De
Arduino Uno ir tikai 12 pieejamās digitālās ievades tapas, bet bija jāpieslēdz 16 pogas. Lai to kompensētu, es pievienoju 74HC4051 multipleksoru uz maizes dēļa, kurā tiek izmantotas 4 digitālās ievades tapas un kas ļauj vairākiem signāliem izmantot koplīniju, kā rezultātā ir pieejamas 8 pieejamas digitālās ievades tapas kopā 16 lietošanai pieejamām digitālajām tapām.
Pieslēgt pogas pareizajām tapām bija tikai izveidot 4x4 matricu un izmantot to kodā. Tomēr sarežģītā daļa bija tāda, ka konkrētajam iegādātajam multiplekserim bija īpašs tapu izkārtojums, kuram palīdzēja datu lapa, kā arī man bija prātā konkrēts piezīmju izkārtojums, pieslēdzot pogas, kas galu galā izskatījās nedaudz šādi:
PIEZĪME MATRIX
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIKS (M = MUX IEEJA)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
4. solis: programmēšana
Kad montāža ir pabeigta, atliek tikai programmēt Arduino. Pievienotais skripts ir uzrakstīts tā, lai tas būtu viegli pielāgojams.
Skripta sākumā ir iekļauta MIDI.h bibliotēka un kontrolieru bibliotēka, kas aizņemta no emuāra Piezīmes un volti, kas abi ir iekļauti koda zip failā. Izmantojot kontrolieru bibliotēku, var izveidot objektus pogām, potenciometriem un multipleksētām pogām, kas satur datu vērtības, kas ietver piezīmju numuru, kontroles vērtības, piezīmju ātrumu, MIDI kanāla numuru utt. MIDI.h bibliotēka nodrošina MIDI I/O sakarus Arduino seriālie porti, kas savukārt ņem datus no kontroliera objektiem, pārvērš tos par MIDI ziņojumiem un nosūta ziņojumus uz jebkuru midi saskarni.
Skripta tukšā iestatīšanas daļa inicializē visus kanālus kā izslēgtus, kā arī uzsāk sērijas savienojumu ar 115200 bodu, kas ir ātrāks nekā MIDI signālu apmaiņa.
Galvenā cilpa būtībā aizņem pogu un multipleksēto pogu masīvus un palaiž cilpu, kas pārbauda, vai poga ir nospiesta vai atlaista, un nosūta atbilstošos datu baitus uz midi saskarni. Potenciometra cilpa pārbauda potenciometra stāvokli un nosūta atbilstošās sprieguma izmaiņas atpakaļ uz midi saskarni.
5. darbība: iestatīšana
Kad skripts tika ielādēts Arduino, nākamais solis ir pievienošana un atskaņošana. Tomēr pirms tā izmantošanas ir jāveic dažas darbības.
Operētājsistēmā OSX Apple iekļāva funkciju, lai izveidotu virtuālas midi ierīces, kurām var piekļūt, izmantojot Mac audio lietojumprogrammu Audio Midi Setup. Kad jaunā ierīce ir izveidota, Matu bez matiem var izmantot, lai izveidotu sērijas savienojumu starp Arduino un jauno virtuālo midi ierīci. Sērijas savienojums no Arduino līdz Hairless MIDI darbojas ar pārraides ātrumu, kas noteikts skripta tukšās iestatīšanas daļā, un tam jābūt iestatītam līdzvērtīgam Hairless MIDI preferenču iestatījumos.
Pārbaudes nolūkos es izmantoju Midi Monitor, lai pārbaudītu, vai tiek sūtīti pareizi dati, domājot par sērijas-MIDI savienojumu. Tiklīdz es noskaidroju, ka visas pogas, izmantojot pareizos kanālus, pārsūta pareizos datus, es iestatīju MIDI signālu, lai maršrutētu uz Ableton Live 9 kā MIDI ievadi. Abletonā es varēju kartēt sagrieztus audio paraugus katrai pogai un atskaņot katru paraugu.
Ieteicams:
Izveidojiet Arduino MIDI kontrolieri: 5 soļi (ar attēliem)
Izveidojiet Arduino MIDI kontrolieri: Sveiki visiem! Šajā pamācībā es jums parādīšu, kā izveidot savu Arduino darbināmu MIDI kontrolieri. MIDI apzīmē mūzikas instrumentu digitālo saskarni, un tas ir protokols, kas ļauj datoriem, mūzikas instrumentiem un citai aparatūrai sazināties
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
Jaudīgākais Arduino-UNO, Massduino-UNO: 9 soļi
Jaudīgākais Arduino-UNO, Massduino-UNO: Kas ir Massduino? Massduino ir jauna produktu līnija, kas apvieno Arduino platformas perifērijas bagātību, ērtu un ātru izstrādi, zemas izmaksas un viegli ražojamas liela mēroga ražošanas priekšrocības. Gandrīz viss Arduino kods var būt
Arduino bāzes MIDI cīnītājs (skārienjutīgs): 7 soļi (ar attēliem)
Arduino bāzes MIDI cīnītājs (skārienjutīgs): MIDI apzīmē mūzikas instrumentu digitālo saskarni. Šeit mēs izgatavojam skārienjutīgu MIDI cīnītāju. Tam ir 16 spilventiņi. tos var palielināt vai samazināt. Šeit es esmu izmantojis 16, jo ir ierobežotas arduino tapas. Arī es esmu izmantojis analogās ievades tapas
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