Kazalo:
- 1. korak: Materiali
- 2. korak: Oblikovanje
- 3. korak: Gradnja in ožičenje
- 4. korak: Programiranje
- 5. korak: Nastavitev
Video: Midi borec Arduino Uno: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Ta pouk je bil ustvarjen v skladu z zahtevami projekta Makecourse na Univerzi v Južni Floridi (www.makecourse.com)
Na osnovi priljubljenega MidiFighterja DJ Techtools se lahko ta domači krmilnik z digitalnim vmesnikom z glasbenimi instrumenti (MIDI), ki ga poganja Arduino, uporablja kot naprava MIDI v kateri koli programski opremi za digitalno avdio delovno postajo (DAW). MIDI krmilnik lahko pošilja in prejema sporočila MIDI iz računalnika in se lahko uporablja za neposreden nadzor nad programsko opremo, ki se uporablja. Poleg tega so krmilniki na MIDI krmilniku popolnoma prilagodljivi - kar pomeni, da je vsak posamezen gumb, drsnik in gumb mogoče preslikati v katero koli funkcijo v DAW. Na primer, s pritiskom na gumb lahko predvajate določeno noto ali pa ga programirate za preklop tempa vašega zvočnega projekta.
github.com/jdtar/Arduino-Midi-Controller
1. korak: Materiali
Spodaj je seznam materialov in orodij, uporabljenih pri tem projektu.
Arduino Uno
Ogledna plošča
4051/4067 Multiplekser
Mostične žice
Dodatna žica
2x 10k ohmski linearni drsni potenciometer
16x gumbi Sanwa 24 mm
Toplotno krčenje
Spajkalnik
Britvica
4,7 kΩ upor
Akrilna folija (za pokrov)
Ohišje za gumbe in Arduino
3-D tiskalnik
Laserski rezalnik
2. korak: Oblikovanje
Pred začetkom projekta so mi že zagotovili ohišje za krmilnik MIDI, zato sem se poslikal skico pokrova, da sem si predstavljal, kam naj se vse postavi. Vedel sem, da želim imeti vsaj 16 gumbov in nekaj potenciometrov, zato sem poskušal čim bolj enakomerno razporediti komponente.
Ko sem sestavil postavitev pokrova, sem datoteko izvozil kot PDF v razmerju 1: 1 in jo poslal laserskemu rezalniku, da je izrezal list akrila. Za luknje za vijake sem z markerjem označil, kje naj bodo luknje, in z vročo nitjo stopil akril.
Priložen je PDF v razmerju 1: 1, ki ga lahko natisnete kot 1: 1 in ga razrežete z električnim orodjem, če laserski rezalnik ni na voljo.
3. korak: Gradnja in ožičenje
Po rezanju z rezanjem akrila sem ugotovil, da je akril premajhen, da bi dovolj podprl vse komponente. Nato sem izrezal še en list in jih zlepil skupaj, kar se je izkazalo za odlično.
Ožičenje komponent je trajalo nekaj poskusov in napak, vendar je prišlo do priložene skice Fritzing. Najprej sem ožičil ozemljitvene žice in 4,7 kΩ upor, spajkal in toplotno skrčil povezave na gumbih. Za montažo dveh drsnih potenciometrov so bile potrebne talilne luknje za vijake v akrilu. Po privitju obeh potenciometrov sta bila ožičena do analognih nožic A0 in A1. Ko je bilo ožičenje končano, sem se spomnil, da za moje faderje ni pokrovčkov, zato sem namesto da bi jih kupil, natisnil nekaj pokrovčkov s 3-D tiskalnikom, tako da sem ga skiciral v Autodesk Fusion 360 in izvozil v datoteko STL. De
Arduino Uno ima na voljo le 12 vhodov za digitalni vhod, vendar je bilo treba priključiti 16 gumbov. Da bi to kompenziral, sem na ploščo ožičil multiplekser 74HC4051, ki uporablja 4 digitalne vhodne zatiče in omogoča več signalom uporabo skupne linije, kar ima za posledico 8 razpoložljivih digitalnih vhodnih zatičev za skupno 16 digitalnih zatičev, ki so na voljo za uporabo.
Priključitev gumbov na pravilne zatiče je bila preprosto stvar ustvarjanja matrike 4x4 in njene uporabe v kodi. Zapleten del pa je bil, da je imel posebni kupljeni multiplekser določeno postavitev zatičev, pri kateri je bil podatkovni list v pomoč, poleg tega pa sem pri ožičenju gumbov v mislih imel v mislih določeno postavitev beležke, ki je na koncu izgledala takole:
OPOMBA 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 VHOD)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
4. korak: Programiranje
Ko je montaža končana, je ostalo le programiranje Arduina. Priloženi skript je napisan tako, da ga je enostavno prilagoditi.
Začetek skripta vključuje knjižnico MIDI.h in knjižnico krmilnika, izposojeno iz bloga Notes and Volts, ki sta vključeni v datoteko zip za kodo. Z uporabo knjižnice krmilnika lahko ustvarite predmete za gumbe, potenciometre in multipleksirane gumbe, ki vsebujejo podatkovne vrednosti, ki vključujejo številko note, kontrolne vrednosti, hitrost note, številko kanala MIDI itd. Knjižnica MIDI.h omogoča komunikacijo MIDI I/O na Serijska vrata Arduino, ki nato vzamejo podatke iz objektov krmilnika, jih pretvorijo v sporočila MIDI in sporočila pošljejo na kateri koli midi vmesnik.
Del skripta za nastavitev void inicializira vse kanale kot izklopljene in sproži tudi serijsko povezavo pri 115200 baud, kar je hitreje od izmenjave signalov MIDI.
Glavna zanka v bistvu sprejme niz gumbov in multipleksiranih gumbov ter zažene zanko for, ki preveri, ali je bil gumb pritisnjen ali sproščen, in pošlje ustrezne podatkovne bajte vmesniku midi. Zanka potenciometra preveri položaj potenciometra in pošlje ustrezne spremembe napetosti nazaj na midi vmesnik.
5. korak: Nastavitev
Ko je skript naložen na Arduino, je naslednji korak priključitev in predvajanje. Preden ga lahko uporabite, obstaja nekaj korakov.
V OSX je Apple vključil funkcijo za ustvarjanje navideznih midi naprav, do katerih je mogoče dostopati prek aplikacije Audio Midi Setup na računalnikih Mac. Ko je nova naprava ustvarjena, lahko Hairless MIDI uporabite za ustvarjanje serijske povezave med Arduinom in novo virtualno midi napravo. Zaporedna povezava z Arduina prek Hairless MIDI deluje s hitrostjo prenosa, ki je določena v delu za nastavitev void skripta, zato je treba nastaviti enakovredno v nastavitvah brez dlake MIDI.
Za namene testiranja sem uporabil Midi Monitor, da preverim, ali so bili posredovani pravilni podatki, povezava serijsko-MIDI. Ko sem ugotovil, da vsi gumbi pošiljajo pravilne podatke po ustreznih kanalih, sem nastavil signal MIDI za usmerjanje na Ableton Live 9 kot vhod MIDI. V Abletonu sem lahko preslikal izrezane zvočne vzorce na vsak gumb in predvajal vsak vzorec.
Priporočena:
Zgradite Arduino MIDI krmilnik: 5 korakov (s slikami)
Zgradite Arduino MIDI krmilnik: Pozdravljeni vsi! V tem navodilu vam bom pokazal, kako zgraditi lasten MIDI krmilnik, ki ga poganja Arduino. MIDI pomeni digitalni vmesnik za glasbene instrumente in je protokol, ki računalnikom, glasbilom in drugi strojni opremi omogoča komunikacijo
Izdelava MIDI krmilnika Arduino: 9 korakov (s slikami)
Izdelava MIDI krmilnika Arduino: Ta navodila so bila prvotno objavljena na mojem spletnem dnevniku 28. junija 2020. Uživam v gradnji stvari, ki vključujejo elektroniko, in vedno sem želel nekaj zgraditi z uporabo Arduina. MIDI krmilnik.
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Zmogljivejši Arduino-UNO, Massduino-UNO: 9 korakov
Zmogljivejši Arduino-UNO, Massduino-UNO: Kaj je Massduino? Massduino je nova linija izdelkov, ki združuje periferne platforme Arduino, bogate, priročen in hiter razvoj, poceni in enostavne za proizvodnjo velike prednosti. Skoraj vsa koda Arduino je lahko
MIDI 5V LED tračni krmilnik za Spielatron ali drug MIDI Synth: 7 korakov (s slikami)
MIDI 5V LED trak za krmiljenje luči za Spielatron ali drug MIDI Synth: Ta krmilnik utripa tribarvne LED luči za 50mS na noto. Modra za G5 do D#6, rdeča za E6 do B6 in zelena za C7 do G7. Krmilnik je naprava ALSA MIDI, tako da lahko programska oprema MIDI oddaja LED diode hkrati z napravo za sinhronizacijo MIDI