Taula de continguts:
- Subministraments
- Pas 1: l'electrònica
- Pas 2: Connexió de la tira LED
- Pas 3: adapteu el projecte al vostre teclat
- Pas 4: el codi Arduino
- Pas 5: possibles millores …
- Pas 6: Fet
Vídeo: MIDI2LED: efecte de llum de tira LED controlada MIDI: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Aquest és el meu primer instructiu, així que tingueu-ho en compte.
M’encanta fer música i, en situacions en directe com els concerts de sala, m’agrada quan hi ha efectes de llum en sintonia amb el que toco. Per tant, vaig construir una caixa basada en Arduino que fa que una tira LED s’il·lumini en un color aleatori quan toco una nota al meu teclat MIDI i on vaig tocar la nota.
Subministraments
- Arduino Uno
- Protector de pantalla Arduino
- Presa MIDI
- 1N4148 díode
- Acoblador opto 6N138
- resistències: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- Tira LED WS2812B (60 LED)
- alguns cables sobrants
- tubs termorretractables
- carcassa adequada per a l'Arduino (faig servir una caixa de connexions de plàstic)
També necessitareu
- soldador i soldador
- Teclat MIDI i cable MIDI
Pas 1: l'electrònica
El circuit és força senzill. Consisteix en una entrada MIDI estàndard (esquerra de l’Arduino) i la connexió a la tira LED (dreta de l’Arduino). Col·loqueu totes les parts a la pantalla protectora, hi ha molt d’espai. En general, es recomana utilitzar una font d’alimentació externa per alimentar la tira de LED, però he trobat que quan es juga, només hi ha pocs LED encesos al mateix temps, de manera que hi ha cap problema a l’hora d’utilitzar l’Arduino + 5V / GND com a sortida de potència. (Intenteu evitar colpejar totes les tecles al mateix temps i a tota velocitat.;-)) Si decidiu utilitzar una font d'alimentació externa, simplement connecteu-la als pins Arduino + 5V i GND. Algunes persones recomanen inserir un condensador de 100uF (no es mostra en un esquema) entre aquestes dues línies.
Soldeu les peces al prototip i connecteu la tira LED tal com es mostra a l’esquema.
Pas 2: Connexió de la tira LED
És important connectar l'extrem dret (l'extrem d'entrada) de la tira LED al circuit. La meva tira té un connector femella com a entrada i té petits triangles que apunten allunyats de l'entrada. A la sortida, hi havia un connector mascle (per poder connectar-lo a una altra tira, que no necessitem), així que el vaig tallar i el vaig soldar als tres cables que provenien de l'Arduino. Utilitzeu tubs termoretràctils per lligar els tres cables a la tira LED i fer-los menys visibles.
La tira LED que he fet servir ve amb cinta adhesiva a la part posterior, de manera que es pot enganxar fàcilment a la part posterior del teclat MIDI.
Pas 3: adapteu el projecte al vostre teclat
És possible que hàgiu d’adaptar la tira LED i el codi Arduino al vostre teclat. La meva té 76 tecles i la longitud de la tira és gairebé exactament l’amplada del teclat. Si teniu, per exemple, 61 tecles, és possible que necessiteu una tira més curta. La tira LED es pot tallar entre dos LED qualsevol. Assegureu-vos que esteu tallant la part correcta, que té un extrem d’entrada (amb un connector femella) i un extrem de sortida (amb un connector mascle), heu de mantenir l’extrem d’entrada. Al codi, canvieu el #defines per
- NUMBER_OF_LEDS al nombre de LED que queden a la tira després de tallar el final,
- NUMBER_OF_KEYS fins al nombre de tecles del teclat i
- MIN_KEY al número de pitch MIDI de la tecla més baixa. Podeu trobar-ho al manual d'usuari del teclat; o utilitzeu una eina que mostri el número de nota MIDI, com KMidiMon per a Linux o Pocket MIDI per a Windows o Mac; o proveu diferents valors fins que el dispositiu respongui a totes les tecles del teclat
Pas 4: el codi Arduino
El codi Arduino utilitza la biblioteca MIDI (v4.3.1) de Forty Seven Effects i la biblioteca Adafruit NeoPixel (v1.3.4) d’Adafruit. Instal·leu aquestes biblioteques mitjançant l'IDE Arduino. A continuació, compileu el codi i pengeu-lo a l’Arduino sense que el blindatge estigui connectat (l’optocoplador està connectat al pin RX, cosa que impedeix la càrrega). Enceneu l'Arduino mitjançant un cable USB (faig servir una berruga de paret USB).
Si voleu modificar el codi al vostre gust, aquí teniu una breu descripció general del seu funcionament: a cada bucle es llegeix l'entrada MIDI. Si s’ha rebut un esdeveniment Note On o Note Off, es criden a les funcions MyHandleNoteOn o MyHandleNoteOff. Tots dos anomenen la funció updateVelocityArray, que emmagatzema la velocitat (és a dir, quant heu premut la tecla) del número de clau. Si la velocitat és superior a la que s'emmagatzemava abans, el color del LED corresponent s'estableix en el "color actual". Després de gestionar els esdeveniments MIDI, es crida la funció updateLedArray. S'actualitza el "color actual" (els valors del vermell, el verd i el blau canvien independentment de manera lineal, fins que s'arriba a l'extrem inferior o superior, moment en què la velocitat del canvi lineal s'estableix en un nombre aleatori), redueix lentament la velocitat de les notes premudes i actualitza els valors de color de cada LED que ha de canviar el seu color (a causa del cop de nota nova o de la reducció de la velocitat). La funció showLedArray transfereix els colors a l'estructura Adafruit_NeoPixel anomenada "píxels" i fa que els LED reals mostrin els colors a l'estructura de píxels.
Pas 5: possibles millores …
Un projecte no s’acaba mai. Sempre es pot fer alguna cosa per millorar-lo:
- La protecció conté tan poques parts que realment és un malbaratament; fàcilment es podria aconseguir el mateix efecte amb un Arduino Nano i un PCB de 15x7 forats més algunes capçaleres de pin femelles.
- Alguns dels senyals MIDI es perden. Si és un NoteOn, el LED corresponent no s’encendrà; si es tracta d'un NoteOff, no s'apagarà (per això vaig introduir la reducció de velocitat, que garanteix que els LED no es mantinguin encesos indefinidament). Encara intento esbrinar el motiu. Possiblement sigui un problema de temps i MIDI.read () s’hauria de cridar més sovint.
- Alguns dels senyals MIDI no es llegeixen malament, és a dir, s’encenen els LED equivocats. Es podria connectar amb el punt anterior. Necessita una investigació.
- El circuit està dissenyat per donar un efecte visual agradable sense molta interacció de l'usuari (a part de tocar el teclat). Tanmateix, m’imagino afegir un potenciòmetre que es llegeix (mitjançant una de les entrades analògiques d’Arduino) amb el qual podeu canviar la velocitat màxima a la qual canvien els colors (actualment # define'd com a MAX_COLOR_CHANGE_SPEED = 20). O bé mesureu el temps mitjà entre dos esdeveniments NoteOn i canvieu MAX_COLOR_CHANGE_SPEED en conseqüència; en cançons lentes, el color hauria de canviar més lentament.
Pas 6: Fet
Alimenteu l'Arduino mitjançant un cable USB (faig servir una berruga de paret USB). Connecteu el teclat MIDI a la presa MIDI i comenceu a tocar. Mireu-me tocar una mica de música lleugera (joc de paraules, per molt dolent que sigui, intencionat).
Recomanat:
Tira LED controlada controlada per RC: 4 passos (amb imatges)
Franja LED Rgb controlada per RC: creeu la vostra pròpia tira led controlada per rc per a la il·luminació individual de la sala. Per apagar-lo, activar-lo o canviar el color, heu de mantenir-vos davant del receptor. Això és avorrit i no re
Tira LED Efecte sorprenent: 4 passos
Tira LED Efecte increïble: Hii amic, volem bons efectes de la tira LED. La tira LED decorarà la nostra habitació i, quan dóna efectes, l'habitació sembla increïble. Si la vostra tira LED és senzilla, aquest bloc és molt especial per a vosaltres, ja que en aquest bloc aprendràs com podem fer
Llum de paper de llum de tira LED: 4 passos
Llum de paper de llum de tira LED: totes les dimensions de la làmpada són 6x6x10. Vaig utilitzar la meva impressora 3D (CR-10 Mini) i algunes tires LED i aparells electrònics que vaig trobar a casa. És un gran llum d’escriptori
ESP8266 RGB LED STRIP WIFI Control - NODEMCU com a comandament a distància IR per a tira LED controlada per Wifi - Control de telèfons RGB LED STRIP: 4 passos
ESP8266 RGB LED STRIP WIFI Control | NODEMCU com a comandament a distància IR per a tira LED controlada per Wifi | Control de telèfons RGB LED STRIP: Hola nois, en aquest tutorial aprendrem a utilitzar nodemcu o esp8266 com a comandament a distància IR per controlar una tira LED RGB i Nodemcu serà controlat per smartphone mitjançant wifi. Així, bàsicament, podeu controlar la RGB LED STRIP amb el vostre telèfon intel·ligent
Controlador de llum de tira LED 5V MIDI per al Spielatron o un altre sintetitzador MIDI: 7 passos (amb imatges)
Controlador de llum de tira LED 5V MIDI per a Spielatron o un altre sintetitzador MIDI: aquest control parpelleja llums de tires LED tricolors per 50 mS per nota. Blau per a G5 a D # 6, vermell per a E6 a B6 i verd per a C7 a G7. El controlador és un dispositiu MIDI ALSA perquè el programari MIDI pugui emetre als LED alhora que un sintetitzador MIDI