Indholdsfortegnelse:
Video: HX1 -DM - Upcycled Arduino DUE Powered DIY Trommemaskine (lavet med en død maskine MK2): 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Spec
- Hybrid Midi controller / trommemaskine: Arduino DUE drevet!
- 16 Velocity sensing pads med meget lav latenstid 1> ms
- 8 knapper bruger kan tildeles enhver Midi #CC kommando
- 16ch indbygget sequencer (ingen computer nødvendig !!)
- MIDI in/out/thru -funktionalitet (kan bruges som USB midi -interface!)
- Delvis MIDI -ur og MTC -understøttelse (arbejder med MMC- og DAW -kontrol)
Dette er helt sikkert et af de mest komplicerede projekter, jeg har arbejdet med, talte 17 output shift -registre, 6 input shift -registre, 2x 16 -kanals multiplexere, der arbejder på et kredsløbskort. Jeg aner ikke, hvad der er hvad og hvor plus jeg har aldrig rodet med skifteregistre / multiplexere før ……
Det startede som et impulskøb fra eBay, jeg ville virkelig have en Native Instruments Maschine, fordi jeg altid kunne lide trommepuderne på dem i forhold til dem på MPC -studiet, jeg ejede, så da jeg så en defekt på eBay for £ 40, - tænkte jeg Jeg ville prøve at ordne det med det værste tilfælde: 'Hvis jeg ikke kan ordne det, har jeg en Arduino DUE og et par UNO'er liggende, jeg kunne altid lave nogle hack'
Jeg kan virkelig godt lide de trommepuder alligevel !!!!
Forbrugsvarer
1 x defekt Native Instruments Maschine MK2
1 x Arduino Due.
17 x SN74HC595’er - 8 -bit output shift -registre
6 x SN74HC165’er - 8 -bit input shift -registre
2 x 74HC4067 - 16 kanals multiplexere.
2 x 3,2”256x64 OLED -skærme.
noget fladt kabel (gammelt diskettekabel vil gøre)
Trin 1: Reparationen
EBay -sælgeren var venlig nok til at give en idé om, hvad de kunne forvente i beskrivelsen og havde fjernet USB -porten. Tavlen havde lidt en overspænding og startede ikke. Sigt multimeteret …. Tavlen syntes at have en kort.. 'Jeg har repareret utallige bundkort med shorts før Så hvor svært kan det være!?!' Det viste sig at denne overspænding (og sandsynligvis til dels borddesignet) havde taget næsten HVERE ud komponent på kortet inklusive hoved -CPU'en. Dette bord var på en virkelig dårlig måde!
Jeg fortsatte med at prod & stikke med mit multimeter, undersøgte lidt om komponenterne og fandt ud af, hvad hver enkelt gør plus NI gjorde et godt stykke arbejde med at gøre tingene ganske indlysende med de forskellige testpunkter omkring bundkortet ??.
Trin 2: Hacket
Da jeg vidste, at jeg bliver nødt til at udskifte alt på hoved -CPU'en (hvilket ikke er nødvendigt), vendte jeg mig til eBay. Heldigvis var alt, hvad der var nødvendigt, billigt, så det var sjovt at bestille en masse af dem. ?
17 x SN74HC595’er - 8 -bit output shift -registre
De 17 output shift-registre bruges til at styre trommepadens flerfarvede lysdioder og alle knap-LED'er (136 for at være præcis !!) Disse er virkelig nemme at bruge og fandt hurtigt et bibliotek ved hjælp af Arduino IDE for at spare mig selv for at lave en.. de er lænket sammen.
6 x SN74HC165’er - 8 -bit input shift -register
Disse input shift -registre er gode til flere input på 1 kanal. Der er i alt 48 knapper.
2 x 74HC4067 - 16 kanals multiplexere
Vi har 16 puder og 8 knapper tilbage, disse er også analoge. Jeg fandt det lettere at bruge disse, da dem på tavlen var 8 -kanal, og jeg havde problemer med at finde, hvor jeg skulle tilslutte datastifterne. Cue spaghetti junction….
2 x 3,2”256x64 OLED -skærme
Det skal have nogle skærme !!! Jeg kunne ikke finde nogen oplysninger om de originale LCD -skærme, der kom i NI -maskinen, og jeg kunne ikke genere at spilde mere tid på at prøve, så jeg besluttede at bestille nogle fra Kina … Jeg brugte UG8x8 -biblioteket til at få disse til at fungere. De nye skærme var lidt mindre end originalen, så jeg slettede bare de 'dårlige bits' af.
1 x Arduino Due
Jeg havde dette liggende et stykke tid og ventede på et projekt, der var værdigt nok til al den kraft !! Der opstod et problem, jeg stødte på. Det ser ud til, at nogle revisioner af disse tavler har et nulstillingsproblem, der betød, at jeg nogle gange måtte trykke på nulstillingsknappen for at få tingen til at køre efter at have uploadet en skitse. Dette blev let løst med en 10K modstand (der er et indlæg på Arduino forum om dette).
Trin 3: Koden
Jeg var virkelig imponeret over, hvor meget støtte der er i Arduino -samfundet, at finde kodeeksempler og biblioteker til de forskellige komponenter var virkelig enkelt og ligetil.
Det var let at få USB midi i gang og tog et par minutter. Lysdioderne tog noget tid, og jeg var nødt til at oprette en skitse, der trinvist satte hver pin HIGH i intervaller på 1 sekund og tog en note.. Jeg lavede en matrix, der indeholdt PIN -numrene for at gøre det lettere, når det kom til at kode alt op.
Jeg lavede 2 biblioteker til at tale med multiplexerne, den ene håndterer de analoge puder og den anden håndtagene. Igen var dette virkelig simpelt. Jeg har vedhæftet dem, brug gerne redigering osv.
Jeg ville have en sequencer og muligheden for at optage uden brug af en computer, jeg fandt nogle oplysninger om, hvordan man konverterer BPM til ms og fandt et fantastisk Arduino DUE timer -bibliotek.
Ved hjælp af timerbiblioteket kunne jeg indstille læseinput og ting i intervaller:
Pads @ 1ms - Jeg fandt dette for at give den bedste balance mellem respons / de -bounce artefakter.
Buttons @ 40ms - Jeg brugte et købibliotek, så ingen tryk blev savnet.
Behandlingen udføres i hovedsløjfen, du kan ikke gøre for meget, når du er i en afbrydelse, da dette vil låse Arduino.
Midi stuff @BPM (i ms) - for sekventeringen kaldes ved den ønskede BPM en funktion, der opdaterer hvilke noter ETC skal afspilles og øger beattælleren.
Trin 4: Konklusion
Jeg er ikke sikker på, hvad jeg har lavet her, men jeg er ret stolt, puderne reagerer fremragende, jeg var nødt til at rode med timingen for at få den rigtige balance med lydhørhed og debounce -problemer. Sekventeringen fungerer fantastisk, og når jeg har fundet ud af DAW -understøttelsen, kan jeg fuldt ud integrere denne ting i min arbejdsgang og kan tilføje ting i en controller, jeg altid har ønsket!. Dette var et virkelig sjovt projekt at arbejde på og en fantastisk øvelse i at få styr på C, forståelse af reverse-engineering og hvordan multiplexere, skiftregistre og MIDI-sekventering fungerer. Jeg fortsætter med at forbedre hovedkoden og frigiver den måske en dag som en open source -rytmedesigner.
TIPS:
Jeg fandt, hvordan jeg ændrede USB -navnet på DUE ved at redigere en af overskriftsfiler i Arduino/SAM -mappen.
MIDI-OX er et fantastisk værktøj til test af Midi-funktionalitet
LINKS:
www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Nogle oplysninger om, hvordan man konverterer BPM til ms
travis-ci.com/SMFSW/Queue - Til knapindgange, så vi ikke går glip af nogen tryk!
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib til LED/LCD -skærme
github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib
www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib til den store knap
shiftregister.simsso.de/ - ShiftIn Register lib - Oprettet af Henrik Heine, 24. juli 2016
forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code stuff
Anbefalede:
Raspberry Pi trommemaskine: 5 trin
Raspberry Pi Drum Machine: Sample Sequencer, via en Raspberry Pi + Python. Sequencer har 4 polyfoni og giver brugeren mulighed for at gemme og cue op til 6 forskellige sekvenser, som de kan skifte mellem i realtid, og understøtter evnen til at skifte mellem forskellige prøver . Jeg w
Enkel trommemaskine med Arduino Uno og Mozzi: 4 trin
Enkel trommemaskine med Arduino Uno og Mozzi: At bo i Argentina betyder, at international post bliver stjålet eller går i stå i tolden. Tilføj Corona -karantæne, og dit næste projekt er begrænset til et gammelt Arduino Uno -bord. Gode nyheder? Som den store digter fra Rolling Stones siger “Time is on m
Makey Makey elektriske trommer / trommemaskine: 8 trin
Makey Makey elektriske trommer / trommemaskine: Denne vejledning i, hvordan man bygger et sæt elektriske tromler, er en indgang i Makey Makey -konkurrencen. Materiale, varierer med tilgængelighed og personlige valg. Karton kan udskiftes med mere holdbare materialer og lagvis med skum/ andet til tex
Reparation af død bærbar batteri: 16 trin (med billeder)
Reparation Død bærbar batteri: Vi ved det alle sammen. Pludselig holder din bærbare batteris batteri op med at fungere. Det oplades ikke, og i det øjeblik du trækker opladeren ud, slukker den bærbare computer. Du har et dødt batteri. Jeg har en rettelse, der vil genoplive den. Bemærk, at vi kun genopliver et dødt slag
Lav en magnet DC -generator fra en død mixer Motor DIY: 3 trin (med billeder)
Lav en magnet DC -generator fra en død mixer Motor DIY: Hej! I denne instruktive vil du lære at omdanne en død blender/boremaskine motor (Universal motor) til en meget kraftig Permanent Magnet DC generator. Bemærk: Denne metode kan kun anvendes, hvis feltspolerne på en Universalmotor brænder