Sadržaj:

Arduino MIDI nožni kontroler: 12 koraka
Arduino MIDI nožni kontroler: 12 koraka

Video: Arduino MIDI nožni kontroler: 12 koraka

Video: Arduino MIDI nožni kontroler: 12 koraka
Video: TX81Z Arduino MIDI-контроллер/редактор 2024, Novembar
Anonim
Arduino MIDI nožni kontroler
Arduino MIDI nožni kontroler

Nedavno sam dizajnirao ovaj MIDI kontroler za rad sa frazom petlje koja je ugrađena u pedalu za kašnjenje Boss DD500. Kontroliram cijelu opremu za gitaru koristeći Behringer FCB MIDI ploču, što mi omogućava mijenjanje zakrpa na pedali za kašnjenje u petlji efekata, istovremeno mijenjajući kanale pojačala.

DD500 ima ugrađenu osnovnu funkciju petlje, ali jedan od nedostataka je to što se, kada je petlja aktivna, njome upravljaju nožni prekidači na pedali. To znači da ne možete mijenjati zakrpe na papučici dok je petlja aktivna, jer su u osnovi snimljene funkcije nožnih prekidača. Dok koristim MIDI, ovo ograničenje ne postoji, jer je to jednostavno fizički problem. To je značilo rezervirati 5 nožnih prekidača na mom glavnom MIDI kontroleru za petlju, pa sam odlučio izgraditi zaseban kontroler za njih.

Moj početni plan za ovo bio je uzeti malo Hammond kućište i staviti 5 nožnih prekidača i naučiti sebe osnovnom Arduino kodiranju. Kako sam počeo učiti više i moj kôd je funkcionirao, na kraju me je motivirao da isprobam više stvari, a onda se u osnovi pretvorio u nešto veće.

Korak 1: Koncepti

Koncepti
Koncepti
Koncepti
Koncepti

Jedna od prvih ideja bila je samo 5 dugmadi u nizu sa statusnim LED -ima. Ovo je bilo prilično jednostavno izraditi na ploči s Arduinom. Dodavanje novih funkcija i hardvera na kraju je bio proces u kojem sam stalno dizajnirao i redizajnirao fizički izgled na papiru i nadograđivao se na osnovni projekt. Čak i uz puno planiranja, puno posla na ovome je donekle obavljeno u hodu u startu.

Gornje 2 slike prikazuju prvi crtež koji sam napravio na papiru, koji je pokrenuo ideju, nakon čega je uslijedilo mjesec dana bilješki koje su slijedile one koje su oblikovale fizičke i PCB rasporede.

Korak 2: Izradba prototipa na idejnoj ploči

Breadboard Protoyping
Breadboard Protoyping
Breadboard Protoyping
Breadboard Protoyping

Cijeli projekt izgrađen je na ploči i potpuno testiran kako bi se osiguralo da u potpunosti funkcionira s DD500 prije nego što su započeli bilo kakvi radovi na njegovom trajnom smještaju. U kôd su dodane neke dodatne funkcije koje su kontroleru dale neke dodatne funkcije koje nedostaje DD500. O njima će se detaljnije govoriti u odjeljku koda.

Pedala ima 5 nožnih prekidača, 4 LED diode, 5 I2C LCD ekrana, a kontrolira ih Arduino Nano Every. Napaja se iz napajanja s 9V gitarske pedale napajanja putem zasebne razvodne kutije koja prenosi tu snagu preko MIDI kabela pomoću 2 pina koji se obično ne koriste na MIDI konektoru.

Korak 3: Izrada

Fabrication
Fabrication
Fabrication
Fabrication
Fabrication
Fabrication

Pogledao sam mnogo mogućih slučajeva za smještaj projekta, pa čak i razmislio o ideji da pokušam saviti vlastito kućište od aluminijskih limova. Na kraju sam se smjestio na Hammond kućište koje je bilo dovoljno široko da primi 5 LCD ekrana 16X2 koje sam odabrao.

Nožni prekidači su bili generički trenutni prekidači sa mekim dodirom.

U ovoj fazi sam odlučio da napravim prilagođene okvire ekrana kako bi prednji dio izgledao čisto, jer bih ručno izrezivao rupe na ekranu Dremelom i znao sam da će vjerojatno postojati nekoliko područja koja nisu savršena. Narezao sam ih u lokalnom dizajnerskom studiju koji radi lasersko rezanje, prvo kao kartonske šablone kako bi provjerio jesu li sve moje veličine ispravne, a zatim u bijelom akrilu od 3 mm za završni komad.

Korak 4: CAD maketa i izgled

CAD maketa i izgled
CAD maketa i izgled
CAD maketa i izgled
CAD maketa i izgled

Od mojih skica na papiru, koristio sam Inkscape za postavljanje svih fizičkih komponenti i finalizaciju veličina i položaja. Takođe sam u ovom trenutku smislio metodu montiranja ekrana. Kako bih minimizirao količinu vidljivih vijaka na prednjoj strani, odlučio sam montirati sve zaslone na neke aluminijske ploče sa stražnje strane pomoću odstojnika, a tada bi mi trebala samo 4 vijka po ploči da ih pričvrstim na kućište, što takođe bi držao okvire ekrana na mestu.

Korak 5: Dizajn PCB -a

PCB Design
PCB Design
PCB Design
PCB Design
PCB Design
PCB Design
PCB Design
PCB Design

Za izradu PCB -a koristio sam web stranicu pod nazivom EasyEDA. Sadrži uređivačko okruženje u kojem možete nacrtati shemu svojih komponenti, pretvoriti je u izgled PCB -a, a zatim je izvesti izravno u JLCPCB da bi se pretvorile u ploče. Nikada prije nisam učinio ništa slično, ali na web stranici imaju odličan vodič koji objašnjava kako urednik funkcionira, pa sam u roku od sat vremena dao dizajnirati i naručiti ploču.

Neka područja na ploči tada su bila loše dizajnirana zbog neiskustva, kao što je, na primjer, korištenje jedne 5V šine za napajanje ekrana, umjesto da se svakom daje zasebno napajanje. Srećom, svi padovi napona koji su se dogodili nisu bili dovoljni da izazovu probleme s ekranima.

Ploče su stigle otprilike 2 sedmice kasnije i na sreću su radile bez ikakvih problema.

Korak 6: Nosači ekrana

Nosači ekrana
Nosači ekrana
Nosači ekrana
Nosači ekrana
Nosači ekrana
Nosači ekrana

Prvi napravljeni dijelovi bili su nosači ekrana. Za to sam koristio aluminij od 3 mm i izbušio rupe za stajanje. Dimenzije su određene postavljanjem svega na sto kako sam htio da bude posljednja pedala i mjerenjem iz rupa za montažu na PCB -ima ekrana. Takođe sam im stavio nožne prekidače kako bih odredio udaljenost za njih.

Nakon što su sve rupe izbušene, ekrani su montirani i provjereni na kvadrat držeći ravnalo uz ravne donje rubove. Sve se do sada ređalo.

Korak 7: Ograđivanje

Enclosure
Enclosure
Enclosure
Enclosure
Enclosure
Enclosure

Slijedilo je mijenjanje kućišta. Nožni prekidači i LED diode bili su jednostavni jer je za svaki jednostavno bila potrebna rupa od 12 mm i 5 mm.

Glavni dio fizičkog rada nastao je izrezivanjem rupa na ekranu. Koristio sam Dremel s nekim teškim diskovima za rezanje i raznim datotekama za čišćenje rupa nakon toga. Ovaj dio je trajao oko 2 sata.

Kućište koje sam koristio je dizajnirano za industrijske svrhe i napravljeno je savijanjem jednog komada metala i tačkastim zavarivanjem uglova. To je značilo da će biti potrebno malo rada kako bi se ovi uglovi očistili korištenjem punila za karoseriju automobila kako bi se izravnale niske točke i popunile praznine na rubovima.

U ovom trenutku slučaj je bio potpuno pripremljen i sve sam izmislio samo da vidim kako će to izgledati.

Korak 8: Uh-Oh

Uh oh
Uh oh
Uh oh
Uh oh
Uh oh
Uh oh

A onda je došla spoznaja da sam unatoč svom planiranju i mjerenju napravio jednu ogromnu grešku. Dizajn ploče i kućišta sam dizajnirao nezavisno jedan od drugog. U mojoj glavi, daska bi sjedila gotovo u ravnini s gornjim zidom, sa kratkim odmakom iza nje. Ali nije postojao nikakav način na koji bi ovo moglo stati. A nije bilo ni prostora da se odloži sa strane. Ogroman propust, ali na sreću jedan koji sam uspio ispraviti jer je još bilo dosta prostora između nosača ekrana na stražnjoj strani kućišta. Još nekoliko rupa izbušenih u nosačima ekrana i nekoliko zastoja, i opet smo u poslu, sa taman dovoljno prostora da se stavi maska.

Korak 9: Obojite

Boja
Boja
Boja
Boja
Boja
Boja

Sve je ponovo rastavljeno, a kućište je obojeno u metalik bombon crveno, nakon čega je uslijedilo nekoliko slojeva laka. Slučaj je ostavljen da se liječi tjedan dana, iako sam otkrio da je lak još uvijek bio blago mekan u trenutku dok sam sve nadograđivao. Zbog toga se oštetilo nekoliko malih površina boje. Nešto što želim izbjeći na svom sljedećem projektu.

Za to vrijeme sam kupio 3D printer i odlučio sam ga upotrijebiti za izradu podložaka za nožne prekidače, jer su najlonski koje sam kupio imali užasnu žućkastu nijansu i bile su loše veličine.

Korak 10: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Zadnji dio fizičkog sastavljanja bio je ožičenje svega. Opet su se pojavili problemi s dizajnom kućišta/dizajnom PCB -a, a neki položaji zaglavlja na PCB -u značili su ukrštanje mnogo žica jedna preko druge, čineći stvari malo neurednijima nego što sam se nadao.

Žice za ekrane bile su grupirane u 4 kompleta i korištene su toplinske ograde i omotane pletenicom, sastavljene u jedan komad.

Korak 11: Arduino kod

Image
Image

Kao potpuni početnik u Arduino kodiranju, učio sam sam sebe. Kôd je vjerovatno programski ekvivalent „dugog puta“, ali bio sam zadovoljan što je radio kako je predviđeno.

Petlja na DD500 ima 5 osnovnih funkcija:

  • Uključivanje/isključivanje petlje
  • Snimanje/Overdub/Reprodukcija
  • Reproduciraj snimljenu petlju
  • Zaustavi reprodukciju
  • Obriši snimljenu petlju

Svaka od tih funkcija ima odgovarajući nožni prekidač i, osim dugmeta za zaustavljanje, LED status. LCD ekrani se također ažuriraju sa relevantnim informacijama kako bi se pokazalo je li pedala u načinu snimanja, preklapanja ili reprodukcije, kao i koju će funkciju svaki nožni prekidač obavljati ovisno o tome što se u to vrijeme događa.

Još jedna funkcija koju sam dodao bila je praćenje koliko je puta funkcija snimanja/preklapanja aktivirana. To se prati u kodu povećanjem cijelog broja, koji se prikazuje na ekranu 'međuspremnik', navodeći koliko je zapisa snimljeno. Iako DD500 ne može izbrisati pojedinačne zapise, ovo sam dodao samo kao vježbu kodiranja da vidim mogu li uspjeti.

Čini se da postoji problem s prijenosom datoteka na Instructables, pa sam umjesto toga stavio kopiju koda na Pastebin na:

U kodu su korištene 2 biblioteke:

LiquidCrystal_I2C

FortySevenEffects MIDI biblioteka

Korak 12: Zaključak

Zaključak
Zaključak

Jedna od najvećih stvari koje oduzimam ovom projektu je ta da planiranje koliko god možete unaprijed može izbjeći potencijalne probleme. Problemi s montažom PCB -a naglašavaju važnost ovoga. Vođenje dobrih bilješki je također nešto što toplo preporučujem. Bez njih sam možda naišao na više problema nego što sam imao. Trenutno izrađujem svoj drugi MIDI kontroler i ovoga puta sam uložio veće napore da pojednostavim svoj kôd i dizajniram svoj hardver u skladu sa načinom na koji se PCB treba montirati.

Preporučuje se: