
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Dette er min første instruerbare, så vær med meg.
Jeg elsker å lage musikk, og i live situasjoner som stue-konserter liker jeg det når det er lyseffekter som er synkronisert med det jeg spiller. Så jeg bygde en Arduino-basert boks som får en LED-stripe til å lyse i en tilfeldig farge når jeg treffer et notat på mitt MIDI-tastatur, og hvor jeg treffer notatet.
Rekvisita
- Arduino Uno
- Arduino protoshield
- MIDI -kontakt
- 1N4148 diode
- 6N138 optokobling
- motstander: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED -stripe (60 lysdioder)
- noen ledninger igjen
- krympeslange
- passende foringsrør for Arduino (jeg bruker en koblingsboks av plast)
Du trenger også
- loddejern og loddetinn
- MIDI -tastatur og MIDI -kabel
Trinn 1: Elektronikken

Kretsen er ganske grei. Den består av en standard MIDI -inngang (til venstre for Arduino) og tilkoblingen til LED -stripen (høyre for Arduino). Plasser alle delene på protoskjoldet, det er mye plass. Det anbefales generelt å bruke en ekstern strømforsyning for å drive LED -stripen, men jeg fant ut at når du spiller, er det bare få lysdioder på samtidig, så det var ikke noe problem med å bruke Arduino +5V / GND som effekt. (Prøv å unngå å slå alle tastene samtidig, og med full hastighet.;-)) Hvis du bestemmer deg for å bruke en ekstern strømforsyning, kobler du den bare til Arduino +5V og GND-pinnene. Noen anbefaler at du setter inn en 100uF kondensator (ikke vist skjematisk) mellom disse to linjene.
Lodd delene til protoskjoldet og koble til LED -stripen som vist på skjematikken.
Trinn 2: Koble til LED -stripen

Det er viktig å koble den høyre enden - inngangsenden - av LED -stripen til kretsen. Stripen min har en hunkontakt som inngang, og har små trekanter som hele tiden peker vekk fra inngangen. På utgangen var det en hannkontakt (for å kunne koble den til en annen stripe, som vi ikke trenger), så jeg kuttet den av og loddet den til de tre kablene som kom fra Arduino. Bruk varmekrympeslanger for å knytte de tre kablene til LED -stripen sammen, og for å gjøre dem mindre synlige.
LED -stripen jeg brukte kommer med tape på baksiden, slik at den enkelt kan limes på baksiden av MIDI -tastaturet.
Trinn 3: Tilpass prosjektet til tastaturet ditt


Du må kanskje tilpasse LED -stripen og Arduino -koden til tastaturet. Min har 76 taster, og lengden på stripen er nesten nøyaktig bredden på tastaturet. Hvis du har f.eks. 61 nøkler, kan det hende du trenger en kortere stripe. LED -stripen kan kuttes mellom to lysdioder. Bare sørg for at du kutter av den riktige delen, den har en inngangsende (med en hunnkontakt) og en utgang (med en mannlig kontakt), du må beholde inngangssiden. I koden, endre #defines til
- NUMBER_OF_LEDS til antall lysdioder igjen i stripen din etter at du har kuttet av enden,
- NUMBER_OF_KEYS til antall taster på tastaturet, og
- MIN_KEY til MIDI -tonehøyden til den laveste nøkkelen. Du kan finne dette i tastaturets brukerhåndbok; eller bruk et verktøy som viser MIDI -notatnummeret, som KMidiMon for Linux, eller Pocket MIDI for Windows eller Mac; eller prøv forskjellige verdier til enheten reagerer på alle tastene på tastaturet
Trinn 4: Arduino -koden
Arduino -koden bruker MIDI -biblioteket (v4.3.1) av Forty Seven Effects og Adafruit NeoPixel -biblioteket (v1.3.4) av Adafruit. Installer disse bibliotekene ved hjelp av Arduino IDE. Deretter kompilerer du koden og laster den opp til Arduino uten at skjoldet er tilkoblet (optokobleren er koblet til RX -pinnen, noe som hindrer opplastingen). Slå på Arduino via USB -kabel (jeg bruker en USB -veggvorter).
Hvis du vil endre koden etter eget ønske, her er en kort oversikt over hvordan den fungerer: I hver loop blir MIDI -inngangen lest opp. Hvis en Note On eller Note Off -hendelse er mottatt, kalles funksjonene MyHandleNoteOn eller MyHandleNoteOff. De kaller begge updateVelocityArray -funksjonen, som lagrer hastigheten (dvs. hvor hardt du har slått tasten) til nøkkelenummeret. Hvis hastigheten er høyere enn det som ble lagret før, settes fargen på den tilhørende lysdioden til "gjeldende farge". Etter at MIDI -hendelsene er håndtert, kalles funksjonsoppdateringenLedArray. Dette oppdaterer den "nåværende fargen" (de røde, grønne og blå verdiene endres uavhengig på en lineær måte, til den nedre eller øvre enden er nådd, da er hastigheten for den lineære endringen satt til et tilfeldig tall), reduserer sakte hastigheten til de pressede notatene, og oppdaterer fargeverdiene til hver LED som må endre fargen (på grunn av et nytt notat -treff eller reduksjon av hastigheten). Funksjon showLedArray overfører fargene til Adafruit_NeoPixel -strukturen kalt "piksler" og får de faktiske lysdiodene til å vise fargene i pikslestrukturen.
Trinn 5: Mulige forbedringer …
Et prosjekt er aldri ferdig. Det er alltid noe som kan gjøres for å forbedre det:
- Protoshield inneholder så få deler at det virkelig er bortkastet; man kunne lett oppnå samme effekt med en Arduino Nano og en 15x7 hulls PCB pluss noen kvinnelige pinhoder.
- Noen av MIDI -signalene går tapt. Hvis det er en NoteOn, vil ikke den tilhørende lysdioden lyse; hvis det er en NoteOff, vil den ikke slukke (det er derfor jeg introduserte hastighetsreduksjonen, noe som sikrer at lysdioder ikke forblir på i det uendelige). Jeg prøver fortsatt å finne ut årsaken. Muligens er det et timingproblem, og MIDI.read () bør kalles oftere.
- Noen av MIDI -signalene blir feil lest, det vil si at feil lysdioder lyser. Kan kobles til punktet ovenfor. Trenger litt etterforskning.
- Kretsen er designet for å gi en hyggelig visuell effekt uten mye brukerinteraksjon (bortsett fra å spille på tastaturet). Imidlertid kunne jeg tenke meg å legge til et potensiometer som er lest opp (ved hjelp av en av Arduino's analoge innganger) som du kan endre maksimal hastighet som fargene endres med (for øyeblikket #definert som MAX_COLOR_CHANGE_SPEED = 20). Eller mål gjennomsnittlig tid mellom to NoteOn -hendelser, og endre MAX_COLOR_CHANGE_SPEED tilsvarende - i langsomme sanger bør fargen endres saktere.
Trinn 6: Ferdig

Slå på Arduino via USB -kabel (jeg bruker en USB -veggvorter). Koble MIDI -tastaturet til MIDI -kontakten, og start rockin '. Se meg spille litt lett musikk (ordspill, så ille som det er, tenkt).
Anbefalt:
Bygg en Arduino MIDI -kontroller: 5 trinn (med bilder)

Bygg en Arduino MIDI -kontroller: Hei alle sammen! I denne instruksen vil jeg vise deg hvordan du bygger din egen Arduino -drevne MIDI -kontroller. MIDI står for Musical Instrument Digital Interface, og det er en protokoll som lar datamaskiner, musikkinstrumenter og annen maskinvare kommunisere
Peis lyseffekt: 4 trinn

Peis lyseffekt: Etter en lang og kald vinterdag er det ikke hyggelig å sitte foran peisen din i varmen i huset ditt? De fleste har egentlig ikke peis, men selv synet eller flammelyset kan varme deg og ditt kalde hjerte. Hvis du ser etter
Dusty Wall Arduino Animert LED -lampe med lyseffekt: 11 trinn (med bilder)

Dusty Wall Arduino Animert LED -lampe med lyseffekt: Jeg hadde nettopp en baby, og etter å ha gjort soverommet hans trengte jeg et lys på en vegg. Siden jeg liker LED veldig godt, bestemte jeg meg for å lage noe. Jeg liker også fly generelt, så hvorfor ikke legge et fly fra en tegneserie på veggen, her som det starter og hvordan jeg gjorde det
LED -formørkelse med berøringssensorer og MIDI: 9 trinn (med bilder)

LED -formørkelse med berøringssensorer og MIDI: LED -formørkelsen er et interaktivt instrument med lysdioder, kapasitive berøringssensorer og en MIDI -utgang som alle styres med en Arduino Uno. Du kan programmere enheten på mange forskjellige måter. I alle applikasjoner er ideen omtrent den samme:
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: 7 trinn (med bilder)

MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: Denne kontrolleren blinker trefargede LED stripelys for 50mS per note. Blå for G5 til D#6, rød for E6 til B6 og grønn for C7 til G7. Kontrolleren er en ALSA MIDI -enhet, slik at MIDI -programvare kan mates ut til lysdiodene samtidig som en MIDI -synthenhet