MIDI2LED - MIDI ovládaný světelný efekt LED pásku: 6 kroků
MIDI2LED - MIDI ovládaný světelný efekt LED pásku: 6 kroků
Anonim
MIDI2LED - MIDI ovládaný světelný efekt LED pásku
MIDI2LED - MIDI ovládaný světelný efekt LED pásku

Toto je můj první pokyn, takže mějte se mnou.

Miluji tvorbu hudby a v živých situacích, jako jsou koncerty v obývacím pokoji, mám rád, když jsou světelné efekty synchronizované s tím, co hraji. Postavil jsem tedy box na bázi Arduina, díky kterému se LED pásek rozsvítí v náhodné barvě, když trefím notu na své MIDI klávesnici a kde trefím notu.

Zásoby

  • Arduino Uno
  • Protoshield Arduino
  • MIDI konektor
  • 1N4148 dioda
  • Optický vazební člen 6N138
  • odpory: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
  • WS2812B LED pásek (60 LED)
  • nějaké zbylé dráty
  • smršťovací bužírky
  • vhodné pouzdro pro Arduino (používám plastovou spojovací krabici)

Budete také potřebovat

  • páječka a pájka
  • MIDI klávesnice a MIDI kabel

Krok 1: Elektronika

Elektronika
Elektronika

Okruh je docela přímočarý. Skládá se ze standardního MIDI vstupu (vlevo od Arduina) a připojení k LED pásku (vpravo od Arduina). Umístěte všechny součásti na protoshield. žádný problém s využitím Arduina +5V / GND jako výstupního výkonu. (Zkuste se vyvarovat zasažení všech kláves současně a plnou rychlostí.;-)) Pokud se rozhodnete použít externí napájecí zdroj, jednoduše jej připojte k pinům Arduino +5V a GND. Někteří lidé doporučují mezi tyto dva řádky vložit kondenzátor 100uF (není schematicky znázorněn).

Díly pájte na protoshield a připojte LED pásek podle schématu.

Krok 2: Připojení LED pásku

Připojení LED pásku
Připojení LED pásku

Je důležité připojit pravý konec - vstupní konec - LED pásky k obvodu. Můj proužek má jako vstup zásuvku a po celé délce směřuje od vstupu malé trojúhelníky. Na výstupu byl zástrčkový konektor (abychom jej mohli připojit k jinému pásku, který nepotřebujeme), tak jsem to odřízl a připájel ke třem kabelům přicházejícím z Arduina. Pomocí teplem smrštitelných hadic spojte tři kabely k LED pásku a zajistěte, aby byly méně viditelné.

LED pásek, který jsem použil, je na zadní straně opatřen lepicí páskou, takže jej lze snadno přilepit na zadní stranu MIDI klávesnice.

Krok 3: Přizpůsobení projektu vaší klávesnici

Přizpůsobení projektu vaší klávesnici
Přizpůsobení projektu vaší klávesnici
Přizpůsobení projektu vaší klávesnici
Přizpůsobení projektu vaší klávesnici

Možná budete muset přizpůsobit LED pásek a kód Arduino vaší klávesnici. Moje má 76 kláves a délka pásu je téměř přesně šířka klávesnice. Pokud máte např. 61 kláves, možná budete potřebovat kratší proužek. LED pásek lze řezat mezi libovolnými dvěma LED diodami. Jen se ujistěte, že odřezáváte správnou část, má vstupní konec (s konektorem female) a výstup (s konektorem male), musíte ponechat vstupní konec. V kódu změňte #defines pro

  • NUMBER_OF_LEDS k počtu LED diod zbývajících ve vašem pásu po odříznutí konce,
  • NUMBER_OF_KEYS k počtu kláves na vaší klávesnici a
  • MIN_KEY k číslu MIDI výšky vašeho nejnižšího klíče. Najdete to v uživatelské příručce klávesnice; nebo použijte nástroj, který zobrazuje číslo poznámky MIDI, například KMidiMon pro Linux nebo Pocket MIDI pro Windows nebo Mac; nebo vyzkoušejte různé hodnoty, dokud zařízení nereaguje na všechny klávesy na vaší klávesnici

Krok 4: Kód Arduino

Kód Arduino používá knihovnu MIDI (v4.3.1) od Forty Seven Effects a knihovnu Adafruit NeoPixel (v1.3.4) od Adafruit. Nainstalujte si tyto knihovny pomocí Arduino IDE. Poté zkompilujte kód a nahrajte jej do Arduina bez připojeného štítu (optočlen je připojen ke kolíku RX, který brání nahrávání). Napájejte Arduino pomocí USB kabelu (používám USB nástěnnou bradavici).

Pokud chcete kód upravit podle svých představ, zde je stručný přehled toho, jak to funguje: V každé smyčce se načte vstup MIDI. Pokud byla přijata událost Note On nebo Note Off, jsou vyvolány funkce MyHandleNoteOn nebo MyHandleNoteOff. Oba volají funkci updateVelocityArray, která ukládá rychlost (tj. Jak silně jste stiskli klíč) čísla klíče. Pokud je rychlost vyšší, než byla uložena dříve, barva odpovídající LED se nastaví na „aktuální barvu“. Po zpracování událostí MIDI se zavolá funkce updateLedArray. Tím se aktualizuje „aktuální barva“(jejíž červené, zelené a modré hodnoty se nezávisle lineárně mění, dokud není dosaženo dolního nebo horního konce, v tomto okamžiku je rychlost lineární změny nastavena na náhodné číslo), pomalu snižuje rychlost lisovaných not a aktualizuje hodnoty barev každé LED diody, která musí změnit svou barvu (kvůli novému zásahu not nebo snížení rychlosti). Funkce showLedArray přenáší barvy do struktury Adafruit_NeoPixel nazývané „pixely“a nutí skutečné LED ukazovat barvy ve struktuře pixelů.

Krok 5: Možná vylepšení…

Projekt není nikdy dokončen. Vždy je možné něco zlepšit:

  • Protoshield obsahuje tak málo dílů, že je to opravdu plýtvání; stejného efektu lze snadno dosáhnout pomocí Arduino Nano a 15x7 otvorové desky plošných spojů plus několika zásuvkami s kolíky.
  • Některé MIDI signály se ztratí. Pokud je to NoteOn, odpovídající LED se nerozsvítí; pokud je to NoteOff, nezhasne (proto jsem zavedl snížení rychlosti, které zajišťuje, že LED diody nebudou svítit neomezeně). Stále se snažím zjistit důvod. Možná je to problém s načasováním a MIDI.read () by mělo být voláno častěji.
  • Některé MIDI signály jsou chybně přečteny, tj. Rozsvítí se nesprávné LED diody. Lze spojit s výše uvedeným bodem. Vyžaduje nějaké vyšetřování.
  • Obvod je navržen tak, aby poskytoval příjemný vizuální efekt bez velké interakce uživatele (kromě hraní na klávesnici). Dokázal bych si však představit přidání přečteného potenciometru (pomocí jednoho z analogových vstupů Arduina), pomocí kterého můžete změnit maximální rychlost, s jakou se barvy mění (aktuálně #definováno jako MAX_COLOR_CHANGE_SPEED = 20). Nebo změřte průměrný čas mezi dvěma událostmi NoteOn a podle toho změňte MAX_COLOR_CHANGE_SPEED - v pomalých písních by se barva měla měnit pomaleji.

Krok 6: Hotovo

Napájejte Arduino přes USB kabel (používám USB nástěnnou bradavici). Připojte MIDI klávesnici ke konektoru MIDI a začněte hrát. Podívejte se, jak hraji malou lehkou hudbu (slovní hříčka, jakkoli špatná, zamýšlená).

Doporučuje: