Innehållsförteckning:
- Tillbehör
- Steg 1: Designa din egen
- Steg 2: Lödning och kabeldragning
- Steg 3: Från hårdvara till programvara
- Steg 4: Hur MIDI fungerar
- Steg 5: Hur skickar du MIDI över USB på Arduino
- Steg 6: Kodningstid
- Steg 7: Sätt ihop dina saker
Video: Arduino MIDI -kontroller för Aalto: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Som amatörmusiker går jag ofta från Analog Synths till VST.
När jag är på "VST" -stämning är jag verkligen sugen på ett fantastiskt instrument: Madronalabs Aalto VST
Denna otroliga VST är mycket flexibel, den genererar mycket bra ljud och är ganska lätt att använda till ett rimligt pris.
Min begränsning av VST är dock att jag inte riktigt kan röra kontrollerna och jag måste använda musen/styrplattan medan jag jamlar - inte det bästa. Jag äger en MIDI -kontroll men knopparna återspeglar inte det riktiga Aalto -gränssnittet.
Å andra sidan, med modulära eller halvmodulära synthar kan du inte riktigt spara dina patchar vilket gör det hela lite frustrerande för mig.
Så jag ville skapa en Custom MIDI -controller för Aalto med en design som återspeglar Aaltos gränssnitt för att styra de mest relevanta sakerna.
Följ mig på Instagram för att se fler videor av processen: weirdest.worry
Jag, på Spotify:
Tillbehör
- 1 Arduino Mega- 14 Potentiometrar (jag använde dem -> PTV09A -4020F -B103) - En brödbräda för prototyper - jag rekommenderar verkligen Electro Cookie perfboard som är mycket bra för lödning (den blå i bilden) - Plywood - Lödning Järn - Koppartape - Hopptrådar
Steg 1: Designa din egen
Från och med gränssnittet för min VST ville jag trådrama in min layout med lite papper för att hitta den perfekta passformen.
Jag har sedan designat det med en programvara, skrivit ut det och limmat det på en kartongprototyp för att se om layouten kanske fungerar i den verkliga världen.
Det här steget är verkligen upp till dig - du kan designa den för en plåtlåda eller en tändsticksask: min rekommendation är att prototypa så mycket du kan.
Att få plywoodfodralet att matcha elektronikbrädorna och använda perfboards är inte det mest exakta någonsin: ju mer du testar desto bättre är det.
Steg 2: Lödning och kabeldragning
När din design är klar kan du gå till elektronik!
Obs: Jag antar att du typ vet hur dessa saker fungerar så jag kommer inte att gå in på detaljer om lödning och anslutningar.
I denna fas använde jag 2 olika perforerade brädor för tre separerade kretsar: den gulaktiga är förmodligen den vanligaste. Jag gillar det inte mycket men jag hade en extra så jag ville ändå använda den. Den blå-ish är mycket bättre och jag rekommenderar verkligen att använda den istället om du är nybörjare som jag är.
I den gulaktiga är ett hål väldigt, väldigt litet och koppar är bara på ena sidan runt varje hål, lödning kommer inte att flöda genom hålet.
För att designa spåren på detta bräde bestämde jag mig för att gå på 5 mm koppartejp: jag skar det på mitten men det var en hemsk idé. Eftersom det är väldigt lätt är fruktansvärt att hantera och både GND och VCC kanske inte distribueras korrekt. Det krävde mycket testning och fixning och det tog väldigt lång tid.
Men hej, det ser väldigt bra ut på slutet.
Att få trådarna att springa runt är lite smärtsamt: att slutföra detta kort är förmodligen det som tog mest tid.
Att använda den blå perfektbrädan (kallad Electro Cookie på Amazon) var mycket bättre: den är ansluten som en brödbräda, du kan undvika att använda koppartejp eftersom stift och ledningar redan är anslutna när de löds på samma block.
Du kan också knäppa den med händerna i mindre bitar vilket är fruktansvärt bättre.
Hålen är större och belagda i koppar vilket gör lödning supersnabbt och rent.
Det tog 3-4 dagar att göra den första gul-ish brädan, bara några timmar att göra de andra 2.
Notera om potentiometrar Som du kan se var jag tvungen att böja grytfötter - de är avsedda att användas på PBC och är inte riktigt de bästa i det här fallet. Men att böja fötterna till rätt vinkel gjorde dem mycket stabila.
Steg 3: Från hårdvara till programvara
Nu har du alla dina saker anslutna och förhoppningsvis gjorde du dina tester för att kontrollera att din Vcc och GND är ok.
Potentiometrar är förmodligen det enklaste att börja med på Arduino.
De har tre stift: en är för GND, en är för 5V. Den centrala stiftet är en slags "utgång" av potentiometern. Om du ansluter GND till vänster stift, 5V till höger stift och du vrider potten medurs, ser du värdet öka på dess "utgång" mellan 0 till 5V.
Den centrala stiftet går till en av de "analoga ingångarna" på Arduino som kommer att prova värdet och det kommer att översätta det till ett digitalt nummer: Arduino Mega 2560 översätter värdena från 0 till 1023 (det ger ett 0 när potten är allt vägen genom vänster, 1023 när är hela vägen till höger, 5V).
Tänk på att MIDI accepterar värden från 0 till 123 så att du måste dela Arduino -värdet med 8 innan du skickar heltalet via seriell.
Det ser väldigt enkelt ut (och det är) men det finns några saker att tänka på:- ofta är krukor inte superprecisa: deras utmatning kan slumpmässigt hoppa till de intilliggande värdena och utlösa oönskade CC-kommandon- din krets (ja, min i det här fallet) är inte perfekt: eftersom det inte är ett kretskort kan du ha slumpmässiga värden här och där så igen, slumpmässiga värden.- du vill inte skicka MIDI CC-värden hela tiden annars kommer din DAW förmodligen att täppa till så du måste hitta en lösning för att undvika detta
Min kod är skriven för att hantera de tre punkterna ovan och det gör det ganska bra.
Steg 4: Hur MIDI fungerar
MIDI är ett mycket gammalt protokoll, designat och skapat för att få datorer och instrument att fungera tillsammans.
Det finns en omfattande förklaring till hur MIDI fungerar: när det gäller att skicka anteckningar finns det massor av signaler du kan skicka men i vårt fall är allt väldigt enkelt.
Vi arbetar med Control Change (MIDI) så vi måste använda en av dessa kanaler som rapporteras i tabellen:
www.midi.org/specifications-old/item/table…
från 176 till 191.
När du skickar MIDI/CC -värden måste du skicka via seriell: - statusbyten (första kolumnen i tabellen) för att berätta för din DAW att du skickar en CC- vilken kontroll - i det här fallet, vilken KNOB - skickar den (heltal)- kontrollens värde
I mitt fall har jag 14 vred så ett meddelande kan vara:
Serial.write (176, 13, 107)
Knopp 13 skickar 107 värde via CC.
MIDI accepterar värden från 0 till 123 medan Arduino läser analoga värden från 0 till 1023 - kom bara ihåg att dela med 8 innan du slipar värdet.
Steg 5: Hur skickar du MIDI över USB på Arduino
Du har två alternativ för att skicka MIDI över USB med Arduino:
- blinkar en intern Arduino USB -kontroller (rekommenderas i slutet av ditt projekt)
- lämnar Arduino -lager och använd en programvara på din PC (den här) MYCKET REKOMMENDERAD
Blinkande Arduino USB -kontroller är inte det mest praktiska sättet att prototypa: när du blinkar in firmware för att skicka MIDI via USB, kommer Arduino inte att få någon ny kod att ladda upp, så om du vill uppdatera din kod måste du blinka fast programvara Så till exempel, din Arduino finns i lager och du laddar upp koden. Du blinkar för att få MIDI att fungera. Koppla ur den. Koppla in den. Du testar koden. Det fungerar inte.
Du blinkar tillbaka den till stock. Unplug. Plug-in. Rediger koden. Upload. Flash. UnplugPlugin [REPEAT AND CRY]
Det enda Pro av detta är att du inte behöver använda någon extern programvara men jag rekommenderar att du använder den här metoden bara i slutet av ditt projekt.
Å andra sidan är Hairless superenkel att använda eftersom du inte behöver blinka någonting - om du är på en Mac fungerar det perfekt med MIDI Setup och din DAW känner igen det direkt som "hårlös midi -kontroller". Mycket, mycket bättre.
Steg 6: Kodningstid
Inte mycket att säga här när jag lade upp min kod på Github och jag har kommenterat koden så mycket jag kunde.
Kom bara ihåg några grundläggande saker:
- Elektriska värden varierar
- du vill inte översvämma din DAW med onödiga CC -signaler
- Du vill inte skicka dubblett CC -meddelande
I min kod förklaras allt och du kan hitta det härhttps://github.com/weirdest-worry/aalto_midi_contr…
Steg 7: Sätt ihop dina saker
Nu fungerar din kod och det enda du behöver göra är att sätta ihop dina saker.
Detta kommer att kräva några träkunskaper som jag inte har (lyckligtvis hjälpte min fru mig i processen) så jag kan inte riktigt ge råd, men om du bestämde dig för att använda perfboards får du ett mycket rent och överskådligt arbete. Anslut nu din USB, öppna din DAW och släpp lite bas!
Rekommenderad:
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
MIDI 5V LED Strip Light Controller för Spielatron eller annan MIDI Synth: 7 steg (med bilder)
MIDI 5V LED Strip Light Controller för Spielatron eller annan MIDI Synth: Denna kontroller blinkar trefärgade LED-remsor för 50 ms per ton. Blå för G5 till D#6, röd för E6 till B6 och grön för C7 till G7. Styrenheten är en ALSA MIDI -enhet så att MIDI -programvara kan mata ut till lysdioderna samtidigt som en MIDI -syntenhet
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva