Innholdsfortegnelse:

Midi -kontrollert opptakslys for Logic Pro X: 9 trinn (med bilder)
Midi -kontrollert opptakslys for Logic Pro X: 9 trinn (med bilder)

Video: Midi -kontrollert opptakslys for Logic Pro X: 9 trinn (med bilder)

Video: Midi -kontrollert opptakslys for Logic Pro X: 9 trinn (med bilder)
Video: Midi, Maxi & Efti - Ragga Steady 2024, Juli
Anonim
Midi -kontrollert opptakslys for Logic Pro X
Midi -kontrollert opptakslys for Logic Pro X

Denne opplæringen gir informasjon om hvordan du bygger og programmerer et grunnleggende MIDI -grensesnitt for å kontrollere et opptakslys av Logic Pro X. Bildet viser et blokkdiagram over hele systemet fra Mac -datamaskinen som kjører Logic Pro X til venstre til SainSmart Relay som brukes til å slå lyset av og på til høyre. Logic Pro X bruker en funksjon som kalles kontrollflater for å sende MIDI -data når opptak startes eller stoppes. En USB til MIDI -kabel kobler datamaskinen til MIDI -grensesnittet for å overføre signalet. Grensesnittet bruker en 6N138 optoisolator -brikke til fysisk å skille MIDI -inngangen fra datamaskinen og utgangen til et Arduino Uno -styrekort. I tillegg til maskinvaren og skjematisk diagram over MIDI -grensesnittet, vil vi diskutere programmet eller "Arduino -skissen" lastet opp til Arduino -kontrollerkortet som brukes til å tolke MIDI -signalene fra Logic Pro X og deretter slå reléet på og av.

Jeg legger ut to medfølgende videoer som dekker dette prosjektet på min YouTube -kanal (Chris Felten), som kan være til hjelp for å bygge prosjektet. Jeg vil også legge dem inn på slutten av denne opplæringen. Sjekk også referansene på den siste siden av denne instruksjonsboken, som vil være ekstremt nyttig for å bedre forstå MIDI og grensesnittkretsen

Trinn 1: Skjematisk

Skjematisk
Skjematisk

MIDI -inngangen til venstre er orientert som om den ser ut på baksiden av en kvinnelig, chassis -montert MIDI -kontakt der ledningene skal kobles til. Så den fremre kontakten til MIDI -kontakten peker mot skjermen. Pinne 4 på MIDI -kontakten er koblet til en 220 ohm motstand, som er koblet til den båndede siden av en 1N4148 -diode og til pinne 2 på optoisolatoren. Pinne 5 på MIDI -kontakten er koblet til dioden overfor den båndede siden og til pinne 3 på optoisolatoren. Sørg for å finne båndet på den lille dioden og orienter det riktig!

Legg merke til at Arduino Uno -kontrollerkortet gir en 5V -utgang som brukes til å drive både optoisolatorbrikken på pin 8 og SainSmart 2 Channel Relay Board på VCC -pinnen. Arduino Uno -jordingen binder seg til pin 5 på optoisolatoren og GND -pin på SainSmart Relay Board. Pin 7 på optoisolatoren er bundet til bakken gjennom en 10 000 ohm motstand. Utgangen fra optoisolatoren på pin 6 er koblet til pin 2 på Arduino Uno. Noen andre lignende kretsskjemaer kan vise at den går inn i pin 0 på Arduino, men vår spesielle skisse (program) tilordner inngangen til pin 2. Output pin 7 på Arduino Uno kobles til IN1 pin på SainSmart relékort.

Hopperen på SainSmart Relay Board bør forbli på plass. Reléutgangen er mellom de to skrukontaktene som vist. Når det riktige MIDI -signalet mottas, vil Arduino Uno gjøre pin 7 positiv (høy) og derved instruere reléet om å lukke og fullføre en krets mellom et lys og dets strømkilde og slå på lyset. Det kan være lurt å bruke et lavspenningslys for ikke å måtte bringe 110V AC inn i MIDI -grensesnittet, selv om jeg tror SainSmart Relay Board som ble brukt i dette prosjektet, er vurdert til 110V AC.

Arduino Uno drives av en fatkontakt som er bygget på brettet. En standard 9V veggmontert strømforsyning bør være tilstrekkelig. De fleste av disse kommer med flere fatspisser, hvorav den ene vil inneholde fatkontakten på Arduino.

Trinn 2: Deleliste

Deleliste for opptakslampen for MIDI -grensesnittet:

MIDI-kontakt: Digikey CP-2350-ND

220 Ohm 1/4watt motstand: Digikey CF14JT220RCT-ND

1N4148 diode: Digikey1N4148-TAPCT-ND (Alternativer: 1N914, 1N916, 1N448

10k Ohm 1/4watt motstand: Digikey CF14JT10K0CT-ND

470 Ohm 1/4watt motstand: Digikey CF14JT470RCT-ND (jeg brukte 2x220 i stedet)

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

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

SainSmart 2-kanals 5V relemodul: Dette finnes på Amazon. Du kan erstatte et solid state-relé med inngang på 5-12V for stille drift i studioet. Det fysiske stafetten er høyt.

Brødbrett: Fry’s Electronics eller annet

Jumperwires: Fry’s Electronics eller annet. Jeg bruker SchmartBoard -

9V DC veggadapter strømforsyning: Frys eller annet (Leveres vanligvis 600-700mA, kan ofte justeres for å gi forskjellige spenninger 3-12 volt og komme med forskjellige tips. Eksempel: Fry's 7742538)

USB-kabel A-B: Brukes til å koble datamaskinen til Arduino-kortet for å laste opp skissen (program). Fry’s Electronics eller annet

Vedlegg: Fry’s Electronics eller annet. Jeg brukte en eske fra Michael’s Arts and Crafts Shop.

Nøtter, bolter og avstandsstykker for montering av brett: Fry’s Electronics eller annet

Opptakslys: Ethvert lys vil fungere. Fortrinnsvis noe med lavspenningsforsyning, slik at du ikke trenger å kjøre 110V AC inn i midi -kabinettreléet. Jeg brukte et batteridrevet, rødt nødlys som jeg fant billig på yngel, men du vil kanskje ha noe mer avansert.

Trinn 3: Arduino Uno

Arduino Uno
Arduino Uno

På venstre side av Arduino Uno -kortet er en fatkontakt for en 9V strømforsyning. En enkel veggmontert strømforsyning bør være tilstrekkelig (se deleliste). Den store metallporten over strømkontakten er USB-porten for en USB-kabel AB. Dette kobler Arduino Uno til datamaskinen din slik at skissen (programmet) kan lastes opp. Når programmet er lastet opp til Arduino Uno, kan kabelen kobles fra. Vær oppmerksom på at du vil montere enden av Arduino Uno -kortet med strømkontakten og USB -porten nær siden av kabinettet, slik at du kan kutte åpninger og ha lett tilgang til dem. Du vil bruke 5V -pinnen og GND -pinnene langs bunnen av bildet for å gi strøm til 6N138 optoisolatorbrikken og SainSmart Relay Board. Pin 2 som mottar optoisolatorutgangen og pin 7 som går ut til reléet er øverst på bildet. SchmartBoard lager hoppetråder, toppskiver og ledningshus som kan kobles til Arduino Uno -kortet. Disse hodene og prefabrikkerte jumpertrådene i forskjellige lengder gjør det enkelt å feste de forskjellige modulene og kan spare litt loddetid. Hvis du har en Fry's Electronics i nærheten, kan du bla gjennom gangen der de har Arduino -enheter og andre små prosjekter eller robotikk for å få en ide om topptekstene, hoppetrådene og kontaktene. Sjekk også ut:

Trinn 4: SainSmart 2-kanals relemodul

SainSmart 2-kanals relemodul
SainSmart 2-kanals relemodul

Utgangen fra pinne 7 på Arduino Uno kobles til IN1 -pinnen på SainSmart Relay Board til venstre på bildet. 5v levert fra Arduino Uno kobles til VCC. GND -pinnene på Arduino Uno og SainSmart Relay Board bør også kobles sammen. Hopperen på SainSmart Relay Board forblir på plass som vist på bildet. Reléutgangen er de to øverste skruekontaktene på toppreléet slik det er orientert i dette bildet. De to skruekontaktene er øverst til høyre på bildet. Den ene skruekontakten er koblet til lyset, som deretter er koblet til den ene siden av lysets strømkilde og deretter tilbake til den andre skruekontakten på reléet, slik at når det lukkes, blir det tilført strøm til lyset og det lyser. Jeg koblet reléutgangsskruene til en 1/4 phono -plugg montert på kabinettet, som deretter kobles til det faktiske lyset og batteriets strømkilde. Det gjør at jeg enkelt kan koble lyset fra grensesnittet.

Dette SainSmart Relay Board er et fysisk relé, så det er noe høyt i settet til et innspillingsstudio. Et roligere alternativ ville være å bruke et solid state relé i stedet.

Trinn 5: Kort MIDI -oversikt

MIDI - Musical Instrument Digital Interface

MERK: For en mer detaljert forklaring av MIDI, sjekk Amanda Gassaei's Instructable om emnet:

Dette er en kort oversikt over MIDI -formatet som skal hjelpe til å forstå hvordan Arduino -skissen (programmet) bruker MIDI -dataene som er sendt av Logic Pro X til å kontrollere reléet og deretter opptakslyset.

MIDI -informasjon sendes i byte, som består av 8 bits (‘xxxxxxxx’).

I binær er hver bit enten en ‘0’ eller en ‘1’.

Den første byten er en status- eller kommandobyte, for eksempel "NOTE-ON", "NOTE-OFF", "AFTERTOUCH" eller "PITCH BEND". Byteene som følger etter kommandobyten er databyte for å gi mer informasjon om kommandoen.

Status- eller kommandobyte starter alltid med 1: 1sssnnnn

Kommandobyte inneholder data for kommandoen i de første 4 bitene (1sss) og kanalen i de siste 4 bitene (nnnn).

La oss bruke en ‘NOTE-ON’ kommandobyte sendt på kanal 2 som et eksempel:

Hvis kommandobyten er: 10010001

Byten starter med en 1 og tolkes som en kommandobyte

Når vi vet at dette er en kommandobyte, tar MIDI første halvdel som 10010000

Dette = 144 i desimal, som er kommandoverdien for ‘NOTE-ON’

Den andre halvdelen av byten blir deretter tolket som 00000001

Dette = 1 i desimal, som regnes som MIDI -kanal ‘2’

Databyte følger kommandobyte og starter alltid med 0: 0xxxxxxx

I tilfelle av en NOTE-ON-kommandobyte, sendes ytterligere 2 databyte. En for PITCH (note) og en for VELOCITY (volum).

Logic Pro X opptakslys kontrollflate sender følgende MIDI -data når opptak startes eller stoppes:

Startet (lyser på): Kommandobyte ‘NOTE-ON’/MIDI-kanal, pitchbyte ignoreres, hastighetsbyte = 127

Stoppet (lyser av): Kommandobyte ‘NOTE-ON’/MIDI-kanal, pitchbyte ignoreres, hastighetsbyte = 0

Legg merke til at MIDI-kommandoen alltid er ‘NOTE-ON’ og at det er hastigheten som endres for å slå lyset på eller av. Pitch -byte brukes ikke i applikasjonen vår.

Trinn 6: Arduino Sketch (program)

Det vedlagte dokumentet er en pdf -fil av selve skissen lastet inn i Arduino Uno -kortet for å kjøre MIDI -grensesnittet. Det er en MIDI -opplæring skrevet av Staffan Melin som tjente som grunnlag for denne skissen på:

libremusicproduction.com/tutorials/arduino-…

Du må laste ned gratis Arduino-programvare til datamaskinen din (https://www.arduino.cc/) for å redigere og laste skissen inn i Arduino Uno-kortet ved hjelp av en USB-kabel AB.

Jeg har også laget og lagt ut to opplæringsvideoer på YouTube -kanalen min (Chris Felten) som går over dette prosjektet og forklarer Arduino -skissen mer detaljert. Hvis du er interessert i å bygge MIDI -grensesnittet og programmere det, kan de to tilhørende videoene være til hjelp.

Trinn 7: Fullført grensesnitt

Fullført grensesnitt
Fullført grensesnitt
Fullført grensesnitt
Fullført grensesnitt

Jeg valgte å huse MIDI -grensesnittet i en trekasse fra Michael's Arts and Crafts. Mens den er praktisk og billig, fungerer treboksen som et slagverk når det fysiske reléet bytter! Et solid state relé ville være en verdig forbedring for å bli kvitt koblingsstøyen.

Legg merke til Arduino Uno -tilkoblingene på enden av esken til venstre. Hull ble kuttet for å gi tilgang til USB -porten og strømkontakten. Den kvinnelige MIDI -kontakten på chassiset kan også sees på enden av esken.

Det er også et bilde av innsiden. Selv om prosjektet enkelt kunne kobles sammen på et perforert brødbrett, hadde jeg reserveplater av kobber og etsemateriale, så jeg laget et kretskort for prosjektet. Jeg brukte prefabrikkerte jumperwires og headers fra SchmartBoard (https://schmartboard.com/wire-jumpers/) for å koble til grensesnittkortet, Arduino Uno og SainSmart Relay board.

Trinn 8: Logic Pro X

Logic Pro X har en funksjon som kalles kontrollflater. En av disse er en kontrollflate for opptakslys som en gang installert vil sende MIDI -signaler når opptaket er tilkoblet, startet og stoppet. Du kan installere kontrolloverflaten ved å klikke på 'Logic Pro X' på den øverste menylinjen etterfulgt av 'Control Surfaces' og 'Setup'. Dette vil åpne en ny dialogboks. Ved å klikke på rullegardinmenyen 'Installer', finner du kontrollampen Recording Light i listen og legger den til. Det er vel verdt å ta en titt på min MIDI Controlled Recording Light -video på YouTube for å få en fullstendig forklaring på hvordan du konfigurerer parametrene for Logic Pro X Recording Light Control Surface for å fungere for dette grensesnittet.

Trinn 9: Nyttige referanser

Send og motta MIDI med Arduino av Amanda Gassaei:

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

Arduino og MIDI i opplæring av Staffan Melin:

libremusicproduction.com/tutorials/arduino-…

Anbefalt: