Innholdsfortegnelse:
- Trinn 1: Skjematisk
- Trinn 2: Deleliste
- Trinn 3: Arduino Uno
- Trinn 4: SainSmart 2-kanals relemodul
- Trinn 5: Kort MIDI -oversikt
- Trinn 6: Arduino Sketch (program)
- Trinn 7: Fullført grensesnitt
- Trinn 8: Logic Pro X
- Trinn 9: Nyttige referanser
Video: Midi -kontrollert opptakslys for Logic Pro X: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
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
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
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
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:
Arduino UNO Logic Sniffer: 8 trinn (med bilder)
Arduino UNO Logic Sniffer: Dette prosjektet startet som et enkelt eksperiment. Under min undersøkelse av ATMEGA328Ps datablad for et annet prosjekt, fant jeg noe ganske interessant. Timer1 Input Capture Unit. Det lar vår Arduino UNOs mikrokontroller oppdage et signal
Arduino Nano Logic Probe: 17 trinn (med bilder)
Arduino Nano Logic Probe: Dette prosjektet er en ny versjon av min Arduino Logic Probe, men nå konstruert med en Arduino Nano i stedet for en Arduino Uno. En tresifret skjerm, noen få motstander og Arduino Nano er praktisk talt komponentene i dette interessante prosjektet som alle
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
TTL Logic Level Tester Pen: 5 trinn (med bilder)
TTL Logic Level Tester Pen: Polarity Tester Pen & TTL Logic Level Tester Pen. Denne polaritetstesterpennen er litt annerledes fordi den er i stand til å teste TTL -nivåer og viser status på et 7 -segmenters display med bokstavene: " H " (Høy) for logisk nivå "
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: 7 trinn (med bilder)
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: Denne kontrolleren blinker trefargede LED stripelys for 50mS per note. Blå for G5 til D#6, rød for E6 til B6 og grønn for C7 til G7. Kontrolleren er en ALSA MIDI -enhet, slik at MIDI -programvare kan mates ut til lysdiodene samtidig som en MIDI -synthenhet