Indholdsfortegnelse:

MIDI -kontrolleret LED -struktur: 7 trin
MIDI -kontrolleret LED -struktur: 7 trin

Video: MIDI -kontrolleret LED -struktur: 7 trin

Video: MIDI -kontrolleret LED -struktur: 7 trin
Video: Drawing a Synthesizer in MIDI - Live! 2024, November
Anonim
Image
Image

Som en ægte musikelsker og en elektronisk og datalogistuderende har jeg altid ønsket at bygge MIDI -enheder, som jeg kunne bruge til oprettelse af elektronisk musik.

Efter at have deltaget i mange shows og musikfestivaler, begyndte jeg at blive virkelig interesseret i lysshows under forestillinger.

Efter en masse research har jeg stort set kun fundet enheder, der bruger mikrofon og ikke kunne tillade at styre lysdioder præcis, som du vil.

Ved at blive mere og mere fortrolig med DAW- og MIDI -signaler besluttede jeg mig for at komme i gang med dette projekt!

Den består af en 3D -struktur med ukorporerede lysdioder, der faktisk styres af MIDI -signaler (NoteOn, NoteOff og CC Messages).

Så det kunne musikeren kontrollere farven og intensiteten af hver LED, kun ved hjælp af MIDI -signaler, genereret af enhver DAW.

Med denne idé ville jeg øge kreativiteten gennem lysshows og give alle mulighed for at bygge sin egen, for at gøre enhver visuel forestilling unik.

Trin 1: Materialer

Grundlæggende består dette projekt i to dele: et MIDI -modtagelseskredsløb og LED -strukturen; og en mikrokontroller til at forbinde disse dele og "oversætte" MIDI -signalerne fra DAW til LED -strimlerne. Her er en liste over de nødvendige materialer til hver del.

MIDI modtagelseskredsløb:

  • 1 x 6N138 optokobler
  • 1 x 1N914 diode
  • 1 x 5-pins din jack (MIDI jack)
  • 2 x 220 Ohm modstande
  • 1 x 4,7K Ohm resisor
  • 1 USB/MIDI -stik

LED struktur:

Jeg brugte RGB LED -strimler baseret på WS2812B LED'er, der kun kan styres med kun 1 digital port. Hvis du planlægger at bruge et stort antal lysdioder, skal du muligvis bekymre dig om den maksimale nødvendige strøm (1 LED kan højst forbruge 60mA). Hvis mikrokontrolleren ikke kan håndtere denne maksimale værdi, skal du bruge en anden 5V strømforsyning, der kan levere nok strøm. Jeg brugte en 5V - 8A AC/DC -adapter med den dedikerede outputadapter og en switch.

Bemærk: Det ser ud til, at du kan bruge en computers strømforsyning, da de er kendt for at kunne levere en virkelig høj strøm, men du skal sørge for, at den leverer en stabil 5V DC -spænding, måske ved at bruge en 36 Ohm 5 Watt effektmodstand mellem jorden (sort) og 5V -udgangen (rød) til at sikre, at der er nok strøm gennem modstanden og dermed give en stabil 5V.

Endelig brugte jeg en simpel Arduino Uno med et skrueskærm til at lave forbindelsen mellem MIDI -signaler og LED -strips.

Trin 2: Opbygning af MIDI Input Circuit

Opbygning af MIDI Input Circuit
Opbygning af MIDI Input Circuit
Opbygning af MIDI Input Circuit
Opbygning af MIDI Input Circuit

Hvis du er interesseret i, hvad der præcist er MIDI -protokollen, og hvordan den fungerer, kan jeg varmt anbefale dig at tjekke Notes and Volts YouTube -kanalen, hvor der er mange interessante og innovative tutorials og MIDI Arduino -projekter.

I denne del vil jeg kun fokusere på MIDI Input Circuit. Det kan være en god idé at bygge en prototype på et protoboard og kontrollere, om MIDI -signaler, der kommer fra DAW, bliver godt modtaget af mikrokontrolleren, før de går i gang med at lodde komponenterne.

De følgende to videoer beskriver, hvordan man bygger og tester kredsløbet:

  • Bygger kredsløbet
  • Test af kredsløbet

Endelig kan det også være en god idé at tjekke denne video for at forstå CC -meddelelser, og hvordan automatiseringsklip kan tolkes af din mikrokontroller til f.eks. At styre LED -lysstyrke.

Trin 3: Konfiguration af FL Studio (valgfrit)

Konfiguration af FL Studio (valgfrit)
Konfiguration af FL Studio (valgfrit)
Konfiguration af FL Studio (valgfrit)
Konfiguration af FL Studio (valgfrit)
Konfiguration af FL Studio (valgfrit)
Konfiguration af FL Studio (valgfrit)

Da jeg føler mig tryg ved at bruge FL Studio, vil jeg forklare, hvordan jeg korrekt konfigurerer sit MIDI -interface, men jeg er temmelig sikker på, at denne procedure ikke burde være drastisk anderledes, hvis du bruger en anden Digital Audio Workstation.

Først skal du bare tilslutte USB/MIDI -stikket til din computer. Normalt leveres sådanne enheder med en indlejret firmware og genkendes som MIDI -enheder, selvom de er unpleggud. Åbn derefter vinduet "Indstillinger" (ved at trykke på F10). Hvis alt fungerer korrekt, vil du bemærke nogle output MIDI -enheder i output -sektionen. Vælg din enhed, og sørg for, at den er tændt.

Derefter skal du definere dit portnummer og huske det (f.eks. 0). Bare luk dette vindue (parametre gemmes automatisk) og tilføj derefter en ny kanal: MIDI Out.

Derefter er det sidste, du skal gøre, at definere porten til denne nye kanal: Sørg for at vælge det samme portnummer, som du definerede i sektionen "Indstillinger": ved at gøre dette er MIDI -meddelelser, der kommer fra din kanal, nu forbundet til MIDI -udgangen.

Når en note afspilles af MIDI Out -kanalen, sendes der en "NoteOn" -meddelelse via MIDI -grænsefladen. På samme måde vil der blive sendt en "NoteOff" -meddelelse, når noten frigives.

En anden interessant funktion, der følger med MIDI Out -kanalen, er muligheden for at styre forskellige parametre med potentiometre. Ved at højreklikke på en af dem og vælge "Konfigurer …", kan du få dem til at sende CCMessages (en værdi, der går fra 0 til 127), der vil blive brugt til at styre LED'ernes lysstyrke: vælg CC og derefter Accepter.

Normalt er FL Studio nu klar til at sende data til dit MIDI -interface! Den næste er at skrive koden til at blinke i Arduino og tilpasse den til din LED -struktur.

Trin 4: Tilslutning af lysdioderne

Tilslutning af lysdioderne
Tilslutning af lysdioderne

Tilslutning af LED -strips er ganske enkelt, da de bare kræver +5V, GND og Data. Da jeg planlagde at forbinde mere end 20 af dem, besluttede jeg mig for at bruge flere Arduino PWM -stifter og erklære flere forekomster af Adafruit_NeoPixel (i køen) for at undgå enhver form for utilsigtet forsinkelse.

Det vedhæftede billede har også til hensigt at forklare, hvordan elektronikken fungerer:

  • LED -strimler drives direkte af strømforsyningen.
  • En afbryder bruges til at drive Arduino
  • MIDI -indgangskredsløbet drives af Arduino, når kontakten tændes

Trin 5: Design af 3D -strukturen

Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen
Design af 3D -strukturen

Indtil videre var denne del den længste, da jeg var helt ny med 3D-print (og modellering). Jeg ville designe en struktur, der lignede en halv eksploderet afkortet icosahedron (ja, det tog mig noget tid at finde det nøjagtige navn på formen).

Du er selvfølgelig fri til at designe din egen model med den form, du ønsker! Jeg vil ikke beskrive modelleringsprocessen, men du finder STL -filerne, hvis du vil designe denne struktur.

Samlingen af de forskellige dele tog noget tid, da jeg var nødt til at sætte en LED i hvert ansigt og forbinde dem alle ved at lodde et stort antal ledninger inde i kernen, der i øjeblikket er ret rodet!

Bemærk: Hvis du vil designe en sådan struktur, skal du bruge 10 sekskantede stykker (ca. 3 timer hver ved hjælp af en PP3DP UP mini -printer) og 6 femkantede stykker (2 timer).

Når der er en LED i hver del, skal du forbinde hver 5V- og GND -terminaler sammen og tilslutte flere input- og output -terminaler på hver LED på den måde, du skal tilsluttes.

Endelig brugte jeg LED diffusiv akryl til at dække hvert ansigt og få dem til at lyse konsekvent.

Det eneste, der er tilbage efter det, er koden, som viser sig ikke at være så kompliceret!

Trin 6: Koden

Koden
Koden

Som jeg nævnte det i den foregående del, afslører koden at være ganske enkel!

Faktisk består den kun i én MIDI -instans og flere Adafruit_NeoPixel -forekomster (lige så meget som der er forskellige strimler).

Grundlæggende fungerer MIDI -klassen, når den først er erklæret, med slags "afbrydelser": NoteOn, NoteOff og CCMessage. Når MIDI -input cicruit sender et af de specifikke signaler til Arduino, kaldes den associerede underprogram. Derefter er alt, hvad koden gør, at tænde en bestemt LED på NoteOn -signal, skrue det ned på det tilknyttede NoteOff -signal og opdatere lysstyrken på en strimmel på CCMessage.

Jeg definerede også en enkel funktion, der giver mulighed for at vælge farven på lysdioderne ved at aflæse hastigheden, der følger med NoteOn -signalet, og hver LED kan derefter enten være rød, lilla, blå, turkis, grøn, gul, orange eller hvid, afhængig af hastighedsværdien fra 0 til 127.

En vigtig ting at bemærke er, at du bliver nødt til at afbryde RX -stiften (der kommer fra MIDI -indgangskredsløbet), når du uploader din skitse, da den serielle port (brugt under denne proces) er forbundet til den pin!

Trin 7: Hvad nu?

Jeg arbejder i øjeblikket på et tilpasset kabinet til at integrere al elektronik, og jeg tænker også på et navn til strukturen! Lad mig vide, hvis du nød dette projekt, og jeg arbejder på forskellige shows, da jeg planlægger at opdatere dette instruerbare med flere videoer!

Anbefalede: