Innholdsfortegnelse:

MIDI -kontrollert LED -struktur: 7 trinn
MIDI -kontrollert LED -struktur: 7 trinn

Video: MIDI -kontrollert LED -struktur: 7 trinn

Video: MIDI -kontrollert LED -struktur: 7 trinn
Video: Драм-секвенсор Arduino: 8 дорожек, 16 шагов на такт, 8 тактов на паттерн 2024, Juli
Anonim
Image
Image

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

Bygging av MIDI Input Circuit
Bygging av MIDI Input Circuit
Bygging av MIDI Input Circuit
Bygging av MIDI Input Circuit

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)

Konfigurere FL Studio (valgfritt)
Konfigurere FL Studio (valgfritt)
Konfigurere FL Studio (valgfritt)
Konfigurere FL Studio (valgfritt)
Konfigurere FL Studio (valgfritt)
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 lysdiodene
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

Design av 3D -strukturen
Design av 3D -strukturen
Design av 3D -strukturen
Design av 3D -strukturen
Design av 3D -strukturen
Design av 3D -strukturen
Design av 3D -strukturen
Design av 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

Koden
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: