INHOUDSOPGAWE:
- Voorrade
- Stap 1: Die elektronika
- Stap 2: Koppel die LED -strook
- Stap 3: Pas die projek aan op u sleutelbord
- Stap 4: Die Arduino -kode
- Stap 5: Moontlike verbeterings …
- Stap 6: Klaar
Video: MIDI2LED - 'n MIDI -beheerde LED Strip Light Effect: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Dit is my eerste opdrag, so hou my in gedagte.
Ek is mal daaroor om musiek te maak, en in lewendige situasies soos konserte in die woonkamer hou ek daarvan as daar ligte effekte is wat ooreenstem met wat ek speel. Ek het dus 'n op Arduino gebaseerde boks gebou wat 'n LED-strook in 'n ewekansige kleur laat brand as ek 'n noot op my MIDI-sleutelbord slaan, en waar ek die noot slaan.
Voorrade
- Arduino Uno
- Arduino protoshield
- MIDI -aansluiting
- 1N4148 diode
- 6N138 opto koppelaar
- weerstande: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED -strook (60 LED's)
- 'n paar oorblywende drade
- hitte krimp buise
- geskikte omhulsel vir die Arduino (ek gebruik 'n plastiese aansluitkas)
U benodig ook
- soldeerbout en soldeer
- MIDI -sleutelbord en MIDI -kabel
Stap 1: Die elektronika
Die kring is redelik eenvoudig. Dit bestaan uit 'n standaard MIDI -ingang (links van die Arduino) en die verbinding met die LED -strook (regs van die Arduino). Plaas al die dele op die protoshield, daar is baie ruimte. Dit word oor die algemeen aanbeveel om 'n eksterne kragtoevoer te gebruik om die LED -strook aan te dryf, maar ek het gevind dat slegs 'n paar LED's gelyktydig aanskakel as u speel. geen probleem om die Arduino +5V / GND as kragopbrengs te gebruik nie. (Probeer om nie alle sleutels terselfdertyd en met volle snelheid te slaan nie.;-)) As u besluit om 'n eksterne kragtoevoer te gebruik, koppel dit eenvoudig aan die Arduino +5V- en GND-penne. Sommige mense beveel aan dat 'n 100uF -kondensator (nie in skematiese weergawe nie) tussen hierdie twee lyne geplaas word.
Soldeer die dele aan die protoshield en koppel die LED -strook aan soos in die skema getoon.
Stap 2: Koppel die LED -strook
Dit is belangrik om die regterkant - die ingangseinde - van die LED -strook aan die stroombaan te koppel. My strook het 'n vroulike aansluiting as 'n ingang en het klein driehoeke wat al langs die ingang wys. By die uitgang was daar 'n manlike aansluiting (om dit aan 'n ander strook te koppel wat ons nie nodig het nie), so ek sny dit af en soldeer dit aan die drie kabels wat van die Arduino kom. Gebruik 'n krimpkous om die drie kabels aan die LED -strook aan mekaar vas te bind en minder sigbaar te maak.
Die LED -strook wat ek gebruik het, het kleeflint aan die agterkant, sodat dit maklik aan die agterkant van die MIDI -sleutelbord vasgemaak kan word.
Stap 3: Pas die projek aan op u sleutelbord
Miskien moet u die LED -strook en die Arduino -kode aanpas by u sleutelbord. Myne het 76 sleutels, en die lengte van die strook is amper presies die breedte van die sleutelbord. As jy bv. 61 sleutels, benodig u moontlik 'n korter strook. Die LED -strook kan tussen twee LED's gesny word. Maak net seker dat u die korrekte deel afsny; dit het 'n ingangseinde (met 'n vroulike aansluiting) en 'n uitgangseinde (met 'n manlike aansluiting). U moet die ingangseinde behou. vir
- NUMBER_OF_LEDS na die aantal LED's wat in u strook oor is nadat u die punt afgesny het,
- NUMBER_OF_KEYS tot die aantal sleutels op u sleutelbord, en
- MIN_KEY tot die MIDI -toonhoogte nommer van u laagste sleutel. U kan dit in die gebruikershandleiding van die sleutelbord vind; of gebruik 'n instrument wat die MIDI -nootnommer vertoon, soos KMidiMon vir Linux, of Pocket MIDI vir Windows of Mac; of probeer verskillende waardes totdat die toestel op al die sleutels op u sleutelbord reageer
Stap 4: Die Arduino -kode
Die Arduino -kode gebruik die MIDI -biblioteek (v4.3.1) deur Forty Seven Effects en die Adafruit NeoPixel -biblioteek (v1.3.4) deur Adafruit. Installeer hierdie biblioteke met die Arduino IDE. Stel dan die kode saam en laai dit op na die Arduino sonder dat die skild gekoppel is (die optokoppelaar is gekoppel aan die RX -pen, wat die oplaai belemmer). Skakel die Arduino via 'n USB -kabel (ek gebruik 'n USB -muurwrat).
Hier is 'n kort oorsig oor hoe dit werk: as u die kode na u smaak wil aanpas: In elke lus word die MIDI -invoer voorgelees. As 'n Note On of Note Off -gebeurtenis ontvang is, word die MyHandleNoteOn- of MyHandleNoteOff -funksies genoem. Hulle noem albei die updateVelocityArray -funksie, wat die snelheid (dws hoe hard u die sleutel getref het) van die sleutelnommer stoor. As die snelheid hoër is as wat voorheen gestoor is, word die kleur van die ooreenstemmende LED op die "huidige kleur" gestel. Nadat die MIDI -gebeurtenisse hanteer is, word die funksie updateLedArray genoem. Dit werk die "huidige kleur" by (waarvan die rooi, groen en blou waardes onafhanklik op 'n lineêre manier verander totdat die onderste of boonste punt bereik is, op watter punt die snelheid vir die lineêre verandering op 'n ewekansige getal gestel word), verminder die snelheid van die ingedrukte note stadig en werk die kleurwaardes van elke LED wat sy kleur moet verander (as gevolg van 'n nuwe noottreffer of vermindering van die snelheid) by. Funksie showLedArray dra die kleure oor na die Adafruit_NeoPixel -struktuur genaamd "pixels" en laat die werklike LED's die kleure in die pixelstruktuur wys.
Stap 5: Moontlike verbeterings …
'N Projek word nooit voltooi nie. Daar is altyd iets wat gedoen kan word om dit te verbeter:
- Die protoshield bevat so min dele dat dit regtig 'n vermorsing is; 'n Mens kan maklik dieselfde effek bereik met 'n Arduino Nano en 'n 15x7 gate PCB plus 'n paar vroulike penkoppe.
- Sommige van die MIDI -seine raak verlore. As dit 'n NoteOn is, sal die ooreenstemmende LED nie brand nie; as dit 'n NoteOff is, gaan dit nie uit nie (daarom het ek die snelheidsvermindering ingestel, wat verseker dat LED's nie vir ewig aanhou nie). Ek probeer nog steeds die rede agterkom. Dit is moontlik 'n tydsberekening, en MIDI.read () moet meer gereeld genoem word.
- Sommige van die MIDI -seine word verkeerd gelees, dws die verkeerde LED's brand. Kan verbind word met die punt hierbo. Benodig 'n bietjie ondersoek.
- Die kring is ontwerp om 'n aangename visuele effek te gee sonder veel gebruikersinteraksie (afgesien van die toetsbord). Ek sou my egter kon voorstel om 'n potensiometer by te voeg wat uitgelees word (met behulp van een van die analoge insette van die Arduino) waarmee u die maksimum snelheid waarmee die kleure verander kan verander (tans #gedefinieer as MAX_COLOR_CHANGE_SPEED = 20). Of meet die gemiddelde tyd tussen twee NoteOn -gebeurtenisse en verander MAX_COLOR_CHANGE_SPEED dienooreenkomstig - in stadige liedjies moet die kleur stadiger verander.
Stap 6: Klaar
Skakel die Arduino via 'n USB -kabel (ek gebruik 'n USB -muurwrat). Koppel jou MIDI -sleutelbord aan die MIDI -aansluiting en begin rockin '. Kyk hoe ek 'n bietjie ligte musiek speel (woordspeling, so erg soos dit bedoel is).
Aanbeveel:
DIY LED Strip: hoe om LED Strip te sny, aan te sluit, te soldeer en te voed: 3 stappe (met foto's)
DIY LED Strip: Hoe om LED Strip te sny, aan te sluit, te soldeer en aan te dryf: Beginnersgids vir die maak van u eie ligprojekte met LED strip. die basiese beginsels vir die installering van 'n eenvoudige binne 60 LED's/m LED -strook, maar die in
LED Strip Amazing Effect: 4 stappe
LED Strip Amazing Effect: Hii vriend, ons wil goeie effekte van LED strip hê. LED strook versier ons kamer en as dit effekte gee, lyk die kamer ongelooflik. As u LED strip eenvoudig gloei, dan is hierdie blog baie spesiaal vir u, want in hierdie blog jy sal leer hoe kan ons
ESP8266 RGB LED STRIP WIFI Control - NODEMCU As 'n IR -afstandsbediening vir LED -strook wat via wifi bestuur word - RGB LED STRIP -slimfoonbeheer: 4 stappe
ESP8266 RGB LED STRIP WIFI Control | NODEMCU As 'n IR -afstandsbediening vir LED -strook wat via wifi bestuur word | RGB LED STRIP -slimfoonbeheer: Hallo ouens, in hierdie tutoriaal leer ons hoe om nodemcu of esp8266 as 'n IR -afstandsbediening te gebruik om 'n RGB LED -strook te beheer, en Nodemcu word deur 'n slimfoon oor wifi beheer. U kan dus die RGB LED STRIP met u slimfoon beheer
Dusty Wall Arduino Animated Led Lamp with Light Effect: 11 Stappe (met foto's)
Dusty Wall Arduino Animated Led Lamp With Light Effect: Ek het pas 'n baba gekry en nadat ek sy slaapkamer gedoen het, het ek 'n lamp teen 'n muur nodig gehad. Omdat ek baie lief is vir LED, het ek besluit om iets te skep. Ek hou ook van vliegtuie in die algemeen, so hoekom sit u nie 'n vliegtuig uit 'n tekenprent op die muur nie, hier soos dit begin en hoe ek dit gedoen het. Hoop
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: 7 stappe (met foto's)
MIDI 5V LED Strip Light Controller vir die Spielatron of ander MIDI Synth: hierdie kontroleerder flits drie-kleur LED strookligte vir 50mS per noot. Blou vir G5 tot D#6, rooi vir E6 tot B6 en groen vir C7 tot G7. Die kontroleerder is 'n ALSA MIDI -toestel, sodat MIDI -sagteware op dieselfde tyd na die LED's kan oorgedra word as 'n MIDI synth -toestel