Innehållsförteckning:

MIDI -kontrollerad LED -struktur: 7 steg
MIDI -kontrollerad LED -struktur: 7 steg

Video: MIDI -kontrollerad LED -struktur: 7 steg

Video: MIDI -kontrollerad LED -struktur: 7 steg
Video: 8x8x8 LED CUBE WITH ARDUINO UNO 2024, Juli
Anonim
Image
Image

Som en sann musikälskare och en elektronik- och datavetenskapstudent har jag alltid velat bygga MIDI -enheter som jag kunde använda för att skapa elektronisk musik.

Efter att ha deltagit i många shower och musikfestivaler började jag bli riktigt intresserad av ljusshower under föreställningar.

Efter mycket forskning har jag mest bara hittat enheter som använder mikrofon och inte kan styra lysdioder exakt som du vill.

Genom att bli mer och mer bekant med DAW- och MIDI -signaler bestämde jag mig för att börja med detta projekt!

Den består av en 3D -struktur med inkoroporerade lysdioder, som faktiskt styrs av MIDI -signaler (NoteOn, NoteOff och CC Messages).

Så att musikerna kunde styra färgen och intensiteten på varje LED, bara genom att använda MIDI -signaler, genererade av valfri DAW.

Med denna idé ville jag öka kreativiteten genom ljusshow och låta alla bygga sin egen, för att göra varje visuell föreställning unik.

Steg 1: Material

I grund och botten består detta projekt av två delar: en MIDI -mottagningskrets och LED -strukturen; och en mikrokontroller för att länka dessa delar och "översätta" MIDI -signalerna som kommer från DAW till LED -remsorna. Här är en lista över material som behövs för varje del.

MIDI -mottagningskrets:

  • 1 x 6N138 optokopplare
  • 1 x 1N914 -diod
  • 1 x 5-pins din jack (MIDI Jack)
  • 2 x 220 Ohm motstånd
  • 1 x 4,7K Ohm Resisor
  • 1 USB/MIDI -uttag

LED -struktur:

Jag använde RGB LED -remsor baserade på WS2812B LED -lampor som kan styras med endast en digital port. Om du planerar att använda ett stort antal lysdioder kan du behöva bry dig om den maximala ström som behövs (1 lysdiod kan förbruka högst 60mA). Om mikrokontrollern inte kan hantera detta maximivärde behöver du ytterligare en 5V strömförsörjning som kan leverera tillräckligt med ström. Jag använde en 5V - 8A AC/DC -adapter med den dedikerade utgångsadaptern och en omkopplare.

Obs: Det verkar som att du kan använda en datorns nätaggregat, eftersom de är kända för att kunna leverera en riktigt hög ström, men du måste se till att den levererar en stabil 5V likspänning, kanske genom att använda en 36 Ohm 5 Watt effektmotstånd mellan marken (svart) och 5V -utgången (röd) för att få tillräckligt med ström att gå genom motståndet och därmed ge en stabil 5V.

Slutligen använde jag en enkel Arduino Uno med en skruvsköld för att skapa länken mellan MIDI -signaler och LED -remsor.

Steg 2: Bygga MIDI -ingångskretsen

Bygga MIDI -ingångskretsen
Bygga MIDI -ingångskretsen
Bygga MIDI -ingångskretsen
Bygga MIDI -ingångskretsen

Om du är intresserad av vad som är exakt MIDI -protokollet och hur det fungerar, rekommenderar jag dig starkt att kolla Notes and Volts YouTube -kanal där det finns många intressanta och innovativa handledning och MIDI Arduino -projekt.

I den här delen kommer jag bara att fokusera på MIDI -ingångskretsen. Det kan vara en bra idé att bygga en prototyp på ett protoboard och kontrollera om MIDI -signaler som kommer från DAW tas emot väl av mikrokontrollen innan de går in på att lödda komponenterna.

Följande två videor beskriver hur man bygger och testar kretsen:

  • Bygga kretsen
  • Testar kretsen

Slutligen kan det också vara en bra idé att kolla in den här videon för att förstå CC -meddelanden och hur automatiseringsklipp kan tolkas av din mikrokontroller för att till exempel styra LED -ljusstyrkan.

Steg 3: Konfigurera FL Studio (tillval)

Konfigurera FL Studio (tillval)
Konfigurera FL Studio (tillval)
Konfigurera FL Studio (tillval)
Konfigurera FL Studio (tillval)
Konfigurera FL Studio (tillval)
Konfigurera FL Studio (tillval)

Eftersom jag känner mig bekväm med att använda FL Studio kommer jag att förklara hur jag korrekt konfigurerar sitt MIDI -gränssnitt, men jag är ganska säker på att detta förfarande inte borde vara drastiskt annorlunda om du använder en annan digital ljudarbetsstation.

Först måste du bara ansluta USB/MIDI -uttaget till din dator. Vanligtvis kommer sådana enheter med en inbäddad fast programvara och känns igen som MIDI -enheter, även om de är olagliga. Öppna sedan fönstret "Inställningar" (genom att trycka på F10). Om allt fungerar korrekt kommer du att märka några utgående MIDI -enheter i utdatasektionen. Välj din enhet och se till att den är PÅ.

Då måste du definiera ditt portnummer och ha det i åtanke (till exempel 0). Stäng bara det här fönstret (parametrar sparas automatiskt) och lägg sedan till en ny kanal: MIDI Out.

Sedan är det sista du måste göra att definiera porten för den här nya kanalen: se till att välja samma portnummer som du definierade i avsnittet "Inställningar": genom att göra detta är MIDI -meddelandena från din kanal nu kopplad till MIDI -utgången.

När en ton spelas upp av MIDI Out -kanalen skickas ett "NoteOn" -meddelande via MIDI -gränssnittet. På samma sätt skickas ett "NoteOff" -meddelande när anteckningen släpps.

En annan intressant funktion som följer med MIDI Out -kanalen är möjligheten att styra olika parametrar med potentiometrar. Genom att högerklicka på en av dem och välja "Konfigurera …" kan du få dem att skicka CCMessages (ett värde från 0 till 127) som kommer att användas för att styra lysdiodernas ljusstyrka: välj CC och sedan Acceptera.

Normalt är FL Studio nu redo att skicka data till ditt MIDI -gränssnitt! Nästa är att skriva koden för att blinka i Arduino och anpassa den till din LED -struktur.

Steg 4: Anslutning av lysdioderna

Anslutning av lysdioderna
Anslutning av lysdioderna

Anslutning av LED -remsor är ganska enkelt, eftersom de bara kräver +5V, GND och data. Men eftersom jag planerade att ansluta mer än 20 av dem bestämde jag mig för att använda flera Arduino PWM -stift och deklarera flera instanser av Adafruit_NeoPixel (i coen) för att undvika någon form av oavsiktlig fördröjning.

Den bifogade bilden avser också att förklara hur elektroniken fungerar:

  • LED -remsor drivs direkt av strömförsörjningen.
  • En strömbrytare används för att driva Arduino
  • MIDI -ingångskretsen drivs av Arduino när du sätter på strömbrytaren

Steg 5: Utforma 3D -strukturen

Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen
Utforma 3D -strukturen

Hittills var denna del den längsta eftersom jag var helt ny med 3D-utskrift (och modellering). Jag ville designa en struktur som såg ut som en halv exploderad stympad icosahedron (ja, det tog mig lite tid att hitta det exakta namnet på formen).

Naturligtvis är du fri att designa din egen modell med den form du vill ha! Jag kommer inte att beskriva modelleringsprocessen men du hittar STL -filerna om du vill designa denna struktur.

Monteringen av de olika delarna tog lite tid, eftersom jag var tvungen att sätta en lysdiod i varje ansikte och ansluta dem alla genom att löda ett stort antal trådar inuti kärnan som för närvarande är ganska rörigt!

Obs! Om du vill designa en sådan struktur kommer du att behöva 10 sexkantiga bitar (cirka 3 timmar vardera med en PP3DP UP mini -skrivare) och 6 femkantiga bitar (2 timmar).

När det finns en lysdiod i varje del måste du ansluta varje 5V- och GND -terminaler och ansluta flera ingångs- och utgångsterminaler för varje LED på det sätt som du ska ansluta dem.

Slutligen använde jag LED diffusiv akryl för att täcka varje ansikte och göra dem ljusa konsekvent.

Allt som återstår efter det är koden, som visar sig inte vara så komplicerad!

Steg 6: Koden

Koden
Koden

Som jag nämnde det i föregående del avslöjar koden att vara ganska enkel!

Egentligen består den bara av en MIDI -instans och flera Adafruit_NeoPixel -instanser (lika mycket som det finns olika remsor).

I grund och botten, när den är deklarerad, fungerar MIDI -klassen med slags "avbrott": NoteOn, NoteOff och CCMessage. När MIDI -ingången cicruit sänder en av de specifika signalerna till Arduino, kallas den associerade subrutinen. Allt som koden gör är att slå på en specifik lysdiod på NoteOn -signalen, slå ner den på den associerade NoteOff -signalen och uppdatera ljusstyrkan för en remsa på CCMessage.

Jag definierade också en enkel funktion som ger möjlighet att välja färg på lysdioderna genom att läsa hastigheten som kommer med NoteOn -signalen och varje LED kan då vara antingen röd, lila, blå, turkos, grön, gul, orange eller vit, beroende på hastighetsvärdet från 0 till 127.

En viktig sak att lägga märke till är att du måste koppla bort RX -stiftet (som kommer från MIDI -ingångskretsen) när du laddar upp din skiss när serieporten (används under denna process) är ansluten till den stiftet!

Steg 7: Vad nu?

Jag arbetar för närvarande med ett anpassat hölje för att bädda in all elektronik och jag tänker också på ett namn på strukturen! Meddela mig om du tyckte om detta projekt, och jag arbetar med olika program då jag planerar att uppdatera denna instruerbara med fler videor!

Rekommenderad: