Sadržaj:
- Korak 1: Materijali
- Korak 2: Dizajn
- 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 promjena: 2024-01-30 09:35
Ova instrukcija nastala je u skladu s projektnim zahtjevima Makecoursea na Sveučilištu Južne Floride (www.makecourse.com)
Temeljen na popularnom MidiFighter -u DJ Techtools -a, ovaj domaći kontroler s digitalnim sučeljem za glazbene instrumente (MIDI) s arduinskim pogonom može se koristiti kao MIDI uređaj na bilo kojem softveru digitalne audio radne stanice (DAW). MIDI kontroler može slati i primati MIDI poruke s računala i može se koristiti za izravnu kontrolu softvera koji se koristi. Nadalje, kontrole na MIDI kontroleru potpuno su prilagodljive - što znači da se svaki pojedinačni gumb, klizač i gumb mogu mapirati na bilo koju funkciju u DAW -u. Na primjer, pritiskom na gumb možete reproducirati određenu notu ili programirati za promjenu tempa vašeg audio projekta.
github.com/jdtar/Arduino-Midi-Controller
Korak 1: Materijali
Dolje je popis materijala i alata korištenih u ovom projektu.
Arduino Uno
Oglasna ploča
4051/4067 Multiplekser
Kratkospojne žice
Dodatna žica
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 gumbe i Arduino
3-D pisač
Laserski rezač
Korak 2: Dizajn
Već sam dobio smještaj za svoj MIDI kontroler prije početka projekta, pa sam ismijavao skicu poklopca kako bih vizualizirao gdje sve treba biti smješteno. Znao sam da želim najmanje 16 gumba i nekoliko potenciometara kao značajku pa sam pokušao što ravnomjernije rasporediti komponente.
Nakon što sam izradio izgled 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 podupire sve komponente. Zatim sam izrezala još jedan list i zalijepila ih zajedno što je savršeno uspjelo.
Ožičenje komponenti zahtijevalo je neke pokušaje i pogreške, ali je rezultiralo prilogom Fritzingove skice. Prvo sam ožičio žice za uzemljenje i otpornik od 4,7 kΩ, lemio i zagrijavao skupljanje spojeva na gumbima. Ugradnja dva klizna potenciometra zahtijevala je rupe za taljenje vijaka u akrilu. Nakon što su dva potenciometra uvijena, priključeni su na analogne pinove A0 i A1. Nakon što je ožičenje dovršeno, sjetio sam se da nema poklopca gumba za moje fadere pa sam umjesto kupovine ispisao neke poklopce pomoću trodimenzionalnog pisača tako što sam ih skicirao u Autodesk Fusion 360 i izvezao u STL datoteku. De
Arduino Uno ima samo 12 dostupnih pinova za digitalni ulaz, ali 16 je gumba trebalo spojiti. Kako bih to nadoknadio, spojio sam multipleksor 74HC4051 na 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. Škakljivo je bilo to što je specifični kupljeni multiplekser imao specifičan raspored pinova u čemu im je pomogla tablica s podacima, a također sam imao na umu i poseban izgled bilješke pri povezivanju gumba, što je na kraju izgledalo otprilike ovako:
NAPOMENA 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 dovrš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 s bloga Notes and Volts koji su uključeni u zip datoteku za kôd. Pomoću biblioteke kontrolera mogu se stvoriti objekti za gumbe, potenciometre i multipleksne gumbe koji sadrže vrijednosti podataka koje uključuju broj bilješke, kontrolne vrijednosti, brzinu note, broj MIDI kanala itd. Knjižnica MIDI.h omogućuje 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 biti uzima nizove gumba i multipleksiranih gumba i pokreće petlju for koja provjerava je li gumb pritisnut ili otpušten i šalje odgovarajuće bajtove podataka na midi sučelje. Petlja potenciometra provjerava položaj potenciometra i šalje odgovarajuće promjene napona natrag 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čunalima. Nakon što je novi uređaj stvoren, 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 skriptu za postavljanje praznina i mora biti postavljena ekvivalentno u postavkama MIDI -a za Hairless.
Za potrebe testiranja koristio sam Midi Monitor kako bih provjerio šalju li se točni podaci, mislim na serijsku MIDI vezu. Nakon što sam utvrdio da svaki gumb šalje ispravne podatke kroz ispravne kanale, postavio sam MIDI signal za usmjeravanje na Ableton Live 9 kao MIDI ulaz. U Abletonu sam uspio preslikati izrezane audio uzorke na svaku tipku i reproducirati svaki uzorak.
Preporučeni:
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: 6 koraka
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: Stoga će za ovaj projekt možda biti potrebno malo pozadine. Ljudi s kućnim ljubimcima vjerojatno su imali isti problem kao i ja: 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 s 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čitavate kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Snažniji Arduino-UNO, Massduino-UNO: 9 koraka
Snažniji Arduino-UNO, Massduino-UNO: Što je Massduino? Massduino je nova linija proizvoda, koja kombinira perifernu platformu Arduino, bogatu, prikladan i brz razvoj, jeftine i jednostavne za proizvodnju velike proizvodne prednosti. Gotovo sav Arduino kod može biti
MIDI borac na bazi Arduina (osjetljiv na dodir): 7 koraka (sa slikama)
MIDI borac temeljen na Arduinu (osjetljiv na dodir): MIDI označava digitalno sučelje glazbenih instrumenata. Ovdje izrađujemo 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 i 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 regulator treperi trobojna LED svjetla za 50 mS po bilješci. Plavo za G5 do D#6, crveno za E6 do B6 i zeleno za C7 do G7. Upravljač je ALSA MIDI uređaj pa MIDI softver može izlaziti na LED diode istovremeno s MIDI sintetičkim uređajem