Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
To je moj prvi pouk, zato bodite z mano.
Rad ustvarjam glasbo in v situacijah v živo, kot so koncerti v dnevni sobi, mi je všeč, če so svetlobni učinki usklajeni s tem, kar igram. Tako sem zgradil škatlo, ki temelji na Arduinu, zaradi katere LED trak zasveti v naključni barvi, ko udarim v opombo na tipkovnici MIDI in kjer udarim v opombo.
Zaloge
- Arduino Uno
- Arduino protozaslon
- MIDI priključek
- 1N4148 dioda
- Optični spenjač 6N138
- upori: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED trak (60 LED)
- nekaj preostalih žic
- termoskrčljive cevi
- primerno ohišje za Arduino (uporabljam plastično razdelilno omarico)
Potrebovali boste tudi
- spajkalnik in spajkanje
- MIDI tipkovnica in MIDI kabel
1. korak: Elektronika
Vezje je precej preprosto. Sestavljen je iz standardnega vhoda MIDI (levo od Arduina) in povezave z LED trakom (desno od Arduina). Vse dele postavite na proto ščit, veliko prostora je. Na splošno je priporočljivo, da za napajanje LED traku uporabite zunanji napajalnik, vendar sem ugotovil, da je med igranjem le nekaj LED hkrati prižganih, zato je bilo brez težav pri uporabi Arduino +5V / GND kot izhodne moči. (Poskusite se izogniti pritisku na vse tipke hkrati in s polno hitrostjo.;-)) Če se odločite za uporabo zunanjega napajalnika, ga preprosto priključite na nožice Arduino +5V in GND. Nekateri priporočajo, da med te dve vrstici vstavite kondenzator 100uF (ni prikazan na shemi).
Spajate dele s proto ščitom in LED trak priključite, kot je prikazano na shemi.
2. korak: Priključitev LED traku
Pomembno je, da desni konec - vhodni konec - LED traku priključite na vezje. Moj trak ima ženski konektor kot vhod in ima majhne trikotnike, ki so usmerjeni stran od vhoda. Na izhodu je bil moški konektor (da ga lahko povežem z drugim trakom, ki ga ne potrebujemo), zato sem ga odrezal in spajkal na tri kable, ki prihajajo iz Arduina. S toplotno skrčljivo cevjo povežite tri kable na LED trak in jih naredite manj vidne.
LED trak, ki sem ga uporabil, ima na hrbtni strani lepilni trak, zato ga je mogoče enostavno prilepiti na zadnjo stran tipkovnice MIDI.
3. korak: Prilagoditev projekta vaši tipkovnici
Morda boste morali prilagoditi LED trak in kodo Arduino tipkovnici. Moj ima 76 tipk, dolžina traku pa je skoraj natančno širina tipkovnice. Če imate npr. 61 ključev, morda boste potrebovali krajši trak. LED trak lahko prerežete med poljubnima dvema LED. Prepričajte se, da odrežete pravilen del, ima vhodni konec (z ženskim konektorjem) in izhodni konec (z moškim konektorjem), vhodni konec morate obdržati. V kodi spremenite #defines za
- NUMBER_OF_LEDS na število LED, ki ostanejo v traku, potem ko odrežete konec,
- NUMBER_OF_KEYS na število tipk na tipkovnici in
- MIN_KEY do številke tona MIDI vašega najnižjega ključa. To lahko najdete v uporabniškem priročniku tipkovnice; ali uporabite orodje, ki prikaže številko zapiska MIDI, na primer KMidiMon za Linux ali Pocket MIDI za Windows ali Mac; ali preizkusite različne vrednosti, dokler se naprava ne odzove na vse tipke na tipkovnici
4. korak: Koda Arduino
Koda Arduino uporablja knjižnico MIDI (v4.3.1) podjetja Forty Seven Effects in knjižnico Adafruit NeoPixel (v1.3.4) podjetja Adafruit. Te knjižnice namestite z Arduino IDE. Nato sestavite kodo in jo naložite na Arduino, ne da bi bil priključen ščit (optični sklopnik je priključen na pin RX, kar ovira nalaganje). Napajajte Arduino prek kabla USB (uporabljam stensko bradavico USB).
Če želite kodo spremeniti po svojih željah, je tukaj kratek pregled, kako deluje: V vsaki zanki se odčita vhod MIDI. Če ste prejeli dogodek Note On ali Note Off, se pokličejo funkcije MyHandleNoteOn ali MyHandleNoteOff. Oba kličeta funkcijo updateVelocityArray, ki shrani hitrost (tj. Kako močno ste pritisnili tipko) številke ključa. Če je hitrost višja od tiste, ki je bila shranjena prej, je barva ustrezne LED nastavljena na "trenutno barvo". Po obravnavi dogodkov MIDI se pokliče funkcija updateLedArray. S tem se posodobi "trenutna barva" (rdeče, zelene in modre vrednosti, ki se neodvisno spreminjajo linearno, dokler ni dosežen spodnji ali zgornji konec, pri katerem je hitrost linearne spremembe nastavljena na naključno število), počasi zmanjšuje hitrost stisnjenih not in posodablja barvne vrednosti vsake LED, ki mora spremeniti svojo barvo (zaradi zadetka nove note ali zmanjšanja hitrosti). Funkcija showLedArray prenaša barve v strukturo Adafruit_NeoPixel, imenovano "piksli", in omogoča, da dejanske LED prikazujejo barve v strukturi slikovnih pik.
5. korak: Možne izboljšave …
Projekt ni nikoli dokončan. Vedno lahko nekaj storite, da ga izboljšate:
- Proto ščit vsebuje tako malo delov, da je res potrata; enak učinek bi zlahka dosegli z Arduino Nano in PCB s 15 x 7 luknjami ter nekaj ženskimi zatiči.
- Nekateri signali MIDI se izgubijo. Če je NoteOn, ustrezna LED ne bo zasvetila; če gre za NoteOff, ne bo ugasnil (zato sem uvedel zmanjšanje hitrosti, ki zagotavlja, da LED diode ne bodo neprekinjeno svetile). Še vedno poskušam ugotoviti razlog. Morda je to časovna težava, zato bi morali pogosteje klicati MIDI.read ().
- Nekateri signali MIDI so napačno prebrani, torej svetijo napačne LED. Lahko se poveže z zgornjo točko. Potrebuje nekaj preiskave.
- Vezje je zasnovano tako, da daje prijeten vizualni učinek brez veliko interakcije uporabnika (razen igranja klaviature). Lahko pa si predstavljam, da bi dodal potenciometer, ki se odčita (z uporabo enega od analognih vhodov Arduino), s katerim lahko spremenite največjo hitrost spreminjanja barv (trenutno #definirano kot MAX_COLOR_CHANGE_SPEED = 20). Ali pa izmerite povprečni čas med dvema dogodkoma NoteOn in ustrezno spremenite MAX_COLOR_CHANGE_SPEED - pri počasnih skladbah se mora barva spreminjati počasneje.
6. korak: Končano
Napajajte Arduino prek kabla USB (uporabljam stensko bradavico USB). Povežite tipkovnico MIDI s priključkom MIDI in začnite igrati. Poglej me, kako igram lahkotno glasbo (hudournik, pa čeprav je tako namenjen).
Priporočena:
Znanje o analognem vezju - Naredite sami zvočni učinek z urami za tikanje brez IC: 7 korakov (s slikami)
Znanje analognega vezja - Naredite sami krog zvočnih efektov ure brez tipa: to vezje zvočnega učinka ure je bilo zgrajeno samo s tranzistorji in upori ter kondenzatorji brez komponente IC. Idealno je, da se s tem praktičnim in preprostim vezjem naučite temeljnega vezja vezja
Učinek dvojne zakasnitve: 10 korakov (s slikami)
Učinek dvojne zakasnitve: SUPER preprost učinek dvojne zakasnitve! Moj cilj je bil ustvariti čim bolj kompaktno in najzahtevnejšo zamudo z uporabo le peščice komponent. Rezultat je zvočni stroj brez ohišja, ki ga je mogoče enostavno spremeniti s presenetljivo masivnim zvokom
Učinek časovne manipulacije z diferencialnim stroboskopom (natančno podrobno): 10 korakov
Učinek časovne manipulacije z diferencialnim stroboskopom (temeljito podrobno): Danes se bomo naučili izdelati diferencialni stroboskop, s katerim se lahko občasno premikajoči se predmeti pojavljajo v očeh. Še vedno dovolj, da upoštevamo manjše podrobnosti v predilnem predmetu, ki je sicer v bistvu neviden. Lahko prikaže tudi bea
Neverjeten učinek LED traku: 4 koraki
Neverjeten učinek LED traku: Hii prijatelj, želimo dobre učinke LED traku.LED trak okrasi našo sobo in ko daje učinke, potem soba izgleda neverjetno.Če vaš LED trak sveti preprosto, potem je ta blog za vas zelo poseben, saj v tem blogu izvedeli boste, kako lahko naredimo
Trije načini za izdelavo vezja za LED lovilce z nadzorom hitrosti + učinek nazaj in naprej: 3 koraki
Trije načini za izdelavo vezja LED Chaser z nadzorom hitrosti + učinek nazaj in naprej: LED Chaser Circuit je vezje, v katerem LED svetijo ena za drugo za določen čas, cikel pa se ponavlja, kar daje videz luči. Tukaj bom pokazal imate tri različne načine za izdelavo LED vezja: -1. 4017 IC2. 555 Časovnik IC3.