Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg har nylig designet denne MIDI -kontrolleren for å betjene uttrykket looper som er innebygd i Boss DD500 forsinkelsespedal. Jeg styrer hele gitarriggen min ved hjelp av et Behringer FCB MIDI -kort, og dette lar meg endre patcher på forsinkelsespedalen i effektløkken, samtidig som jeg bytter forsterkerkanaler samtidig.
DD500 har en veldig grunnleggende looper -funksjon innebygd, men en av ulempene med den er at når looper er aktiv, styres den av fotbryterne på pedalen. Dette betyr at du ikke kan endre oppdateringer på pedalen mens sløyfen er aktiv, ettersom den i hovedsak fanget opp fotbryterens funksjoner. Siden jeg bruker MIDI, eksisterer ikke denne begrensningen, siden det ganske enkelt er et fysisk problem. Dette betydde imidlertid å reservere 5 fotbrytere på min viktigste MIDI -kontroller for looper, og derfor bestemte jeg meg for å bygge en egen kontroller for dem.
Min første plan for dette var å ta et lite Hammond -kabinett og sette 5 fotbrytere inn og lære meg selv noen grunnleggende Arduino -koding. Etter hvert som jeg begynte å lære mer og koden min fungerte, endte det opp med å motivere meg til å prøve flere ting, og så snøballet det i grunnen til noe større.
Trinn 1: Konsepter
En av de tidlige ideene var å bare ha 5 knapper på rad med status -LED. Dette var ganske enkelt å spotte på et brødbrett med Arduino. Tillegget av nye funksjoner og maskinvare endte opp som en prosess der jeg hele tiden designet og redesignet det fysiske oppsettet på papir og bygde videre på breadboard -prosjektet. Selv med mye planlegging, ble mye av arbeidet med dette noe gjort i farten i starten.
De to bildene ovenfor viser den aller første tegningen jeg forpliktet meg til papir, som startet ideen i utgangspunktet, etterfulgt av en måned med notater etter det som formet de fysiske og PCB -oppsettene.
Trinn 2: Protoyping av brødbrett
Hele prosjektet ble bygget på et brødbrett og fullstendig testet for å sikre at det fungerte fullt ut med DD500 før det startet arbeid med permanent bolig. Noen ekstra funksjoner ble lagt til i koden, noe som ga kontrolleren noen ekstra funksjoner DD500 manglet. Disse vil bli diskutert mer fullstendig i kodeseksjonen.
Pedalen har 5 fotbrytere, 4 status -LED -er, 5 I2C LCD -skjermer og styres av en Arduino Nano Every. Den får strøm fra en 9V gitarpedal -PSU ved hjelp av en separat breakout -boks som fører den strømmen over MIDI -kabelen ved hjelp av de 2 pinnene som normalt ikke brukes på en MIDI -kontakt.
Trinn 3: Fremstilling
Jeg så på mange mulige tilfeller for bolig i prosjektet, og vurderte til og med ideen om å prøve å bøye min egen sak fra aluminiumsplater. Til slutt bosatte jeg meg på et Hammond -kabinett som var akkurat så bredt at det kunne huse de 5 16X2 LCD -skjermene jeg hadde valgt.
Fotbryterne var generiske midlertidige soft-touch brytere.
På dette stadiet bestemte jeg meg for å lage tilpassede skjermrammer for å holde fronten ren, ettersom jeg ville kutte skjermhullene for hånd med en Dremel og visste at det sannsynligvis ville være noen få områder som var mindre enn perfekte. Jeg fikk disse kuttet av et lokalt designstudio som laserskjærer, først som pappmaler for å sikre at størrelsene mine var alle riktige, og deretter i 3 mm hvit akryl for det siste stykket.
Trinn 4: CAD-modell og layout
Fra papirskissene mine brukte jeg Inkscape til å legge ut alle de fysiske komponentene og fullføre størrelser og posisjoner. Jeg kom også med skjermmonteringsmetoden på dette tidspunktet. For å minimere mengden synlige bolter på forsiden, bestemte jeg meg for å montere alle skjermene på noen aluminiumsplater bakfra ved hjelp av stand-offs, og da ville jeg bare trenge 4 bolter per plate for å feste dem til kabinettet, som ville også holde skjermrammene på plass.
Trinn 5: PCB -design
For å lage kretskortet brukte jeg et nettsted som heter EasyEDA. Den har et redaktørmiljø der du kan tegne en skjematisk oversikt over komponentene dine, gjøre det til et PCB -oppsett og deretter eksportere det direkte til JLCPCB for å ha gjort det til tavler. Jeg hadde aldri gjort noe lignende før, men de har en utmerket guide på nettstedet som forklarer hvordan redaktøren fungerer, og i løpet av en time fikk jeg styret designet og bestilt.
Noen områder på tavlen var dårlig designet den gangen på grunn av uerfarenhet, for eksempel å bruke en enkelt 5V -skinne for skjermkraft, for eksempel i stedet for å gi hver en separat feed. Heldigvis var ikke alle spenningsfall som oppstod nok til å forårsake problemer med skjermene.
Styrene ankom omtrent 2 uker senere og jobbet heldigvis uten problemer.
Trinn 6: Skjermfester
De første delene som ble laget var skjermfestene. Jeg brukte 3 mm aluminium til dette og boret hull for stand-offs. Dimensjonene ble bestemt ved å legge alt ut på skrivebordet slik jeg ønsket at den siste pedalen skulle være og måle fra monteringshullene på skjermens PCB. Jeg plasserte også fotbryterne hos dem for å få avstandene for dem.
Når alle hullene var boret ble skjermene montert og sjekket for firkant ved å holde en linjal mot de flate bunnkantene. Alt stilte opp så langt.
Trinn 7: Vedlegg
Neste opp var å endre saken. Fotbryterne og lysdiodene var enkle da de hver enkelt krevde et hull på 12 mm og 5 mm.
Hovedtyngden av det fysiske arbeidet kom når skjærehullene ble kuttet ut. Jeg brukte en Dremel med noen kraftige kappeskiver og forskjellige filer for å rydde opp i hullene etterpå. Denne delen tok omtrent 2 timer alt i alt.
Kapslingen jeg brukte var designet for industrielle formål og ble laget ved å bøye et enkelt stykke metall og punktsveise hjørnene. Dette betydde at det ville kreves litt arbeid for å rense disse hjørnene ved å bruke bilkarosseri for å utjevne de lave flekkene og fylle hullene på kanten.
På dette tidspunktet var saken fullstendig forberedt, og jeg hånet på alt for å se hvordan det ville se ut.
Trinn 8: Uh-Oh
Og så kom erkjennelsen av at til tross for all planlegging og måling, hadde jeg gjort en STOR feil. Jeg utformet tavlen og etuioppsettet uavhengig av hverandre. I hodet mitt ville tavlen sitte nesten i flukt mot toppveggen, med en kort avstand bak den. Men det var absolutt ingen måte dette kunne passe. Og det var ikke plass til å legge det til siden heller. Et stort forsømmelse, men heldigvis en som jeg var i stand til å rette opp siden det fortsatt var ganske mye plass mellom skjermfestene på bakdekselet på saken. Noen flere hull bores i skjermfestene og et par stand-offs, og vi er i gang igjen, med akkurat nok plass til å få dekselet på.
Trinn 9: Maling
Alt ble demontert igjen, og saken ble malt Metallic Candy Red, etterfulgt av noen strøk lakk. Saken ble herdet i en uke, selv om jeg oppdaget at lakken fortsatt var litt myk på dette tidspunktet da jeg bygde alt opp. Noen få små områder av malingen ble skadet på grunn av dette. Noe jeg har som mål å unngå i mitt neste prosjekt.
I løpet av denne tiden hadde jeg kjøpt en 3D -skriver, og bestemte meg for å bruke den til å lage noen skiver til fotbryterne, ettersom nylonene jeg hadde kjøpt hadde en fryktelig gulaktig fargetone og var dårlige.
Trinn 10: Kabling
Den siste delen av fysisk montering var å koble alt. Igjen, problemene med casedesign/PCB -design kom opp igjen, og noen av topplasser på PCB betydde å krysse mange ledninger over hverandre, noe som gjorde ting litt mer rotete enn jeg hadde håpet.
Ledningene til skjermene ble samlet i sett med 4, og ved hjelp av varmekrymp og flettet omslag, laget til ett stykke.
Trinn 11: Arduino -kode
Som en nybegynner for Arduino -koding lærte jeg meg selv mens jeg gikk. Koden er sannsynligvis programmeringsekvivalenten til en "lang vei rundt", men jeg var glad for at den fungerte etter hensikten.
Looper på DD500 har 5 grunnleggende funksjoner:
- Looper på/av
- Record/Overdub/Play
- Spill innspilt loop
- Stopp avspillingen
- Slett innspilt sløyfe
Hver av disse funksjonene har en tilsvarende fotbryter og, med unntak av stoppknappen, en status -LED. LCD -skjermene oppdateres også med relevant informasjon for å vise om pedalen er i opptak, overdubbing eller avspillingsmodus samt hvilken funksjon hver fotbryter vil utføre avhengig av hva som skjer på det tidspunktet.
En annen funksjon jeg la til var å holde oversikt over hvor mange ganger posten/overdub -funksjonen ble aktivert. Dette holdes oversikt over i koden ved å øke et heltall, som vises på "buffer" -skjermen, og viser hvor mange spor som er spilt inn. Selv om DD500 ikke kan slette individuelle spor, la jeg til dette bare som en kodeøvelse for å se om jeg kunne få det til å fungere.
Det ser ut til å være et problem med å laste opp filer til Instructables, og derfor har jeg lagt en kopi av koden på Pastebin i stedet på:
2 biblioteker ble brukt i koden:
LiquidCrystal_I2C
FortySevenEffects MIDI -bibliotek
Trinn 12: Konklusjon
En av de største tingene jeg tar fra dette prosjektet er at planlegging så mye du kan på forhånd kan unngå potensielle problemer. Problemene med min PCB -montering fremhever viktigheten av dette. Å holde gode notater er også noe jeg anbefaler på det sterkeste. Uten dem kan jeg ha støtt på flere problemer enn jeg hadde. Jeg bygger for tiden min andre MIDI -kontroller, og denne gangen har jeg gjort en større innsats for å effektivisere koden min, og designe maskinvaren min rundt hvordan kretskortet skal monteres.