Innehållsförteckning:

Midi -kontrollerat inspelningsljus för Logic Pro X: 9 steg (med bilder)
Midi -kontrollerat inspelningsljus för Logic Pro X: 9 steg (med bilder)

Video: Midi -kontrollerat inspelningsljus för Logic Pro X: 9 steg (med bilder)

Video: Midi -kontrollerat inspelningsljus för Logic Pro X: 9 steg (med bilder)
Video: CS50 2015 - Week 7 2024, Juli
Anonim
Midi -kontrollerat inspelningsljus för Logic Pro X
Midi -kontrollerat inspelningsljus för Logic Pro X

Denna handledning ger information om hur man bygger och programmerar ett grundläggande MIDI -gränssnitt för att styra ett inspelningsljus med Logic Pro X. Bilden visar ett blockschema över hela systemet från Mac -datorn som kör Logic Pro X till vänster till SainSmart Relay som kommer att användas för att tända och släcka lampan till höger. Logic Pro X använder en funktion som kallas kontrollytor för att skicka MIDI -data när inspelning startas eller stoppas. En USB till MIDI -kabel ansluter datorn till MIDI -gränssnittet för att överföra signalen. Gränssnittet använder ett 6N138 optoisolatorchip för att fysiskt separera MIDI -ingången från datorn och utgången till ett Arduino Uno -styrkort. Förutom hårdvaran och det schematiska diagrammet för MIDI -gränssnittet kommer vi att diskutera programmet eller "Arduino -skissen" som laddats upp till Arduino -styrkortet som används för att tolka MIDI -signalerna från Logic Pro X och därefter slå på och av reläet.

Jag kommer att lägga upp två medföljande videor som täcker detta projekt på min YouTube -kanal (Chris Felten), som kan vara till hjälp för att bygga projektet. Jag kommer också att bädda in dem i slutet av denna handledning. Kolla också in referenserna på den sista sidan i den här instruktionsboken, vilket kommer att vara mycket användbart för att bättre förstå MIDI och gränssnittskretsen

Steg 1: Schematisk

Schematisk
Schematisk

MIDI -ingången till vänster är orienterad som om den ser ut på baksidan av en kvinnlig, chassimonterad MIDI -kontakt där ledningarna kommer att anslutas. Så den främre behållaren på MIDI -kontakten pekar mot skärmen. Stift 4 på MIDI -kontakten är anslutet till ett 220 ohm motstånd, som är anslutet till den bandade sidan av en 1N4148 -diod och till stift 2 på optoisolatorn. Stift 5 på MIDI -kontakten är ansluten till dioden mittemot den bandade sidan och till stift 3 på optoisolatorn. Se till att hitta bandet på den lilla dioden och rikta det korrekt!

Lägg märke till att Arduino Uno -styrkortet ger en 5V -utgång som används för att driva både optoisolatorchipet på stift 8 och SainSmart 2 -kanalreläkortet vid VCC -stiftet. Arduino Uno -marken knyts till stift 5 på optoisolatorn och GND -stiftet på SainSmart Relay Board. Pin 7 på optoisolatorn är bunden till marken genom ett motstånd på 10 000 ohm. Optoisolatorns utgång vid stift 6 är ansluten till stift 2 på Arduino Uno. Några andra liknande kretsscheman kan visa att det går in i stift 0 på Arduino, men vår speciella skiss (program) tilldelar ingången till stift 2. Utgångsstift 7 på Arduino Uno ansluts till IN1 -stiftet på SainSmart -reläkortet.

Bygeln på SainSmart reläkort bör förbli på plats. Reläutgången är mellan de två skruvkontakterna som visas. När lämplig MIDI -signal tas emot kommer Arduino Uno att göra stift 7 positivt (högt) och därmed instruera reläet att stänga och slutföra en krets mellan ett ljus och dess strömkälla och tända lampan. Du kanske vill använda en lågspänningslampa för att inte behöva ta in 110V AC i MIDI -gränssnittskåpet, även om jag tror att SainSmart Relay Board som används i detta projekt är klassat för 110V AC.

Arduino Uno drivs via en fatkontakt som är inbyggd på kortet. En standard 9V väggmonterad strömförsörjning bör räcka. De flesta av dessa kommer med flera fatspetsar, varav en rymmer fatkontakten på Arduino.

Steg 2: Dellista

Lista över delar för MIDI -gränssnittets inspelningslampa:

MIDI-kontakt: Digikey CP-2350-ND

220 Ohm 1/4watt motstånd: Digikey CF14JT220RCT-ND

1N4148-diod: Digikey1N4148-TAPCT-ND (Alternativ: 1N914, 1N916, 1N448

10k Ohm 1/4watt motstånd: Digikey CF14JT10K0CT-ND

470 Ohm 1/4watt motstånd: Digikey CF14JT470RCT-ND (jag använde 2x220 istället)

6N138 Optoisolator: Digikey 751-1263-5-ND (Frys-NTE3093 Part#: 1001023)

Arduino Uno - R3+: OSEPP (OSEPP.com) och Frys: #7224833

SainSmart 2-kanals 5V relämodul: Detta finns på Amazon. Du kan ersätta ett solid state-relä med ingång på 5-12V för tyst drift i studion. Det fysiska reläet är högt.

Brödbräda: Fry’s Electronics eller annat

Bygeltrådar: Fry’s Electronics eller annat. Jag använder SchmartBoard -

9V DC-väggadapter strömförsörjning: Fry eller annan (levererar vanligtvis 600-700mA, kan ofta justeras för att ge olika spänningar 3-12 volt och komma med olika tips. Exempel: Fry's 7742538)

USB-kabel A-B: Används för att ansluta din dator till Arduino-kortet för att ladda upp skissen (program). Fry’s Electronics eller annat

Kapsling: Fry’s Electronics eller annat. Jag använde en låda från Michael’s Arts and Crafts Shop.

Muttrar, bultar och distanser för att montera brädor: Fry’s Electronics eller annat

Inspelningsljus: Vilket ljus som helst fungerar. Helst något med lågspänningsförsörjning så att du inte behöver köra 110V AC i midi -höljesreläet. Jag använde en batteridriven, röd nödlampa som jag hittade billig på yngel, men du kanske vill ha något snyggare.

Steg 3: Arduino Uno

Arduino Uno
Arduino Uno

Till vänster om Arduino Uno -kortet finns en fatkontakt för en 9V strömförsörjning. En enkel väggmonterad strömförsörjning bör räcka (se dellista). Den stora metallporten ovanför strömkontakten är USB-porten för en USB-kabel A-B. Detta ansluter Arduino Uno till din dator så att skissen (programmet) kan laddas upp. När programmet har laddats upp till Arduino Uno kan kabeln kopplas bort. Observera att du vill montera änden av Arduino Uno -kortet med strömkontakten och USB -porten nära sidan av höljet, så att du kan klippa öppningar och ha enkel åtkomst till dem. Du kommer att använda 5V -stiftet och GND -stiften längst ner på bilden för att ge ström till 6N138 optoisolatorchipet och SainSmart Relay Board. Stift 2 som tar emot optoisolatorutgången och stift 7 som går ut till reläet finns högst upp på bilden. SchmartBoard tillverkar bygeltrådar, sidhuvuden och trådhus som kan anslutas till Arduino Uno -kortet. Dessa sidhuvuden och prefabricerade bygeltrådar i olika längder gör det enkelt att fästa de olika modulerna och kan spara lite lödtid. Om du har en Fry's Electronics i närheten kan du bläddra i gången där de har Arduino -enheter och andra små projekt eller robotik för att få en uppfattning om sidhuvuden, bygelkablar och kontakter. Kolla även in:

Steg 4: SainSmart 2-kanals relämodul

SainSmart 2-kanals relämodul
SainSmart 2-kanals relämodul

Utgången från stift 7 på Arduino Uno ansluts till IN1 -stiftet på SainSmart -reläkortet till vänster på bilden. 5V som levereras från Arduino Uno ansluts till VCC. GND -stiften på Arduino Uno och SainSmart Relay Board bör också anslutas ihop. Bygeln på SainSmart Relay Board förblir på plats som visas på bilden. Reläutgången är de två översta skruvkontakterna på toppreläet som det är orienterat i denna bild. De två skruvkontakterna finns längst upp till höger på bilden. En skruvkontakt är ansluten till lampan, som sedan ansluts till ena sidan av lampans strömkälla och sedan tillbaka till den andra skruvkontakten på reläet så att när den stängs, matas ström till lampan och den tänds. Jag kopplade reläutgångsskruvarna till en 1/4 phono -kontakt monterad på höljet, som sedan ansluts till det faktiska ljuset och dess batterikälla. Det gör att jag enkelt kan koppla bort ljuset från gränssnittshöljet.

Denna SainSmart Relay Board är ett fysiskt relä, så det är något högt i inställningen för en inspelningsstudio. Ett tystare alternativ skulle vara att använda ett solid state -relä istället.

Steg 5: Kort MIDI -översikt

MIDI - Musical Instrument Digital Interface

OBS: För en mer detaljerad förklaring av MIDI, kolla in Amanda Gassaei's Instructable om ämnet:

Detta är en kort översikt över MIDI -formatet som ska hjälpa till att förstå hur Arduino -skissen (programmet) använder MIDI -data som skickas av Logic Pro X för att styra reläet och därefter inspelningsljuset.

MIDI -information skickas i byte, som består av 8 bitar ("xxxxxxxx").

I binär är varje bit antingen ett '0' eller ett '1'.

Den första byten är en status- eller kommandobyte, till exempel "NOTE-ON", "NOTE-OFF", "AFTERTOUCH" eller "PITCH BEND". Byte som följer efter kommandobyten är databyte för att ge mer information om kommandot.

Status eller kommando byte börjar alltid med 1: 1sssnnnn

Kommandobyte innehåller data för kommandot i de första 4 bitarna (1sss) och kanalen i de sista 4 bitarna (nnnn).

Låt oss använda en 'NOTE-ON' kommandobyte skickad på kanal 2 som ett exempel:

Om kommandobyten är: 10010001

Byten börjar med ett 1 och tolkas som en kommandobyte

Genom att veta att detta är en kommandobyte, tar MIDI den första halvan som 10010000

Detta = 144 i decimal, vilket är kommandovärdet för 'NOTE-ON'

Den andra halvan av byten tolkas sedan som 00000001

Detta = 1 i decimal, vilket anses vara MIDI -kanal ‘2’

Databyte följer kommandobyte och börjar alltid med 0: 0xxxxxxx

Vid en NOTE-ON-kommandobyte skickas ytterligare 2 databyte. En för PITCH (not) och en för VELOCITY (volym).

Logic Pro X inspelningsljuskontrollyta skickar följande MIDI -data när inspelningen startas eller stoppas:

Startat (tänd): Kommandobyte ‘NOTE-ON’/MIDI-kanal, Pitchbyte ignoreras, hastighetsbyte = 127

Stoppad (släckt): Kommandobyte ‘NOTE-ON’/MIDI-kanal, Pitchbyte ignoreras, hastighetsbyte = 0

Lägg märke till att MIDI-kommandot alltid är "NOTE-ON" och det är hastigheten som ändras för att tända eller stänga av ljuset. Pitch -byten används inte i vår applikation.

Steg 6: Arduino Sketch (program)

Det bifogade dokumentet är en pdf -fil av den faktiska skissen som laddats in i Arduino Uno -kortet för att köra MIDI -gränssnittet. Det finns en MIDI -handledning skriven av Staffan Melin som fungerade som grund för denna skiss på:

libremusicproduction.com/tutorials/arduino-…

Du måste ladda ner den kostnadsfria Arduino-programvaran till din dator (https://www.arduino.cc/) för att redigera och ladda skissen i Arduino Uno-kortet med en USB-kabel A-B.

Jag skapade och lade upp två självstudievideor på min YouTube -kanal (Chris Felten) som går igenom detta projekt och förklarar Arduino -skissen mer detaljerat. Om du är intresserad av att bygga MIDI -gränssnittet och programmera det kan de två associerade videorna vara till hjälp.

Steg 7: Fullbordat gränssnitt

Slutfört gränssnitt
Slutfört gränssnitt
Slutfört gränssnitt
Slutfört gränssnitt

Jag valde att hysa MIDI -gränssnittet i en trälåda från Michael's Arts and Crafts. Medan det är bekvämt och billigt, fungerar trälådan som ett slagverk när det fysiska reläet växlar! Ett solid state -relä skulle vara en bra förbättring för att bli av med omkopplingsbruset.

Lägg märke till Arduino Uno -anslutningarna i slutet av rutan till vänster. Hål klipptes för att ge åtkomst till USB -porten och strömkontakten. Den kvinnliga MIDI -kontakten på chassifästet kan också ses i slutet av lådan.

Det finns också en bild på insidan. Även om projektet enkelt kunde kopplas ihop på en perforerad brödbräda, hade jag extra kopparklädd bräda och etsningsmaterial så jag skapade ett kretskort för projektet. Jag använde prefabricerade bygeltrådar och sidhuvuden från SchmartBoard (https://schmartboard.com/wire-jumpers/) för att ansluta gränssnittskortet, Arduino Uno och SainSmart Relay-kort.

Steg 8: Logic Pro X

Logic Pro X har en funktion som kallas kontrollytor. En av dessa är en inspelningsljuskontrollyta som en gång installerad kommer att skicka MIDI -signaler när inspelning är tillkopplad, startad och stoppad. Du kan installera kontrollytan genom att klicka på 'Logic Pro X' i den övre menyraden följt av 'Control Surfaces' och 'Setup'. Detta öppnar en ny dialogruta. Genom att klicka på rullgardinsmenyn "Installera" kan du hitta inspelningsljuskontrollen i listan och lägga till den. Det är väl värt att ta en titt på min MIDI Controlled Recording Light -video på YouTube för att få en fullständig förklaring av hur jag ställer in parametrarna för Logic Pro X Recording Light Control Surface för att fungera för detta gränssnitt.

Steg 9: Användbara referenser

Skicka och ta emot MIDI med Arduino av Amanda Gassaei:

www.instructables.com/id/Send-and-Receive-M…

Arduino och MIDI i handledning av Staffan Melin:

libremusicproduction.com/tutorials/arduino-…

Rekommenderad: