Arduino MIDI jalkaohjain: 12 vaihetta
Arduino MIDI jalkaohjain: 12 vaihetta
Anonim
Arduino MIDI jalkaohjain
Arduino MIDI jalkaohjain

Suunnittelin äskettäin tämän MIDI -ohjaimen käyttämään Boss DD500 -viivepolkimeen sisäänrakennettua lauseen silmukkaa. Ohjaan koko kitaralaitteistoa Behringer FCB MIDI -kortilla, ja tämän avulla voin vaihtaa tehosilmukan viivepedaalin laastareita samalla kun vaihdan vahvistinkanavia.

DD500: ssa on sisäänrakennettu hyvin yksinkertainen silmukkatoiminto, mutta yksi sen haitoista on, että kun silmukka on aktiivinen, sitä ohjataan polkimen jalkakytkimillä. Tämä tarkoittaa, että et voi vaihtaa polkimen laastareita, kun silmukka on aktiivinen, koska se on olennaisesti jalkapolkimen toimintojen mukainen. Koska käytän MIDI: tä, tätä rajoitusta ei ole olemassa, koska se on yksinkertaisesti fyysinen ongelma. Tämä tarkoitti kuitenkin, että pidin 5 jalkakytkintä MIDI -pääohjaimessani silmukkaa varten, joten päätin rakentaa niille erillisen ohjaimen.

Alkuperäinen suunnitelmani oli ottaa pieni Hammond -kotelo ja laittaa 5 jalkakytkintä sisään ja opettaa itselleni perus Arduino -koodaus. Kun aloin oppia lisää ja koodini toimi, se päätyi motivoimaan minua kokeilemaan lisää asioita ja sitten se pohjimmiltaan lumipallotti jotain suurempaa.

Vaihe 1: Käsitteet

Käsitteet
Käsitteet
Käsitteet
Käsitteet

Yksi varhaisista ideoista oli vain viisi painiketta peräkkäin tila -LEDien kanssa. Tämä oli melko yksinkertainen mallinnus leipälaudalle Arduinon kanssa. Uusien ominaisuuksien ja laitteistojen lisääminen päätyi prosessiin, jossa suunnittelin ja suunnittelin jatkuvasti fyysistä ulkoasua paperille ja rakennettiin leipälautaprojektiin. Vaikka paljon suunnittelua, paljon työtä tämän eteen tehtiin hieman lennossa alussa.

Yllä olevissa kahdessa kuvassa näkyy ensimmäinen paperille tekemäni piirustus, joka aloitti idean, ja sen jälkeen kuukausi muistiinpanoja, jotka tehtiin fyysisen ja PCB -asettelun muotoilun jälkeen.

Vaihe 2: Leipälevyn esityyppi

Breadboard Protoyping
Breadboard Protoyping
Breadboard Protoyping
Breadboard Protoyping

Koko projekti rakennettiin leipälevylle ja testattiin täysin sen varmistamiseksi, että se toimii täysin DD500: n kanssa, ennen kuin aloitetaan sen pysyvä asentaminen. Joitakin lisäominaisuuksia lisättiin koodiin, mikä antoi ohjaimelle joitain lisätoimintoja, joita DD500: sta puuttui. Näistä keskustellaan tarkemmin koodiosassa.

Polkimessa on 5 jalkakytkintä, 4 tila -LEDiä, 5 I2C -LCD -näyttöä ja sitä ohjaa Arduino Nano Every. Se saa virtaa 9 V: n kitarapedaalin virtalähteestä erillisen katkaisulaatikon kautta, joka siirtää virran MIDI -kaapelin yli käyttämällä 2 nastaa, joita normaalisti ei käytetä MIDI -liittimessä.

Vaihe 3: Valmistus

Valmistus
Valmistus
Valmistus
Valmistus
Valmistus
Valmistus

Katsoin monia mahdollisia tapauksia projektin asentamiseksi ja jopa harkitsin ajatusta yrittää taivuttaa oma koteloni alumiinilevyistä. Lopulta päädyin Hammond -koteloon, joka oli juuri tarpeeksi leveä majoittamaan 5 valitsemaani 16X2 LCD -näyttöä.

Jalkakytkimet olivat yleisiä hetkellisiä pehmeän kosketuksen kytkimiä.

Tässä vaiheessa päätin valmistaa räätälöityjä näyttökehyksiä pitämään etupuolen siistinä, koska leikkaisin näytön reiät käsin Dremelillä ja tiesin, että todennäköisesti on muutamia alueita, jotka ovat vähemmän kuin täydellisiä. Leikkasin nämä paikallisella suunnittelustudiossa, joka tekee laserleikkausta, ensin pahvimalleina varmistaakseni, että kaikki kokoni olivat oikeat, ja sitten 3 mm: n valkoisessa akryylissä viimeiseksi kappaleeksi.

Vaihe 4: CAD-malli ja ulkoasu

CAD-malli ja ulkoasu
CAD-malli ja ulkoasu
CAD-malli ja ulkoasu
CAD-malli ja ulkoasu

Paperiluonnoksistani käytin Inkscapea kaikkien fyysisten komponenttien asettamiseen ja koon ja sijainnin viimeistelyyn. Keksin myös näytön kiinnitysmenetelmän tässä vaiheessa. Edessä olevien näkyvien pulttien määrän minimoimiseksi päätin asentaa kaikki näytöt joihinkin alumiinilevyihin takaa käyttämällä stand-off-laitteita ja tarvitsen sitten vain 4 pulttia levyä kohti niiden kiinnittämiseksi koteloon, mikä pitää myös näytön kehykset paikallaan.

Vaihe 5: Piirilevyjen suunnittelu

PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu

Piirilevyn luomiseen käytin EasyEDA -nimistä verkkosivustoa. Siinä on editoriympäristö, jossa voit piirtää kaavion komponenteistasi, muuttaa sen PCB -asetteluksi ja viedä sen sitten suoraan JLCPCB: hen, jotta se on tehty levyiksi. En ollut koskaan tehnyt mitään tällaista ennen, mutta heillä on erinomainen opas sivustolla, joka selittää, miten editori toimii, ja tunnin sisällä sain levyn suunnitella ja tilata.

Jotkin levyn alueet olivat tuolloin huonosti suunniteltuja kokemattomuuden vuoksi, kuten esimerkiksi yhden 5 V: n kiskon käyttäminen näytön teholle sen sijaan, että annettaisiin kullekin erillinen syöte. Onneksi mahdolliset jännitehäviöt eivät riittäneet aiheuttamaan ongelmia näytöissä.

Levyt saapuivat noin 2 viikkoa myöhemmin ja toimivat onneksi ilman ongelmia.

Vaihe 6: Näytön kiinnikkeet

Näytön kiinnikkeet
Näytön kiinnikkeet
Näytön kiinnikkeet
Näytön kiinnikkeet
Näytön kiinnikkeet
Näytön kiinnikkeet

Ensimmäiset osat olivat näytön kiinnikkeet. Käytin tähän 3 mm: n alumiinia ja porasin reikiä seisomaan. Mitat määritettiin asettamalla kaikki pöydälle, kuten halusin lopullisen polkimen olevan, ja mittaamalla näytön piirilevyjen asennusrei'istä. Laitoin myös jalkakytkimet heidän kanssaan saadakseen etäisyydet niille.

Kun kaikki reiät oli porattu, seulat asennettiin ja tarkistettiin niiden suorakulmaisuus pitämällä viivoitinta litteitä alareunoja vasten. Kaikki on järjestetty tähän mennessä.

Vaihe 7: Kotelo

Kotelo
Kotelo
Kotelo
Kotelo
Kotelo
Kotelo

Seuraavaksi oli tapauksen muokkaaminen. Jalkakytkimet ja LEDit olivat yksinkertaisia, koska ne vaativat vain 12 mm: n ja 5 mm: n reiän.

Suurin osa fyysisestä työstä tuli, kun leikattiin seulareiät. Käytin Dremeliä joidenkin raskaiden leikkauslevyjen ja erilaisten tiedostojen kanssa reikien puhdistamiseen. Tämä jakso kesti kaikkiaan noin 2 tuntia.

Käyttämäni kotelo on suunniteltu teollisiin tarkoituksiin ja se on tehty taivuttamalla yksi metalliosa ja hitsaamalla kulmat. Tämä tarkoitti sitä, että näiden kulmien puhdistaminen vaatii jonkin verran työtä käyttämällä auton korin täyteainetta matalan tason tasoittamiseen ja reunan aukkojen täyttämiseen.

Tässä vaiheessa tapaus oli täysin valmisteltu ja pilkkasin kaiken vain nähdäkseni, miltä se näyttää.

Vaihe 8: Öh

Voi ei
Voi ei
Voi ei
Voi ei
Voi ei
Voi ei

Ja sitten tuli oivallus, että kaikesta suunnittelustani ja mittauksistani huolimatta olin tehnyt yhden valtavan virheen. Suunnittelin levyn ja kotelon ulkoasun toisistaan riippumatta. Päässäni lauta istuisi lähes tasan yläseinää vasten, ja sen takana olisi lyhyt seisoma. Mutta tähän ei ollut mitään mahdollisuutta. Eikä myöskään ollut tilaa laittaa sitä sivulle. Valtava virhe, mutta onneksi se, jonka pystyin korjaamaan, koska kotelon takakannen näytön kiinnikkeiden välillä oli vielä melko vähän tilaa. Vielä muutama reikä porattu näytön kiinnikkeisiin ja pari seisokkia, ja olemme palanneet liiketoimintaan, ja meillä on vain tarpeeksi tilaa kannen saamiseksi.

Vaihe 9: Maalaa

Maali
Maali
Maali
Maali
Maali
Maali

Kaikki purettiin uudelleen, ja kotelo maalattiin Metallic Candy Red -punaiseksi, minkä jälkeen muutama lakkakerros. Kotelon annettiin kovettua viikon ajan, vaikka huomasin, että lakka oli vielä hieman pehmeä tässä vaiheessa, kun rakensin kaiken. Muutama pieni maalausalue vaurioitui tämän vuoksi. Jotain, mitä haluan välttää seuraavassa projektissani.

Tänä aikana olin ostanut 3D -tulostimen ja päätin käyttää sitä jalkapoljimien aluslevyjen valmistamiseen, koska ostamissani nailonpatruunoissa oli kauhean kellertävä sävy ja ne olivat huonokokoisia.

Vaihe 10: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

Fyysisen kokoonpanon viimeinen osa oli johdottaa kaikki. Taas ongelmat kotelon suunnittelussa/piirilevyn suunnittelussa nousivat jälleen esiin, ja jotkut piirilevyn otsikkokohdat merkitsivät paljon johtojen ylittämistä toistensa päälle, mikä teki asiat hieman sotkuisemmiksi kuin odotin.

Seulojen johdot niputettiin 4: n sarjaan ja käytettiin lämpökutistusta ja punottua kääriä yhdeksi kappaleeksi.

Vaihe 11: Arduino -koodi

Image
Image

Arduinon koodauksen aloittelijana opetin itseäni kulkiessani eteenpäin. Koodi on luultavasti "pitkän matkan" ohjelmointivastaava, mutta olin tyytyväinen, että se toimi suunnitellusti.

DD500: n looperilla on 5 perustoimintoa:

  • Looper päälle/pois
  • Tallenna/Overdub/Toista
  • Toista tallennettu silmukka
  • Pysäytä toisto
  • Tyhjennä tallennettu silmukka

Jokaisessa toiminnossa on vastaava jalkakytkin ja pysäytyspainiketta lukuun ottamatta tilan merkkivalo. Nestekidenäytöt päivittyvät myös asiaankuuluvilla tiedoilla, jotka osoittavat, onko poljin tallennus-, ylikopiointi- tai toistotilassa, sekä mitä toimintoja kukin jalkakytkin tekee riippuen siitä, mitä tapahtuu tällä hetkellä.

Toinen lisätty ominaisuus oli seurata, kuinka monta kertaa tietue/ylivirtatoiminto aktivoitiin. Tätä seurataan koodissa lisäämällä kokonaislukua, joka näkyy puskurinäytössä ja jossa luetellaan kuinka monta raitaa on tallennettu. Vaikka DD500 ei voi poistaa yksittäisiä raitoja, lisäsin tämän vain koodausharjoitukseksi nähdäkseni, saisinko sen toimimaan.

Tiedostojen lataamisessa Instructablesiin näyttää olevan ongelma, joten olen lisännyt kopion koodista Pastebiniin osoitteessa:

Koodissa käytettiin 2 kirjastoa:

LiquidCrystal_I2C

FortySevenEffects MIDI -kirjasto

Vaihe 12: Johtopäätös

Johtopäätös
Johtopäätös

Yksi suurimmista asioista, jonka otan pois tästä projektista, on se, että suunnittelemalla mahdollisimman paljon etukäteen voit välttää mahdolliset ongelmat. Piirilevyasennukseen liittyvät ongelmat korostavat tämän tärkeyttä. Suosittelen myös hyvien muistiinpanojen pitämistä. Ilman niitä olen saattanut kohdata enemmän ongelmia kuin minulla oli. Rakennan parhaillaan toista MIDI -ohjainta ja tällä kertaa olen pyrkinyt virtaviivaistamaan koodiani ja suunnittelemaan laitteistoni piirilevyn asennuksen ympärille.