
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02


Som en ekte musikkelsker og en elektronikk- og informatikkstudent har jeg alltid ønsket å bygge MIDI -enheter som jeg kunne bruke til å lage elektronisk musikk.
Etter å ha deltatt på mange show og musikkfestivaler, begynte jeg å bli veldig interessert i lysshow under forestillinger.
Etter mye forskning har jeg stort sett bare funnet enheter som bruker mikrofon og som ikke kan tillate å kontrollere lysdioder akkurat som du vil.
Ved å bli mer og mer kjent med DAW- og MIDI -signaler, bestemte jeg meg for å komme i gang med dette prosjektet!
Den består av en 3D -struktur med ukorporerte lysdioder, som faktisk styres av MIDI -signaler (NoteOn, NoteOff og CC Messages).
Slik at musikeren kunne kontrollere fargen og intensiteten til hver LED, bare ved å bruke MIDI -signaler, generert av en hvilken som helst DAW.
Med denne ideen ønsket jeg å forbedre kreativiteten gjennom lysshow og la alle bygge sin egen, for å gjøre hver visuell forestilling unik.
Trinn 1: Materialer
I utgangspunktet består dette prosjektet i to deler: en MIDI -mottakskrets og LED -strukturen; og en mikrokontroller for å koble disse delene og "oversette" MIDI -signalene som kommer fra DAW til LED -stripene. Her er en liste over materialene som trengs for hver del.
MIDI mottakskrets:
- 1 x 6N138 optokobler
- 1 x 1N914 diode
- 1 x 5-pins din jack (MIDI Jack)
- 2 x 220 Ohm motstander
- 1 x 4,7K ohm resisor
- 1 USB/MIDI -kontakt
LED -struktur:
Jeg brukte RGB LED -striper basert på WS2812B LED -er som kan styres med bare 1 digital port. Hvis du planlegger å bruke et stort antall lysdioder, må du kanskje bry deg om maksimal strøm som trengs (1 lysdiode kan forbruke maksimalt 60mA). Hvis mikrokontrolleren ikke kan håndtere denne maksimalverdien, trenger du en annen 5V strømforsyning som kan levere nok strøm. Jeg brukte en 5V - 8A AC/DC -adapter med den dedikerte utgangsadapteren og en bryter.
Merk: Det ser ut til at du kan bruke en datamaskinens strømforsyning, ettersom de er kjent for å kunne levere en veldig høy strøm, men du må sørge for at den leverer en stabil 5V likspenning, kanskje ved å bruke en 36 Ohm 5 W effektmotstand mellom bakken (svart) og 5V utgangen (rød) for å gjøre at det er nok strøm gjennom motstanden og dermed gi en stabil 5V.
Til slutt brukte jeg en enkel Arduino Uno med skrueskjerm for å lage koblingen mellom MIDI -signaler og LED -strips.
Trinn 2: Bygg MIDI -inngangskretsen


Hvis du er interessert i hva som er akkurat MIDI -protokollen og hvordan den fungerer, anbefaler jeg deg på det sterkeste å sjekke Notes and Volts YouTube -kanalen der det er mange interessante og innovative opplæringsprogrammer og MIDI Arduino -prosjekter.
I denne delen vil jeg bare fokusere på MIDI Input Circuit. Det kan være lurt å bygge en prototype på et protoboard og sjekke om MIDI -signaler som kommer fra DAW blir godt mottatt av mikrokontrolleren før du går i lodding av komponentene.
De to følgende videoene beskriver hvordan du bygger og tester kretsen:
- Å bygge kretsen
- Tester kretsen
Til slutt kan det også være en god idé å sjekke denne videoen for å forstå CC -meldinger og hvordan automatiseringsklipp kan tolkes av mikrokontrolleren din for eksempel å kontrollere LED -lysstyrken.
Trinn 3: Konfigurere FL Studio (valgfritt)



Ettersom jeg føler meg komfortabel med å bruke FL Studio, vil jeg forklare hvordan jeg riktig konfigurerer MIDI -grensesnittet, men jeg er ganske sikker på at denne prosedyren ikke burde være drastisk annerledes hvis du bruker en annen digital lydarbeidsstasjon.
Først må du bare koble USB/MIDI -kontakten til datamaskinen. Vanligvis kommer slike enheter med en innebygd fastvare og blir gjenkjent som MIDI -enheter, selv om de er unpleggud. Åpne deretter vinduet "Innstillinger" (ved å trykke F10). Hvis alt fungerer som det skal, vil du legge merke til noen utgående MIDI -enheter i utdataseksjonen. Velg enheten din og kontroller at den er PÅ.
Deretter må du definere portnummeret ditt og huske det (for eksempel 0). Bare lukk dette vinduet (parametrene lagres automatisk) og legg deretter til en ny kanal: MIDI Out.
Det siste du må gjøre er å definere porten til denne nye kanalen: sørg for å velge det samme portnummeret du definerte i "Innstillinger" -delen: ved å gjøre dette er MIDI -meldingene som kommer fra kanalen din nå koblet til MIDI -utgangen.
Når en tone spilles av MIDI Out -kanalen, vil en "NoteOn" -melding bli sendt gjennom MIDI -grensesnittet. På samme måte vil en "NoteOff" -melding bli sendt når notatet slippes.
En annen interessant funksjon som følger med MIDI Out -kanalen, er muligheten til å kontrollere forskjellige parametere med potensiometre. Ved å høyreklikke på en av dem og velge "Konfigurer …", kan du få dem til å sende CCMessages (en verdi som går fra 0 til 127) som skal brukes til å kontrollere lysdioder for LED: velg CC og deretter Godta.
Normalt er FL Studio nå klar til å sende data til ditt MIDI -grensesnitt! Den neste er å skrive koden for å blinke i Arduino og tilpasse den til din LED -struktur.
Trinn 4: Koble til lysdiodene

Å koble til LED -stripene er ganske enkelt, siden de bare krever +5V, GND og Data. Da jeg planla å koble til mer enn 20 av dem, bestemte jeg meg imidlertid for å bruke flere Arduino PWM -pinner og deklarere flere forekomster av Adafruit_NeoPixel (i coe) for å unngå enhver form for utilsiktet forsinkelse.
Det vedlagte bildet har også til hensikt å forklare hvordan elektronikken fungerer:
- LED -strimler drives direkte av strømforsyningen.
- En strømbryter brukes til å drive Arduino
- MIDI -inngangskretsen drives av Arduino når du slår på bryteren
Trinn 5: Utforme 3D -strukturen




Så langt var denne delen den lengste siden jeg var helt ny med 3D-utskrift (og modellering). Jeg ønsket å designe en struktur som så ut som et halvt eksplodert avkortet icosahedron (ja, det tok litt tid å finne det eksakte navnet på formen).
Selvfølgelig står du fritt til å designe din egen modell med den formen du vil ha! Jeg vil ikke detaljere modelleringsprosessen, men du finner STL -filene hvis du vil designe denne strukturen.
Monteringen av de forskjellige delene tok litt tid, da jeg måtte sette en LED i hvert ansikt og koble dem sammen ved å lodde et stort antall ledninger inne i kjernen som for tiden er ganske rotete!
Merk: Hvis du vil designe en slik struktur, trenger du 10 sekskantede stykker (ca. 3 timer hver med en PP3DP UP mini -skriver) og 6 femkantede stykker (2 timer).
Når det er én LED i hver del, må du koble hver 5V- og GND -terminal sammen og koble de flere inngangs- og utgangsterminalene til hver LED slik du skal koble dem til.
Til slutt brukte jeg LED diffusiv akryl for å dekke hvert ansikt og få dem til å lyse jevnt.
Alt som er igjen etter det er koden, som viser seg å ikke være så komplisert!
Trinn 6: Koden

Som jeg nevnte det i forrige del, avslører koden å være ganske enkel!
Faktisk består den bare i én MIDI -forekomst og flere Adafruit_NeoPixel -forekomster (så mye som det er forskjellige strimler).
I utgangspunktet, når den er deklarert, fungerer MIDI -klassen med slags "avbrudd": NoteOn, NoteOff og CCMessage. Når MIDI -inngangen cicruit sender et av de spesifikke signalene til Arduino, kalles den assosierte subrutinen. Alt som koden gjør er å slå på en bestemt LED på NoteOn -signalet, skru den ned på det tilknyttede NoteOff -signalet og oppdatere lysstyrken til en stripe på CCMessage.
Jeg definerte også en enkel funksjon som gir mulighet til å velge fargen på lysdiodene ved å lese hastigheten som kommer med NoteOn -signalet, og hver LED kan da enten være rød, lilla, blå, turkis, grønn, gul, oransje eller hvit, avhengig av hastighetsverdien fra 0 til 127.
En viktig ting å legge merke til er at du må koble fra RX -pinnen (som kommer fra MIDI -inngangskretsen) når du laster opp skissen din da seriell port (brukt under denne prosessen) er koblet til den pinnen!
Trinn 7: Hva nå?
Jeg jobber for tiden med et tilpasset kabinett for å bygge inn all elektronikk, og jeg tenker også på et navn på strukturen! Gi meg beskjed hvis du likte dette prosjektet, og jeg jobber med forskjellige serier da jeg planlegger å oppdatere denne instruerbare med flere videoer!
Anbefalt:
Bygg en Arduino MIDI -kontroller: 5 trinn (med bilder)

Bygg en Arduino MIDI -kontroller: Hei alle sammen! I denne instruksen vil jeg vise deg hvordan du bygger din egen Arduino -drevne MIDI -kontroller. MIDI står for Musical Instrument Digital Interface, og det er en protokoll som lar datamaskiner, musikkinstrumenter og annen maskinvare kommunisere
MIDI håndtak med 19 tonefelt på øvre og nedre side : 15 trinn (med bilder)

MIDI håndpanel med 19 tonefelter på øvre og nedre side …: Innledning Dette er en opplæring av mitt skreddersydde MIDI håndpanel med 19 volumfølsomme tonefelter, Plug'n Play USB -funksjoner og mange brukervennlige parametere for justering av putene. for dine individuelle behov. Det er ikke en designprisvinnende modell
MIDI Sonar "Theremin": 10 trinn (med bilder)

MIDI Sonar "Theremin": Dette er et musikkinstrument som bruker to sonaravstandssensorer for å kontrollere tonehøyde og kvalitet på notene. Det er egentlig ikke en Theremin selvfølgelig, men " Theremin " har blitt det generiske uttrykket for instrumenter spilt ved å vinke med hendene
LED -formørkelse med berøringssensorer og MIDI: 9 trinn (med bilder)

LED -formørkelse med berøringssensorer og MIDI: LED -formørkelsen er et interaktivt instrument med lysdioder, kapasitive berøringssensorer og en MIDI -utgang som alle styres med en Arduino Uno. Du kan programmere enheten på mange forskjellige måter. I alle applikasjoner er ideen omtrent den samme:
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