Taula de continguts:
Vídeo: HX1-DM: la bateria de bricolatge Powered Arduino DUE reciclada (fabricada amb un Dead Maschine MK2): 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
L’espec
- Controlador Midi híbrid / bateria: alimentat per Arduino DUE.
- 16 coixinets de detecció de velocitat amb latència molt baixa de 1> ms
- Usuari de 8 comandaments assignables a qualsevol ordre Midi #CC
- Seqüenciador incorporat de 16 canals (no cal ordinador !!)
- Funcionalitat MIDI in / out / thru (es pot utilitzar com a interfície midi USB!)
- Rellotge MIDI parcial i suport MTC (treballant en control MMC i DAW)
Sens dubte, aquest és un dels projectes més complicats en què he treballat, parlava de 17 registres de desplaçament de sortida, 6 registres de desplaçament d’entrada, multiplexors de 2 x 16 canals que treballen en una placa de circuit. amb registres de desplaçament / multiplexors abans …
Va començar com una compra impulsiva a eBay, realment volia una màquina Native Instruments perquè sempre m’han agradat les pastilles de bateria que hi havia en comparació amb les de l’estudi MPC que tenia, de manera que quan vaig veure-ne un defectuós a eBay per 40 lliures esterlines, vaig pensar Donaria una oportunitat a solucionar-ho, amb el pitjor dels casos: "Si no puc solucionar-ho, tinc un Arduino DUE i hi ha uns quants UNO estirats, sempre podria fer algun hack"
De totes maneres, m'agraden molt aquestes bateries !!!!
Subministraments
1 x Native Instruments Maschine MK2 defectuós
1 x Arduino Due.
17 x SN74HC595’s: registres de desplaçament de sortida de 8 bits
6 x SN74HC165’s: registres de desplaçament d’entrada de 8 bits
2 x 74HC4067: multiplexors de 16 canals.
Pantalles OLED de 2 x 3,2”de 256x64.
una mica de cable pla (el cable de disquet vell farà)
Pas 1: la reparació
El venedor d'eBay va tenir l'amabilitat de donar-se una idea de què podia esperar a la descripció i va eliminar el port USB. La junta havia patit un sobretensió i no es va encendre. Cue el multímetre…. El tauler semblava tenir un curt.. "Ja he reparat innombrables plaques base amb pantalons curts. Què tan difícil pot ser??". Va resultar que aquesta sobretensió (i probablement en part el disseny de la placa), havia tret gairebé TOTS component de la placa que inclou la CPU principal. Aquest tauler estava molt malament!
Vaig continuar produint i punxant amb el meu multímetre, vaig investigar una mica sobre els components i vaig descobrir què fa cadascun, a més de que NI va fer un gran treball fent les coses bastant evidents amb els diversos punts de prova al voltant de la placa base ??.
Pas 2: el hack
Sabent que hauré de substituir tot el que sigui la barra principal de la CPU (que no serà necessària), em vaig adreçar a eBay. Gràcies a tot el que necessitava era barat, de manera que demanar-ne un munt era divertit. ?
17 x SN74HC595’s: registres de desplaçament de sortida de 8 bits
Els 17 registres de desplaçament de sortida s’utilitzen per controlar els LED multicolors de la bateria i tots els LED de botons (136 per ser exactes !!) Aquests són realment fàcils d’utilitzar i van trobar ràpidament una biblioteca que utilitza l’IDE Arduino per estalviar-me fent un.. estan encadenats.
6 x SN74HC165’s: registre de desplaçament d’entrada de 8 bits
Aquests registres de desplaçament d’entrada són ideals per a diverses entrades en 1 canal. Hi ha 48 botons en total.
2 x 74HC4067: multiplexors de 16 canals
Ens queden 16 coixinets i 8 poms que també són analògics. Em va semblar més fàcil utilitzar-los, ja que els que hi havia al tauler eren de 8 canals i vaig tenir problemes per trobar on connectar els pins de dades … cue spaghetti junction ….
Pantalles OLED de 2 x 3,2”de 256x64
Ha de tenir algunes pantalles !!! No vaig trobar cap informació a les pantalles LCD originals que venien a la màquina NI i no em podia molestar perdre el temps provant, així que vaig decidir demanar-ne una de la Xina … Vaig fer servir la biblioteca UG8x8 per fer-les funcionar. Les noves pantalles eren lleugerament més petites que l'original, de manera que acabo de deixar de banda els "trossos dolents".
1 x Arduino Due
Vaig tenir això estirat durant un temps esperant un projecte prou digne per a tot aquest poder !! Hi ha hagut un problema, sembla que algunes revisions d'aquestes taules tenen un problema de restabliment que significava que de vegades havia de prémer el botó de restabliment per executar el missatge després de penjar un esbós. Això es va solucionar fàcilment amb una resistència de 10K (hi ha una publicació al fòrum Arduino sobre això).
Pas 3: el codi
Em va impressionar molt la quantitat de suport que hi ha a la comunitat Arduino, trobar exemples de codi i biblioteques per als diferents components va ser molt senzill i senzill.
Posar en funcionament el midi USB va ser fàcil i va trigar uns minuts. Els LED van trigar una mica i vaig haver de crear un esbós que ajustés incrementalment cada pin HIGH en intervals d’1 segon i vaig prendre una nota.. Vaig fer un array que contenia els números PIN per facilitar-lo a l’hora de codificar tot.
Vaig fer 2 llibreries per parlar amb els multiplexors, una maneja els coixinets analògics i l’altra els comandaments. De nou, això va ser realment senzill. Els he adjuntat, no dubteu a utilitzar editar, etc.
Volia tenir un seqüenciador i la possibilitat de gravar sense la necessitat d'un ordinador, vaig trobar informació sobre com convertir BPM a ms i vaig trobar una gran biblioteca de temporitzadors Arduino DUE.
Mitjançant la biblioteca del temporitzador vaig poder configurar les entrades de lectura i les coses a intervals:
Coixinets @ 1ms: he trobat això per oferir el millor equilibri entre els artefactes de resposta o de rebot.
Buttons @ 40ms: he utilitzat una biblioteca de cues de manera que no heu perdut cap premsa.
El processament es realitza al bucle principal; no es pot fer massa quan es produeix una interrupció, ja que bloquejarà l’Arduino.
Midi stuff @BPM (en ms): per a la seqüenciació, en el BPM desitjat, es diu una funció que actualitza les notes ETC que es reprodueixen i augmenta el comptador de ritmes.
Pas 4: Conclusió
No estic segur del que he fet aquí, però estic molt orgullós, les pastilles responen excel·lentment, vaig haver de jugar amb el moment per obtenir un equilibri adequat amb problemes de capacitat de resposta i de rebot. La seqüenciació funciona molt bé i, un cop comprovat el suport de DAW, puc integrar completament aquesta cosa al meu flux de treball i puc afegir coses a un controlador que sempre he volgut. Va ser un projecte molt divertit i un exercici fantàstic. a l’hora d’afrontar C, entendre l’enginyeria inversa i com funcionen els multiplexors, els registres de desplaçament i la seqüenciació MIDI. Continuo millorant el codi principal i és possible que el publiqui algun dia com a dissenyador de ritme de codi obert.
CONSELLS:
He trobat com canviar el nom USB del DUE editant un dels fitxers de capçalera de la carpeta Arduino / SAM.
MIDI-OX és una gran eina per provar la funcionalitat Midi
ENLLAÇOS:
www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Alguna informació sobre com convertir BPM a ms
travis-ci.com/SMFSW/Queue - Per a les entrades de botons perquè no ens perdin les pulsacions.
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib per a pantalles LED / LCD
github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib
www.pjrc.com/teensy/td_libs_Encoder.html - Lib codificador per al comandament gran
shiftregister.simsso.de/ - ShiftIn Register lib - Creat per Henrik Heine, 24 de juliol de 2016
forum.arduino.cc/index.php?topic=57636.0 - Codi de temps MIDI
Recomanat:
Lent macro de bricolatge amb AF (diferent a la resta de lents macro de bricolatge): 4 passos (amb imatges)
Lents macro de bricolatge amb AF (diferents a la resta de lents macro de bricolatge): he vist molta gent fabricant objectius macro amb un objectiu de kit estàndard (normalment de 18 a 55 mm). La majoria són objectius que només s’enganxen a la càmera cap enrere o s’elimina l’element frontal. Hi ha desavantatges per a aquestes dues opcions. Per muntar l'objectiu
Banc d'energia solar de 5 $ amb bateria d'ordinador portàtil reciclada: 5 passos (amb imatges)
Banc d'energia solar de 5 $ amb bateria d'ordinador portàtil reciclada: ja que alguns sabeu que la meva universitat tenia una exposició científica, la seva participació també era una competició de presentació de projectes per als juniors. El meu amic estava interessat a participar-hi, em van preguntar què fer, els vaig suggerir aquest projecte i
Bateria de ions de lió 4S 10P 280Wh fabricada amb bateries d'ordinadors portàtils reciclats: 6 passos (amb imatges)
Bateria de li-ió 4S 10P 280Wh fabricada amb bateries d’ordinadors portàtils reciclades: durant l’últim any, he estat recopilant bateries d’ordinadors portàtils i processant i ordenant les 18650 cel·les del seu interior. El meu ordinador portàtil es fa vell ara, amb un gen i7 de 2dn, menja energia, de manera que necessitava alguna cosa per carregar-lo a la marxa, tot i que portava aquesta ba
Filadora LED Fidget fabricada amb paper: 6 passos (amb imatges)
LED Fidget Spinner fabricat amb paper Ara bé, si no heu llegit la meva altra instrucció, https://www.instructables.com/id/Paper-Fidget-Spin … Us recomano que ho feu. T'ensenya a dissenyar un
Torxa LED senzilla: fabricada amb bateria reciclada: 6 passos
Torxa LED senzilla: fabricada amb bateria reciclada: he utilitzat un LED vermell per a aquesta instrucció, perquè és més fàcil de veure que un clar i no en tenia un de clar. Si en feu una d’aquestes amb les instruccions, serà molt més brillant que la de la foto, és més fàcil