Innehållsförteckning:
Video: HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (made with a Dead Maschine MK2): 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Spec
- Hybrid Midi controller / trumma: Arduino DUE driven!
- 16 hastighetsavkännande kuddar med mycket låg latens 1> ms
- 8 rattar användare som kan tilldelas alla Midi #CC -kommandon
- 16ch inbyggd sequencer (ingen dator behövs !!)
- MIDI in/out/thru -funktion (kan användas som ett USB midi -gränssnitt!)
- Delvis MIDI -klocka och MTC -stöd (arbetar med MMC- och DAW -kontroll)
Detta är definitivt ett av de mest komplicerade projekten jag har arbetat med, pratade 17 utmatningsskiftregister, 6 ingångskiftregister, 2x 16 kanals multiplexrar som arbetar på ett kretskort. Jag har ingen aning om vad som är vad och var plus jag har aldrig trasslat till med skiftregister / multiplexer före ……
Det började som ett impulsköp av eBay, jag ville verkligen ha en Native Instruments Maschine eftersom jag alltid gillade trumkuddarna på dem jämfört med dem på MPC -studion jag ägde så när jag såg en felaktig på eBay för £ 40 pund trodde jag Jag skulle försöka fixa det med det värsta scenariot: 'om jag inte kan fixa det har jag en Arduino DUE och några UNO ligger, jag kan alltid göra några hack'
Jag gillar verkligen de där trumkuddarna !!!!
Tillbehör
1 x defekt Native Instruments Maschine MK2
1 x Arduino Due.
17 x SN74HC595 - 8 -bitars utmatningsregister
6 x SN74HC165 - 8 -bitars ingångsskiftregister
2 x 74HC4067 - 16 kanals multiplexrar.
2 x 3,2”256x64 OLED -skärmar.
lite platt tråd (gammal diskettkabel kommer att göra)
Steg 1: Reparationen
EBay -säljaren var snäll nog att ge en uppfattning om vad man kan förvänta sig i beskrivningen och hade tagit bort USB -porten. Kortet hade fått en överspänning och startade inte. Titta på multimetern…. Kortet tycktes ha en kort..”Jag har reparerat otaliga moderkort med shorts innan Så hur svårt kan det vara!?!” Det visade sig att denna överspänning (och förmodligen delvis kortets design), hade tagit ut nästan VARJE komponent på kortet inklusive huvud -CPU. Denna tavla var på ett riktigt dåligt sätt!
Jag fortsatte att prod & peta med min multimeter, gjorde lite research på komponenterna och kom på vad var och en gör plus NI gjorde ett bra jobb med att göra saker ganska uppenbara med de olika testpunkterna runt moderkortet ??.
Steg 2: Hacket
När jag visste att jag kommer att behöva byta ut allt från huvudprocessorn (vilket inte kommer att behövas) vände jag mig till eBay. Tack och lov var allt som behövdes billigt så att beställa en massa av dem var kul. ?
17 x SN74HC595 - 8 -bitars utmatningsregister
De 17 utmatningsskiftregistren används för att styra trumpadens mångfärgade lysdioder och alla knapp-lysdioder (136 för att vara exakt !!) Dessa är riktigt enkla att använda och hittade snabbt ett bibliotek med Arduino IDE för att rädda mig själv att göra en.. de är kedjade ihop.
6 x SN74HC165 - 8 -bitars ingångsskiftregister
Dessa ingångsskiftregister är bra för flera ingångar på 1 kanal. Det finns totalt 48 knappar.
2 x 74HC4067 - 16 kanals multiplexrar
Vi har 16 kuddar och 8 rattar kvar, dessa är också analoga. Jag tyckte det var lättare att använda dessa eftersom de på tavlan var 8kanaliga och jag hade problem med att hitta var jag skulle ansluta datastiften.. cue spaghetti junction….
2 x 3,2”256x64 OLED -skärmar
Det måste ha några skärmar !!! Jag kunde inte hitta någon information om de ursprungliga LCD -skärmarna som kom i NI -maskinen och jag orkade inte slösa mer tid på att försöka så jag bestämde mig för att beställa lite från Kina … Jag använde UG8x8 -biblioteket för att få dessa att fungera. De nya skärmarna var något mindre än originalet så jag tömde bara bort de "dåliga bitarna".
1 x Arduino Due
Jag hade det här en stund och väntade på ett projekt som var tillräckligt värt för all den kraften !! Det var ett problem som jag stötte på. Det verkar som om vissa versioner av dessa kort har ett återställningsproblem som innebar att jag var tvungen att trycka på återställningsknappen ibland för att få saken att köras efter att jag lade upp en skiss. Detta fixades enkelt med ett 10K -motstånd (det finns ett inlägg på Arduino -forumet om detta).
Steg 3: Koden
Jag var verkligen imponerad över hur mycket stöd det finns i Arduino -samhället. Att hitta kodexempel och bibliotek för de olika komponenterna var verkligen enkelt och rakt fram.
Att få USB -midi igång var enkelt och tog några minuter. Lysdioderna tog lite tid och jag var tvungen att skapa en skiss som stegvis ställde in varje stift HÖG i 1 sekunders intervall och tog en anteckning.. Jag gjorde en matris som innehöll PIN -numren för att göra det lättare när det gäller att koda upp allt.
Jag gjorde 2 bibliotek för att prata med multiplexrarna, det ena hanterar de analoga kuddarna och det andra rattarna. Återigen var detta riktigt enkelt. Jag har bifogat dem gärna använda redigera etc.
Jag ville ha en sequencer och möjlighet att spela in utan att behöva en dator, jag hittade lite information om hur man konverterar BPM till ms och hittade ett bra Arduino DUE timerbibliotek.
Med hjälp av timerbiblioteket kunde jag ställa in läsinmatningar och saker i intervaller:
Pads @ 1ms - Jag fann detta för att ge den bästa balansen mellan svar / avstängningsartefakter.
Buttons @ 40ms - Jag använde ett köbibliotek så att inga tryck missades.
Bearbetningen sker i huvudslingan, du kan inte göra för mycket när du är i ett avbrott eftersom detta kommer att låsa Arduino.
Midi stuff @BPM (i ms) - för sekvensering, vid önskad BPM kallas en funktion som uppdaterar vilka anteckningar ETC ska spelas och ökar slagräknaren.
Steg 4: Slutsats
Jag är inte säker på vad jag har gjort här men jag är ganska stolt, kuddarna svarar utmärkt, jag var tvungen att busa med tidpunkten för att få rätt balans med lyhördhet och avstängningsproblem. Sekvensering fungerar utmärkt och när jag väl kommit fram till DAW -stödet kan jag helt integrera det här i mitt arbetsflöde och kunna lägga till saker i en controller som jag alltid har velat!. Detta var ett riktigt roligt projekt att arbeta med och en bra övning för att ta tag i C, förstå reverse-engineering och hur multiplexrar, skiftregister och MIDI-sekvensering fungerar. Jag fortsätter att förbättra huvudkoden och kan komma att släppa den en dag som rytmdesigner med öppen källkod.
TIPS:
Jag hittade hur man ändrar USB -namnet på DUE genom att redigera en av rubrikfilerna i Arduino/SAM -mappen.
MIDI-OX är ett utmärkt verktyg för att testa Midi-funktioner
LÄNKAR:
www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Lite information om hur man konverterar BPM till ms
travis-ci.com/SMFSW/Queue - För knappinmatningar så att vi inte missar några tryckningar!
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib för LED/LCD -skärmar
github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib
www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib för den stora ratten
shiftregister.simsso.de/ - ShiftIn Register lib - Skapat av Henrik Heine, 24 juli 2016
forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code -grejer
Rekommenderad:
Jammarduino DUE - DIY PC till Jamma -gränssnitt för arkadskåp: 6 steg
Jammarduino DUE - DIY PC till Jamma -gränssnitt för arkadskåp: Den här instruktionsboken visar hur du skapar en enkel skärm för Arduino DUE för att koppla en äkta arkadmaskin med låg upplösning CRT och jamma -kontakt till din PC. för att förstärka videosignalen som kommer från videon
Micro: bit - Micro Drum Machine: 10 steg (med bilder)
Micro: bit - Micro Drum Machine: Det här är en micro: bit mikrotrummaskin, som istället för att bara generera ljudet, trummar faktiskt. Det är tungt inspirerat av kaninerna från micro: bit orkestern. Det tog lite tid att hitta några solenoider som var enkla att använda med mocro: bit,
Text till tal Klicka på ett ARMbasic Powered UChip och andra ARMbasic Powered SBC: 3 steg
Text till tal Klicka på ett ARMbasic Powered UChip och andra ARMbasic Powered SBC: Intro: God dag. Jag heter Tod. Jag är en flyg- och försvarsproffs som också är lite av en nörd i hjärtat. Inspiration: härstammar från epoken med uppringd BBS, 8-bitars mikrokontroller, Kaypro/Commodore/Tandy/TI-994A persondatorer, när R
En Raspberry Pi Powered Junk Drum Machine: 15 steg (med bilder)
En Raspberry Pi Powered Junk Drum Machine: Denna instruktionsbok visar dig hur du gör en Raspberry Pi -driven trumma. Det är verkligen ett roligt, kreativt, interaktivt projekt. Jag visar dig hur du gör de interna funktionerna, men de faktiska trummorna kommer att vara upp till dig, vilket ger dig
Super GrooveAxe: Mini Drum Machine: 10 Steg (med bilder)
Super GrooveAxe: Mini Drum Machine: Feel the Tiny Boom! Känner du någonsin att du saknar några slag? Behöver din dag ett bättre soundtrack? Känn bommen med Super GrooveAxe! Det är en batteridriven maskin i fickformat & sequencer som du kan ta var som helst. Det gör kväll