
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:03


Jako prawdziwy meloman oraz student elektroniki i informatyki zawsze chciałem budować urządzenia MIDI, które mógłbym wykorzystać do tworzenia muzyki elektronicznej.
Po uczestnictwie w wielu pokazach i festiwalach muzycznych zacząłem naprawdę interesować się pokazami świetlnymi podczas występów.
Po wielu badaniach znalazłem tylko urządzenia, które używają mikrofonu i nie pozwalają sterować diodami dokładnie tak, jak chcesz.
Coraz bardziej zaznajomiwszy się z sygnałami DAW i MIDI, postanowiłem rozpocząć ten projekt!
Składa się z trójwymiarowej struktury z wbudowanymi diodami LED, które są faktycznie sterowane sygnałami MIDI (NoteOn, NoteOff i CC Messages).
Aby muzyk mógł kontrolować kolor i intensywność każdej diody LED, tylko za pomocą sygnałów MIDI, generowanych przez dowolny DAW.
Dzięki temu pomysłowi chciałem zwiększyć kreatywność poprzez pokazy świetlne i umożliwić każdemu budowanie własnego, aby każdy występ wizualny był wyjątkowy.
Krok 1: Materiały
Zasadniczo ten projekt składa się z dwóch części: obwodu odbiorczego MIDI i struktury LED; oraz mikrokontroler do łączenia tych części i „tłumaczenia” sygnałów MIDI pochodzących z DAW na taśmy LED. Oto lista materiałów potrzebnych do wykonania każdej części.
Obwód odbioru MIDI:
- 1 x transoptor 6N138
- 1xdioda 1N914
- 1 x 5-pinowe gniazdo Din (gniazdo MIDI)
- Rezystory 2 x 220 Ohm
- Rezystor 1x4.7K Ohm
- 1 gniazdo USB/MIDI
Struktura LED:
Użyłem taśm LED RGB opartych na diodach WS2812B, które można sterować tylko 1 portem cyfrowym. Jeśli planujesz używać dużej liczby diod, być może będziesz musiał zadbać o maksymalny potrzebny prąd (1 dioda może pobierać maksymalnie 60mA). Jeśli mikrokontroler nie może obsłużyć tej maksymalnej wartości, będziesz potrzebować innego zasilacza 5 V, który może dostarczyć wystarczającą ilość prądu. Użyłem zasilacza 5V - 8A AC/DC z dedykowanym adapterem wyjściowym i przełącznikiem.
Uwaga: Wygląda na to, że możesz użyć zasilacza komputerowego, ponieważ wiadomo, że jest w stanie dostarczyć naprawdę wysoki prąd, ale musisz upewnić się, że dostarcza stabilne napięcie 5 V DC, być może za pomocą Rezystor mocy 36 Ohm 5 W między masą (czarny) a wyjściem 5V (czerwony), aby zapewnić wystarczającą ilość prądu przepływającego przez rezystor i tym samym zapewnić stabilne napięcie 5V.
Na koniec użyłem prostego Arduino Uno z osłoną śrubową, aby utworzyć połączenie między sygnałami MIDI i paskami LED.
Krok 2: Budowanie obwodu wejściowego MIDI


Jeśli interesuje Cię, czym właściwie jest protokół MIDI i jak działa, gorąco polecam zajrzeć na kanał Notes and Volts na YouTube, gdzie znajduje się wiele ciekawych i innowacyjnych tutoriali oraz projektów MIDI Arduino.
W tej części skupię się tylko na obwodzie wejściowym MIDI. Przed przystąpieniem do lutowania komponentów dobrym pomysłem może być zbudowanie prototypu na płycie prototypowej i sprawdzenie, czy sygnały MIDI pochodzące z DAW są dobrze odbierane przez mikrokontroler.
Poniższe dwa filmy opisują, jak zbudować i przetestować obwód:
- Budowanie obwodu
- Testowanie obwodu
Na koniec, dobrym pomysłem może być również obejrzenie tego filmu, aby zrozumieć komunikaty CC i jak klipy automatyzacji mogą być interpretowane przez mikrokontroler, na przykład w celu sterowania jasnością diody LED.
Krok 3: Konfiguracja FL Studio (opcjonalnie)



Ponieważ czuję się komfortowo używając FL Studio, wyjaśnię, jak prawidłowo skonfigurować jego interfejs MIDI, ale jestem prawie pewien, że ta procedura nie powinna się drastycznie różnić, jeśli używasz innej cyfrowej stacji roboczej audio.
Najpierw wystarczy podłączyć gniazdo USB/MIDI do komputera. Zazwyczaj takie urządzenia są dostarczane z wbudowanym oprogramowaniem układowym i są rozpoznawane jako urządzenia MIDI, nawet jeśli są unpleggud. Następnie otwórz okno „Ustawienia” (wciskając F10). Jeśli wszystko działa poprawnie, zauważysz niektóre wyjściowe urządzenia MIDI w sekcji Output. Wybierz swoje urządzenie i upewnij się, że jest WŁĄCZONE.
Następnie musisz zdefiniować swój numer portu i pamiętać o nim (na przykład 0). Wystarczy zamknąć to okno (parametry są automatycznie zapisywane), a następnie dodać nowy kanał: MIDI Out.
Następnie ostatnią rzeczą, którą musisz zrobić, to zdefiniować port tego nowego kanału: upewnij się, że wybrałeś ten sam numer portu, który zdefiniowałeś w sekcji „Ustawienia”: robiąc to, wiadomości MIDI pochodzące z twojego kanału są teraz połączony z wyjściem MIDI.
Teraz, gdy nuta jest odtwarzana przez kanał MIDI Out, komunikat „NoteOn” zostanie wysłany przez interfejs MIDI. W ten sam sposób wiadomość „NoteOff” zostanie wysłana po zwolnieniu notatki.
Kolejną ciekawą funkcją, która jest dostarczana z kanałem MIDI Out, jest możliwość sterowania różnymi parametrami za pomocą potencjometrów. Klikając prawym przyciskiem myszy na jednym z nich i wybierając „Konfiguruj…”, możesz sprawić, by wysyłały CCMessages (wartość od 0 do 127), które będą używane do sterowania jasnością diod: wybierz CC, a następnie Akceptuj.
Zwykle FL Studio jest teraz gotowe do wysyłania danych do interfejsu MIDI! Następnym krokiem jest napisanie kodu do flashowania w Arduino i dostosowanie go do struktury LED.
Krok 4: Podłączanie diod LED

Podłączenie taśm LED jest dość proste, ponieważ wymagają tylko +5V, GND i danych. Ponieważ jednak planowałem połączyć ponad 20 z nich, postanowiłem użyć kilku pinów Arduino PWM i zadeklarować kilka instancji Adafruit_NeoPixel (w coe), aby uniknąć wszelkiego rodzaju niezamierzonych opóźnień.
Załączony obrazek ma również na celu wyjaśnienie, jak działa elektronika:
- Taśmy LED zasilane są bezpośrednio z zasilacza.
- Przełącznik zasilania służy do zasilania Arduino
- obwód wejściowy MIDI jest zasilany przez Arduino podczas włączania przełącznika;
Krok 5: Projektowanie struktury 3D




Do tej pory ta część była najdłuższa, ponieważ byłem zupełnie nowy w druku 3D (i modelowaniu). Chciałem zaprojektować strukturę, która wyglądała jak na wpół eksplodowany ścięty dwudziestościan (tak, znalezienie dokładnej nazwy kształtu zajęło mi trochę czasu).
Oczywiście możesz zaprojektować swój własny model o pożądanym kształcie! Nie będę szczegółowo omawiał procesu modelowania, ale znajdziesz pliki STL, jeśli chcesz zaprojektować tę strukturę.
Montaż różnych części zajął trochę czasu, ponieważ musiałem umieścić jedną diodę LED na każdej powierzchni i połączyć je wszystkie, lutując dużą liczbę przewodów wewnątrz rdzenia, co obecnie jest dość niechlujne!
Uwaga: jeśli chcesz zaprojektować taką konstrukcję, będziesz potrzebować 10 elementów sześciokątnych (po około 3 godziny przy użyciu mini drukarki PP3DP UP) i 6 elementów pięciokątnych (2 godziny).
Gdy w każdej części znajduje się jedna dioda LED, będziesz musiał połączyć ze sobą wszystkie zaciski 5 V i GND i podłączyć kilka zacisków wejściowych i wyjściowych każdej diody LED w taki sposób, w jaki mają być podłączone.
Na koniec użyłem dyfuzyjnego akrylu LED, aby pokryć każdą twarz i zapewnić jej spójne światło.
Pozostaje tylko kod, który okazuje się nie aż tak skomplikowany!
Krok 6: Kodeks

Jak wspomniałem w poprzedniej części, kod okazuje się dość prosty!
W rzeczywistości składa się tylko z jednej instancji MIDI i kilku instancji Adafruit_NeoPixel (tyle, ile jest różnych pasków).
W zasadzie, po zadeklarowaniu, klasa MIDI pracuje z rodzajami „przerw”: NoteOn, NoteOff i CCMessage. Kiedy obwód wejściowy MIDI przesyła jeden z tych specyficznych sygnałów do Arduino, wywoływany jest podprogram skojarzony. Następnie wszystko, co robi kod, to włączanie określonej diody LED na sygnale NoteOn, wyłączanie jej na powiązanym sygnale NoteOff i aktualizowanie jasności paska na CCMessage.
Zdefiniowałem też prostą funkcję, która daje możliwość wyboru koloru diod poprzez odczyt prędkości przychodzącej z sygnałem NoteOn i każda dioda może być wtedy czerwona, fioletowa, niebieska, turkusowa, zielona, żółta, pomarańczowa lub biała, w zależności od wartości prędkości od 0 do 127.
Ważną rzeczą do zauważenia jest to, że będziesz musiał odłączyć pin RX (pochodzący z obwodu wejściowego MIDI) podczas przesyłania szkicu, ponieważ port szeregowy (używany podczas tego procesu) jest podłączony do tego pinu!
Krok 7: Co teraz?
Obecnie pracuję nad niestandardową obudową do osadzenia całej elektroniki i myślę również o nazwie struktury! Daj mi znać, jeśli podobał Ci się ten projekt, a ja pracuję nad różnymi programami, ponieważ planuję zaktualizować tę instrukcję o więcej filmów!
Zalecana:
Kontrolowana przez Internet dioda LED za pomocą serwera WWW opartego na ESP32: 10 kroków

Dioda LED sterowana przez Internet za pomocą serwera sieci Web opartego na ESP32: Przegląd projektuW tym przykładzie dowiemy się, jak stworzyć serwer sieci Web oparty na ESP32, aby kontrolować stan diod LED, który jest dostępny z dowolnego miejsca na świecie. Do tego projektu potrzebujesz komputera Mac, ale możesz uruchomić to oprogramowanie nawet na i
Kontrolowana przez Wi-Fi taśma LED 12V za pomocą Raspberry Pi z Taskerem, integracja Ifttt.: 15 kroków (ze zdjęciami)

Wifi Controlled 12v Led Strip za pomocą Raspberry Pi z Tasker, Ifttt Integration.: W tym projekcie pokażę Ci, jak sterować prostą analogową taśmą led 12v przez wifi za pomocą raspberry pi. Do tego projektu będziesz potrzebować: 1x Raspberry Pi (I używam Raspberry Pi 1 Model B+) 1x RGB 12v Le
Dioda LED kontrolowana przez aplikację: 5 kroków

Kontrolowane przez aplikację LED: El siguiente proyecto incorpora principios básicos de programación y electrónica para emlear un aplicación en un mâvil para controlar ciertos componentes electrónicos. Por medio de un código se estab
Kontrolowana przez Internet dioda LED za pomocą NodeMCU: 6 kroków

Kontrolowane przez Internet LED za pomocą NodeMCU: Internet rzeczy (IoT) to system powiązanych ze sobą urządzeń komputerowych, maszyn mechanicznych i cyfrowych, obiektów, zwierząt lub ludzi, które są wyposażone w unikalne identyfikatory i możliwość przesyłania danych przez sieć bez konieczności
Ramka LED Pixel Art z Retro Arcade Art, kontrolowana przez aplikację: 7 kroków (ze zdjęciami)

Ramka LED Pixel Art z Retro Arcade Art, kontrolowana przez aplikację: ZRÓB KONTROLOWANĄ APLIKACJĄ RAMĘ LED ART Z 1024 diodami LED, KTÓRA WYŚWIETLA RETRO 80s ARCADE GAME ART PartsZestaw PIXEL Makers - 59 USD Matryca LED Adafruit 32x32 P4 - 49,9512x20 cali Arkusz akrylowy, 1/8" cal grubości - Przezroczysty lekki dym z Tap Plastics