Sadržaj:
- Korak 1: Materijali
- Korak 2: Dizajnirajte
- Korak 3: Izgradnja i ožičenje
- Korak 4: Programiranje
- Korak 5: Postavljanje
Video: Arduino Uno Midi borac: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ova instrukcija nastala je u skladu sa zahtjevima projekta Makecourse na Univerzitetu Južne Floride (www.makecourse.com)
Zasnovan na popularnom MidiFighter -u DJ Techtools -a, ovaj domaći kontroler sa digitalnim interfejsom za muzičke instrumente (MIDI) sa Arduino pogonom može se koristiti kao MIDI uređaj na bilo kom softveru za digitalnu audio radnu stanicu (DAW). MIDI kontroler može slati i primati MIDI poruke sa računara i može se koristiti za direktnu kontrolu softvera koji se koristi. Osim toga, kontrole na MIDI kontroleru su potpuno prilagodljive - što znači da se svako pojedinačno dugme, klizač i dugme mogu mapirati na bilo koju funkciju u DAW -u. Na primjer, pritiskom na dugme možete reproducirati određenu notu ili programirati za promjenu tempa vašeg audio projekta.
github.com/jdtar/Arduino-Midi-Controller
Korak 1: Materijali
Ispod je popis materijala i alata korištenih u ovom projektu.
Arduino Uno
Breadboard
4051/4067 Multiplekser
Žice za kratkospojnike
Extra Wire
2x linearni klizni potenciometar od 10k ohma
16x Sanwa tipke od 24 mm
Termoskupljanje
Lemilica
Žilet
4,7 kΩ otpornik
Akrilni lim (za poklopac)
Kućište za dugmad i Arduino
3-D štampač
Laserski rezač
Korak 2: Dizajnirajte
Već sam dobio smještaj za svoj MIDI kontroler prije početka projekta, pa sam ismijavao skicu poklopca kako bih vizualizirao gdje će sve biti postavljeno. Znao sam da želim najmanje 16 tipki i nekoliko potenciometara kao značajku, pa sam pokušao što ravnomjernije rasporediti komponente.
Nakon sastavljanja izgleda poklopca, izvezao sam datoteku kao PDF u omjeru 1: 1 i poslao je laserskom rezaču da izreže list akrila. Za rupe za vijke, markerom sam označio gdje želim da rupe budu i otopio akril vrućom niti.
U privitku je PDF u omjeru 1: 1 koji se može ispisati kao 1: 1 i izrezati električnim alatima ako laserski rezač nije dostupan.
Korak 3: Izgradnja i ožičenje
Nakon rezanja rezanjem akrila, otkrio sam da je akril previše tanak da dovoljno podržava sve komponente. Zatim sam izrezao još jedan list i zalijepio ih zajedno što je savršeno uspjelo.
Ožičenje komponenti zahtijevalo je neke pokušaje i greške, ali je rezultiralo prilogom Fritzingove skice. Prvo sam ožičio žice za uzemljenje i otpornik od 4,7 kΩ, lemio i toplinom smanjio veze na gumbima. Za montažu dva klizna potenciometra potrebne su rupe za taljenje vijaka u akrilu. Nakon što su dva potenciometra pričvršćena, priključeni su na analogne pinove A0 i A1. Nakon što je ožičenje završeno, sjetio sam se da nema poklopca gumba za moje fadere, pa sam ih umjesto kupovine ispisao neke kapice pomoću trodimenzionalnog pisača skicirajući ih u Autodesk Fusion 360 i izvezivši ih u STL datoteku. De
Arduino Uno ima samo 12 dostupnih pinova za digitalni ulaz, ali 16 dugmadi je trebalo spojiti. Da bih to kompenzirao, spojio sam multipleksor 74HC4051 na matičnu ploču koja koristi 4 digitalna ulazna pina i omogućuje više signala da koriste zajedničku liniju što rezultira s 8 dostupnih igala za digitalni ulaz za ukupno 16 digitalnih pinova dostupnih za upotrebu.
Povezivanje gumba na ispravne pinove jednostavno je bilo pitanje stvaranja matrice 4x4 i korištenja iste u kodu. Škakljiv dio je bio što je određeni kupljeni multiplekser imao specifičan raspored pinova u čemu je pomogla tablica s podacima, a također sam imao na umu i specifičan izgled bilješke pri povezivanju gumba, što je na kraju izgledalo otprilike ovako:
NOTE 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 MATRIX (M = MUX ULAZ)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Korak 4: Programiranje
Nakon što je montaža završena, sve što preostaje je programiranje Arduina. Priložena skripta napisana je na takav način da se lako može prilagoditi.
Početak skripte uključuje biblioteku MIDI.h i biblioteku kontrolera posuđenu sa bloga Notes and Volts, a obje su uključene u zip datoteku za kôd. Pomoću biblioteke kontrolera mogu se kreirati objekti za tipke, potenciometre i multipleksirane tipke koji sadrže vrijednosti podataka koje uključuju broj note, kontrolne vrijednosti, brzinu note, broj MIDI kanala itd. MIDI.h biblioteka omogućava MIDI I/O komunikaciju na Arduino serijski portovi koji zauzvrat uzima podatke iz objekata kontrolera, pretvara ih u MIDI poruke i šalje poruke na bilo koje midi sučelje.
Dio skripte za postavljanje void inicijalizira sve kanale kao isključene, a također započinje serijsku vezu na 115200 bauda, brzinom većom od razmjene MIDI signala.
Glavna petlja u suštini uzima nizove dugmadi i multipleksiranih tastera i pokreće petlju for koja proverava da li je dugme pritisnuto ili otpušteno i šalje odgovarajuće bajtove podataka na midi interfejs. Petlja potenciometra provjerava položaj potenciometra i šalje odgovarajuće promjene napona na midi sučelje.
Korak 5: Postavljanje
Nakon što je skripta učitana na Arduino, sljedeći korak je uključivanje i reproduciranje. Međutim, postoji nekoliko koraka prije nego što se može koristiti.
Na OSX -u, Apple je uključio značajku za stvaranje virtualnih midi uređaja kojima se može pristupiti putem aplikacije Audio Midi Setup na Mac računarima. Nakon što je novi uređaj kreiran, Hairless MIDI se može koristiti za stvaranje serijske veze između Arduina i novog virtualnog midi uređaja. Serijska veza s Arduina preko Hairless MIDI -ja radi brzinom prijenosa definiranom u dijelu za postavljanje void skripte i mora biti postavljena ekvivalentno u postavkama za Hairless MIDI.
Za potrebe testiranja koristio sam Midi Monitor da provjerim da li se šalju ispravni podaci, mislim na serijsko-MIDI vezu. Nakon što sam utvrdio da svako dugme šalje ispravne podatke putem ispravnih kanala, postavio sam MIDI signal za usmjeravanje na Ableton Live 9 kao MIDI ulaz. U Abletonu sam uspio preslikati izrezane audio uzorke na svako dugme i reproducirati svaki uzorak.
Preporučuje se:
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: 6 koraka
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: Tako da će za ovaj projekt možda biti potrebno malo pozadine. Ljudima sa kućnim ljubimcima vjerovatno se pojavio isti problem kao i meni: godišnji odmori i zaborav. Stalno sam zaboravljao nahraniti svoju ribu i uvijek sam to pokušavao učiniti prije nego što je otišlo u s
Akustična levitacija sa Arduino Uno Korak po korak (8 koraka): 8 koraka
Akustična levitacija s Arduino Uno Korak po korak (8 koraka): ultrazvučni pretvarači zvuka L298N Dc ženski adapter za napajanje s muškim dc pinom Arduino UNOBreadboard Kako to funkcionira: Prvo učitajte kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Moćniji Arduino-UNO, Massduino-UNO: 9 koraka
Moćniji Arduino-UNO, Massduino-UNO: Što je Massduino? Massduino je nova linija proizvoda, koja kombinira perifernu platformu Arduino, bogatu, prikladnu i brzu razvojnu, jeftinu i laku za proizvodnju velike proizvodne prednosti. Gotovo sav Arduino kod može biti
MIDI borac zasnovan na Arduinu (osjetljiv na dodir): 7 koraka (sa slikama)
MIDI borac zasnovan na Arduinu (osjetljiv na dodir): MIDI označava digitalno sučelje za muzičke instrumente. Ovdje pravimo MIDI lovac osjetljiv na dodir. Ima 16 jastučića. oni se mogu povećati ili smanjiti. Ovdje sam koristio 16 zbog ograničenih arduino pinova. Također sam koristio analogne ulazne pinove
MIDI 5V LED kontroler svjetla za Spielatron ili drugi MIDI Synth: 7 koraka (sa slikama)
MIDI 5V LED svjetlosni kontroler za Spielatron ili drugi MIDI Synth: Ovaj kontroler treperi trobojna LED svjetla za 50mS po bilješci. Plavo za G5 do D#6, crveno za E6 do B6 i zeleno za C7 do G7. Kontroler je ALSA MIDI uređaj tako da MIDI softver može izlaziti na LED diode istovremeno sa MIDI sintetičkim uređajem