Sadržaj:
- Pribor
- Korak 1: Elektronika
- Korak 2: Spajanje LED trake
- Korak 3: Prilagodba projekta vašoj tipkovnici
- Korak 4: Arduino kod
- Korak 5: Moguća poboljšanja …
- Korak 6: Gotovo
Video: MIDI2LED - MIDI kontrolirana LED traka Svjetlosni efekt: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
Ovo je moje prvo uputstvo, pa me podnesite.
Volim stvarati glazbu, a u situacijama uživo poput koncerata u dnevnoj sobi volim kad su svjetlosni efekti usklađeni s onim što sviram. Tako sam izgradio kutiju zasnovanu na Arduinu zbog koje LED traka svijetli u nasumičnoj boji kad udarim notu na MIDI tipkovnici i gdje udarim u notu.
Pribor
- Arduino Uno
- Arduino proto štit
- MIDI priključak
- 1N4148 dioda
- Optička spojnica 6N138
- otpornici: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED traka (60 LED)
- nešto preostalih žica
- termoskupljajuće cijevi
- prikladno kućište za Arduino (koristim plastičnu razvodnu kutiju)
Također će vam trebati
- lemilica i lemljenje
- MIDI tipkovnica i MIDI kabel
Korak 1: Elektronika
Krug je prilično jednostavan. Sastoji se od standardnog MIDI ulaza (lijevo od Arduina) i veze s LED trakom (desno od Arduina). Stavite sve dijelove na proto štit, ima puno prostora. Općenito se preporučuje korištenje vanjskog izvora napajanja za napajanje LED trake, ali otkrio sam da je tijekom igre uključeno samo nekoliko LED dioda, pa je bilo nema problema u korištenju Arduina +5V / GND kao izlazne snage. (Pokušajte izbjeći pritiskanje svih tipki u isto vrijeme, i to punom brzinom.;-)) Ako odlučite koristiti vanjsko napajanje, jednostavno ga spojite na Arduino +5V i GND pinove. Neki ljudi preporučuju umetanje kondenzatora od 100uF (nije prikazan shematski) između ova dva reda.
Lemiti dijelove na proto štit i spojiti LED traku kao što je prikazano na shemi.
Korak 2: Spajanje LED trake
Važno je spojiti desni kraj - ulazni kraj - LED trake u krug. Moja traka ima ženski konektor kao ulaz i ima male trokute cijelo vrijeme usmjerene od ulaza. Na izlazu je bio muški konektor (kako bismo ga mogli spojiti na drugu traku, koja nam ne treba), pa sam to odrezao i lemio na tri kabela koji dolaze s Arduina. Termoskupljajućim cijevima povežite tri kabela s LED trakom i učinite ih manje vidljivima.
LED traka koju sam koristio dolazi sa ljepljivom trakom na poleđini, tako da se lako može zalijepiti na stražnju stranu MIDI tipkovnice.
Korak 3: Prilagodba projekta vašoj tipkovnici
Možda ćete morati prilagoditi LED traku i Arduino kôd svojoj tipkovnici. Moj ima 76 tipki, a duljina trake je gotovo točno širina tipkovnice. Ako imate npr. 61 ključ, možda će vam trebati kraća traka. LED traka se može rezati između bilo koje dvije LED diode. Samo pazite da odrežete ispravan dio, ima ulazni kraj (sa ženskim konektorom) i izlazni kraj (s muškim konektorom), morate zadržati ulazni kraj. U kodu promijenite #defines za
- NUMBER_OF_LEDS na broj LED dioda preostalih u traci nakon odsijecanja kraja,
- NUMBER_OF_KEYS na broj tipki na tipkovnici i
- MIN_KEY do MIDI broja tona vašeg najnižeg ključa. Možda ćete to pronaći u korisničkom priručniku tipkovnice; ili upotrijebite alat koji prikazuje broj bilješke MIDI, poput KMidiMon za Linux ili Pocket MIDI za Windows ili Mac; ili isprobajte različite vrijednosti dok uređaj ne odgovori na sve tipke na tipkovnici
Korak 4: Arduino kod
Arduino kôd koristi MIDI biblioteku (v4.3.1) tvrtke Forty Seven Effects i biblioteku Adafruit NeoPixel (v1.3.4) tvrtke Adafruit. Instalirajte ove knjižnice pomoću Arduino IDE -a. Zatim sastavite kôd i prenesite ga na Arduino bez spojenog štita (opto sprežnik je spojen na RX pin, što ometa učitavanje). Napajajte Arduino putem USB kabela (koristim USB zidnu bradavicu).
Ako želite izmijeniti kôd po svom ukusu, evo kratkog pregleda kako to funkcionira: U svakoj petlji očitava se MIDI ulaz. Ako je primljen događaj Note On ili Note Off, pozivaju se funkcije MyHandleNoteOn ili MyHandleNoteOff. Oboje pozivaju funkciju updateVelocityArray koja pohranjuje brzinu (tj. Koliko ste jako pritisnuli tipku) broja ključa. Ako je brzina veća od one koja je prethodno pohranjena, boja odgovarajuće LED diode postavlja se na "trenutnu boju". Nakon obrade MIDI događaja, poziva se funkcija updateLedArray. Time se ažurira "trenutna boja" (čije se crvene, zelene i plave vrijednosti neovisno mijenjaju linearno, sve dok se ne dosegne donji ili gornji kraj, pri čemu se brzina linearne promjene postavlja na slučajni broj), polako smanjuje brzinu utisnutih nota i ažurira vrijednosti boje svake LED diode koja mora promijeniti boju (zbog novog pogotka note ili smanjenja brzine). Funkcija showLedArray prenosi boje u strukturu Adafruit_NeoPixel koja se naziva "pikseli" i čini da stvarne LED diode prikazuju boje u strukturi piksela.
Korak 5: Moguća poboljšanja …
Projekt nikad nije dovršen. Uvijek se nešto može učiniti da se to poboljša:
- Proto štit sadrži toliko malo dijelova da je stvarno otpad; lako bi se mogao postići isti učinak s Arduino Nano i PCB -om 15x7 rupa plus nekoliko ženskih pin zaglavlja.
- Neki od MIDI signala se gube. Ako je NoteOn, odgovarajuća LED dioda neće zasvijetliti; ako je NoteOff, neće se ugasiti (zato sam uveo smanjenje brzine, što osigurava da LED diode neće ostati uključene neograničeno dugo). Još uvijek pokušavam otkriti razlog. Možda je to problem s vremenom, pa bi se MIDI.read () trebao češće pozivati.
- Neki od MIDI signala pogrešno su pročitani, tj. Svijetle pogrešne LED diode. Može se povezati s gornjom točkom. Potrebno je malo istrage.
- Krug je osmišljen tako da daje ugodan vizualni efekt bez mnogo interakcije korisnika (osim sviranja na klavijaturi). Međutim, mogao sam zamisliti dodavanje potenciometra koji se očitava (pomoću jednog od Arduinovih analognih ulaza) s kojim možete promijeniti maksimalnu brzinu kojom se boje mijenjaju (trenutno #definira kao MAX_COLOR_CHANGE_SPEED = 20). Ili izmjerite prosječno vrijeme između dva NoteOn događaja i prema tome promijenite MAX_COLOR_CHANGE_SPEED - u sporim pjesmama boja bi se trebala mijenjati sporije.
Korak 6: Gotovo
Napajanje Arduina putem USB kabela (koristim USB zidnu bradavicu). Spojite svoju MIDI tipkovnicu na MIDI priključak i počnite se ljuljati. Gledajte me kako puštam laganu glazbu (dosjetka, koliko god bila loša, namjera).
Preporučeni:
RC kontrolirana Rgb LED traka: 4 koraka (sa slikama)
RC upravljačka Rgb LED traka: Izradite vlastitu LED traku s daljinskim upravljanjem za individualno osvjetljenje prostorije! Većina traka s rgb LED diodama kontrolira se infracrvenim daljinskim upravljačem. Da biste ga isključili ili uključili ili promijenili boju, morate ostati ispred prijemnika. Ovo je dosadno i nije ponovno
Jednostavan LED blagdanski svjetlosni show: Čarobnjaci zimi - WS2812B LED traka s FastLED -om i vodičem za Arduino: 6 koraka
Jednostavan LED blagdanski svjetlosni show: Čarobnjaci zimi | WS2812B LED traka s FastLED -om i vodičem za Arduino: Dizajnirao sam i programirao ovu blagdansku svjetlosnu emisiju za prikaz bilo gdje. Koristio sam jednu LED traku WS2812B s gustoćom piksela 30 piksela/ metar. Budući da sam koristio 5 metara, imao sam ukupno 150 LED dioda. Kôd sam držao jednostavnim, tako da svatko tko tek koristi WS2812
Svjetlosni efekt kamina: 4 koraka
Svjetlosni efekt kamina: nakon dugog i hladnog zimskog dana, nije li lijepo sjediti ispred kamina u toplini svoje kuće? Većina ljudi zapravo nema kamin, ali čak i prizor ili svjetlost plamena mogu zagrijati vas i vaše hladno srce. Ako tražite
Wi -Fi 12V LED traka kontrolirana pomoću Raspberry Pi s Taskerom, Ifttt integracija .: 15 koraka (sa slikama)
Wifi kontrolirana 12v LED traka pomoću Raspberry Pi -a s Taskerom, Ifttt integracija .: U ovom projektu ću vam pokazati kako kontrolirati jednostavnu analognu LED traku od 12V preko wi -fija pomoću maline pi. Za ovaj projekt trebat će vam: 1x Raspberry Pi (ja koristim Raspberry Pi 1 model B+) 1x RGB 12v Le
Transportna traka ili mini montažna traka?: 24 koraka
Transportna traka ili mini pokretna traka?: Hej dečki, ovo uputstvo će vas provesti kroz instalaciju transportne trake. Ako imate prethodno iskustvo s uArmom, dobro je isprobati ovu transportnu traku. Ako nemate prethodnog iskustva, sasvim je u redu i oboje ih možete upoznati n