Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: Tervezés
- 3. lépés: Építés és huzalozás
- 4. lépés: Programozás
- 5. lépés: Beállítás
Videó: Arduino Uno Midi Fighter: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez az oktatóanyag a Dél -Floridai Egyetem Makecourse projektkövetelményének teljesítésével jött létre (www.makecourse.com)
A DJ Techtools népszerű MidiFighter -jén alapuló, ez a házilag készített Arduino -alapú hangszer digitális interfész (MIDI) vezérlő használható MIDI -eszközként bármilyen digitális audio munkaállomás (DAW) szoftverben. A MIDI -vezérlő képes MIDI -üzeneteket küldeni és fogadni a számítógépről, és közvetlenül vezérelni lehet a használt szoftvert. Ezenkívül a MIDI vezérlő kezelőszervei teljesen testreszabhatók - vagyis minden egyes gomb, csúszka és gomb a DAW bármely funkciójához hozzárendelhető. Például egy gomb megnyomásával lejátszhat egy adott hangot, vagy programozhatja az audioprojekt tempójának megváltoztatására.
github.com/jdtar/Arduino-Midi-Controller
1. lépés: Anyagok
Az alábbiakban felsoroljuk a projektben használt anyagokat és eszközöket.
Arduino Uno
Kenyeretábla
4051/4067 Multiplexer
Jumper vezetékek
Extra vezeték
2x 10 k ohmos lineáris csúszó potenciométer
16x Sanwa 24 mm -es gombok
Hőzsugorodás
Forrasztópáka
Borotvapenge
4,7 kΩ -os ellenállás
Akril lap (fedélhez)
A gombok és az Arduino háza
3d nyomtató
Lézervágó
2. lépés: Tervezés
A projekt megkezdése előtt már biztosítottam a házat a MIDI vezérlőmnek, ezért felrajzoltam a fedél vázlatát annak érdekében, hogy láthatóvá tegyem, hol kell mindent elhelyezni. Tudtam, hogy legalább 16 gombot és néhány potenciométert szeretnék, mint funkciót, ezért megpróbáltam a lehető legegyenletesebben elosztani az alkatrészeket.
Miután elkészítettem a fedél elrendezését, 1: 1 arányú PDF formátumban exportáltam a fájlt, és elküldtem egy lézervágóhoz, hogy levágjon egy akrillapot. A csavarlyukaknál jelöltem, hogy hol akarom, hogy lyukak legyenek, és forró szállal megolvasztottam az akrilt.
Mellékelve az 1: 1 PDF, amely kinyomtatható 1: 1 arányban, és elektromos szerszámokkal vágható, ha nincs lézervágó.
3. lépés: Építés és huzalozás
Az akril vágása után rájöttem, hogy az akril túl vékony ahhoz, hogy kellően elbírja az összes alkatrészt. Ezután kivágtam egy másik lapot, és összeragasztottam, ami tökéletesen működött.
Az alkatrészek bekötése némi próbát és hibát vett igénybe, de a Fritzing vázlatot csatolták. Először bekötöttem a földelő vezetékeket és a 4,7 kΩ -os ellenállást, forrasztva és a hő hatására zsugorodtak a gombok csatlakozásai. A két csúszó potenciométer felhelyezéséhez olvasztólyukak szükségesek az akril csavarjaihoz. A két potenciométer becsavarása után bekötötték az A0 és A1 analóg csapokat. Miután a huzalozás befejeződött, eszembe jutott, hogy a faderekhez nem volt gombsapka, ezért ahelyett, hogy megvásároltam volna, kinyomtattam néhány gombsapkát egy 3D-s nyomtatóval, vázlatosan az Autodesk Fusion 360-ban, és exportálva egy STL fájlba. De
Az Arduino Uno csak 12 elérhető digitális bemeneti tűvel rendelkezik, de 16 gombot be kell kötni. Ennek ellensúlyozására bekötöttem egy 74HC4051 multiplexert egy kenyérsütő táblán, amely 4 digitális bemeneti csatlakozót használ, és lehetővé teszi, hogy több jel használjon megosztott vonalat, és így 8 rendelkezésre álló digitális bemeneti érintkezőt, összesen 16 digitális tűt használhat.
A gombok csatlakoztatása a megfelelő csapokhoz egyszerűen egy 4x4 -es mátrix létrehozása és a kódban való felhasználása volt. A trükkös rész azonban az volt, hogy a megvásárolt multiplexernek meghatározott tűelrendezése volt, amelyhez az adatlap segített, és a gombok bekötésekor egy konkrét jegyzetelrendezést is szem előtt tartottam, ami végül valahogy így nézett ki:
MEGJEGYZÉS 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 BEMENET)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
4. lépés: Programozás
Az összeszerelés befejezése után már csak az Arduino programozása marad hátra. A mellékelt szkript úgy van megírva, hogy könnyen testreszabható legyen.
A szkript eleje tartalmazza a MIDI.h könyvtárat és a Notes és Volts blogból kölcsönzött vezérlőkönyvtárat, amelyek mind a kód zip fájljában szerepelnek. A vezérlőkönyvtár használatával a gombokhoz, potenciométerekhez és multiplexelt gombokhoz objektumok hozhatók létre, amelyek olyan adatértékeket tartalmaznak, mint a jegyzet száma, a vezérlőértékek, a jegyzet sebessége, a MIDI csatorna száma stb. A MIDI.h könyvtár lehetővé teszi a MIDI I/O kommunikációt a Az Arduino soros portok, amelyek átveszik az adatokat a vezérlőobjektumokból, átalakítják azokat MIDI -üzenetekké, és elküldik az üzeneteket a csatlakoztatott midi interfészre.
A szkript üres beállítási része minden csatornát kikapcsolt állapotban inicializál, és soros kapcsolatot is kezdeményez 115200 baud sebességgel, ami gyorsabb, mint a MIDI jelek.
A fő hurok lényegében felveszi a gombok és multiplexelt gombok tömbjét, és fut egy for ciklusra, amely ellenőrzi, hogy a gombot megnyomták vagy elengedték -e, és elküldi a megfelelő adatbájtokat a midi interfészre. A potenciométer hurok ellenőrzi a potenciométer helyzetét, és visszaküldi a megfelelő feszültségváltozásokat a midi interfészre.
5. lépés: Beállítás
Miután a szkriptet betöltötték az Arduino -ba, a következő lépés a plug and play. Van azonban néhány lépés, mielőtt használni lehetne.
Az OSX rendszeren az Apple beépített egy funkciót virtuális midi eszközök létrehozásához, amelyek a Mac -ek Audio Midi Setup alkalmazásán keresztül érhetők el. Az új eszköz létrehozása után a Hairless MIDI segítségével soros kapcsolat hozható létre az Arduino és az új virtuális midi eszköz között. Az Arduino és a Hairless MIDI közötti soros kapcsolat a szkript üres beállítási részében meghatározott baud sebességgel működik, és a Hairless MIDI beállításokban egyenértékűnek kell lennie.
Tesztelés céljából a Midi Monitor segítségével ellenőriztem, hogy a megfelelő adatokat küldték-e a soros-MIDI kapcsolat alapján. Miután megállapítottam, hogy minden egyes gomb a megfelelő adatokat küldi a megfelelő csatornákon, beállítottam a MIDI jelet, hogy az Ableton Live 9 -hez MIDI bemenetként vezessen. Az Abletonban minden gombhoz fel tudtam térképezni a szeletelt hangmintákat, és minden mintát lejátszani.
Ajánlott:
Készítsen egy Arduino MIDI vezérlőt: 5 lépés (képekkel)
Készítsen egy Arduino MIDI vezérlőt: Üdv mindenkinek! Ebben az utasításban megmutatom, hogyan lehet saját Arduino -alapú MIDI -vezérlőt építeni. A MIDI a Musical Instrument Digital Interface rövidítése, és egy olyan protokoll, amely lehetővé teszi a számítógépek, hangszerek és egyéb hardverek kommunikációját
Arduino MIDI vezérlő építése: 9 lépés (képekkel)
Arduino MIDI vezérlő építése: Ezt az utasítást eredetileg a blogomban tették közzé 2020. június 28 -án. Szeretek olyan dolgokat építeni, amelyek elektronikát tartalmaznak, és mindig szerettem volna valamit építeni az Arduino segítségével. A kezdők egyik leggyakoribb építménye egy MIDI vezérlő
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
A legerősebb Arduino-UNO, Massduino-UNO: 9 lépés
A legerősebb Arduino-UNO, Massduino-UNO: Mi a Massduino? A Massduino egy új termékcsalád, amely ötvözi az Arduino platform periférián gazdag, kényelmes és gyors fejlesztését, alacsony költségű és könnyen gyártható nagyüzemi előnyeit. Szinte az összes Arduino kód lehet egy
MIDI 5V LED szalagos fényvezérlő a Spielatronhoz vagy más MIDI szintetizátorhoz: 7 lépés (képekkel)
MIDI 5V LED szalagfényvezérlő a Spielatronhoz vagy más MIDI szintetizátorhoz: Ez a vezérlő háromszínű LED szalagfényeket villan fel jegyzetenként 50mS-ért. Kék G5-től D#6-ig, piros E6-tól B6-ig és zöld C7-től G7-ig. A vezérlő egy ALSA MIDI eszköz, így a MIDI szoftver egyidejűleg képes kimenni a LED -ekre, mint egy MIDI szintetizáló eszköz