Satura rādītājs:

Arduino MIDI pēdu kontrolieris: 12 soļi
Arduino MIDI pēdu kontrolieris: 12 soļi

Video: Arduino MIDI pēdu kontrolieris: 12 soļi

Video: Arduino MIDI pēdu kontrolieris: 12 soļi
Video: ¿Cómo hacer un THEREMIN con ARDUINO? // #CAP19 [SERIE AUDIOJUEGOS] 2024, Novembris
Anonim
Arduino MIDI pēdu kontrolieris
Arduino MIDI pēdu kontrolieris

Es nesen izstrādāju šo MIDI kontrolieri, lai darbinātu frāzes cilpu, kas ir iebūvēts Boss DD500 aiztures pedālī. Es kontrolēju visu savu ģitāras iekārtu, izmantojot Behringer FCB MIDI plati, un tas ļauj mainīt efektu cilpas aizkaves pedāļa ielāpus, vienlaikus mainot pastiprinātāja kanālus.

DD500 ir iebūvēta ļoti vienkārša cilpu funkcija, taču viens no tās trūkumiem ir tāds, ka tad, kad cilpa ir aktīva, to kontrolē pedāļa kāju slēdži. Tas nozīmē, ka jūs nevarat mainīt pedāļa ielāpus, kamēr cilpa ir aktīva, jo tā būtībā atspoguļo kāju slēdžu funkcijas. Tā kā es izmantoju MIDI, šis ierobežojums nepastāv, jo tā ir vienkārši fiziska problēma. Tomēr tas nozīmēja, ka cilpniekam manā galvenajā MIDI kontrollerī ir jārezervē 5 kāju slēdži, un tāpēc es nolēmu tiem izveidot atsevišķu kontrolieri.

Mans sākotnējais plāns bija paņemt nelielu Hammonda korpusu un ievietot 5 kāju slēdžus un iemācīt sev pamata Arduino kodēšanu. Kad es sāku uzzināt vairāk un mans kods darbojās, tas mani beidzot motivēja izmēģināt vairāk lietu, un tad tas būtībā kļuva par kaut ko lielāku.

1. solis: jēdzieni

Jēdzieni
Jēdzieni
Jēdzieni
Jēdzieni

Viena no agrīnajām idejām bija tikai 5 pogas pēc kārtas ar statusa gaismas diodēm. Ar Arduino to bija viegli izgatavot uz maizes dēļa. Jaunu funkciju un aparatūras pievienošana galu galā bija process, kurā es pastāvīgi izstrādāju un pārveidoju fizisko izkārtojumu uz papīra un izveidoju uz maizes dēļa projekta. Pat daudz plānojot, liels darbs pie tā tika nedaudz paveikts pašā sākumā.

Iepriekš redzamajos 2 attēlos ir redzams pirmais zīmējums, ko es apņēmos pielikt pie papīra, un tas vispirms aizsāka ideju, kam sekoja mēneša piezīmes, kas tika veidotas pēc tā, kas veidoja fizisko un PCB izkārtojumu.

2. darbība. Maizes dēļa prototipu ierakstīšana

Maizes dēļa prototips
Maizes dēļa prototips
Maizes dēļa prototips
Maizes dēļa prototips

Viss projekts tika uzbūvēts uz maizes dēļa un pilnībā pārbaudīts, lai pārliecinātos, ka tas pilnībā darbojas ar DD500, pirms tiek uzsākts darbs pie tā pastāvīgas ievietošanas. Kodam tika pievienotas dažas papildu funkcijas, kas kontrolierim piešķīra dažas papildu funkcijas, kuru trūka DD500. Tie tiks sīkāk aplūkoti kodu sadaļā.

Pedalam ir 5 kāju slēdži, 4 statusa gaismas diodes, 5 I2C LCD ekrāni, un to kontrolē Arduino Nano Every. Tas saņem enerģiju no 9 V ģitāras pedāļa PSU, izmantojot atsevišķu sadales kārbu, kas pārnes šo jaudu pār MIDI kabeli, izmantojot 2 tapas, kuras parasti neizmanto MIDI savienotājā.

3. solis: izgatavošana

Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana
Izgatavošana

Es apskatīju daudzus iespējamos gadījumus, kā ievietot projektu, un pat apsvēru domu mēģināt saliekt savu korpusu no alumīnija loksnēm. Galu galā es apmetos uz Hammondas korpusu, kas bija pietiekami plašs, lai ietilptu piecos 16X2 LCD ekrānos, kurus biju izvēlējies.

Kāju slēdži bija vispārīgi īslaicīgi mīksta pieskāriena slēdži.

Šajā posmā es nolēmu izgatavot pielāgojamus ekrāna rāmjus, lai priekšpuse izskatītos tīra, jo es ar Dremel ar rokām izgrieztu ekrāna caurumus un zināju, ka, iespējams, būs daži laukumi, kas ir mazāk nekā ideāli. Man tos sagrieza vietējā dizaina studija, kas veic lāzera griešanu, vispirms kā kartona veidnes, lai pārliecinātos, ka visi izmēri ir pareizi, un pēc tam 3 mm baltā akrilā pēdējam gabalam.

4. darbība: CAD maketēšana un izkārtojums

CAD makets un izkārtojums
CAD makets un izkārtojums
CAD makets un izkārtojums
CAD makets un izkārtojums

No savām papīra skicēm es izmantoju Inkscape, lai izkārtotu visas fiziskās sastāvdaļas un pabeigtu izmērus un pozīcijas. Šajā brīdī es arī izdomāju ekrāna montāžas metodi. Lai samazinātu redzamo skrūvju skaitu priekšpusē, es nolēmu visus ekrānus piestiprināt pie dažām alumīnija plāksnēm no aizmugures, izmantojot statīvus, un tad man vajadzēs tikai 4 skrūves uz plāksnes, lai tās piestiprinātu pie korpusa. turētu arī ekrāna rāmjus vietā.

5. solis: PCB dizains

PCB dizains
PCB dizains
PCB dizains
PCB dizains
PCB dizains
PCB dizains
PCB dizains
PCB dizains

Lai izveidotu PCB, es izmantoju vietni ar nosaukumu EasyEDA. Tam ir redaktora vide, kurā varat uzzīmēt savu sastāvdaļu shēmu, pārvērst to par PCB izkārtojumu un pēc tam eksportēt tieši uz JLCPCB, lai tas būtu izveidots dēļos. Es nekad iepriekš nebiju darījis neko līdzīgu, taču viņiem vietnē ir lielisks ceļvedis, kurā paskaidrots, kā darbojas redaktors, un stundas laikā es izveidoju un pasūtīju dēli.

Dažas tāfeles vietas tolaik bija slikti izstrādātas pieredzes trūkuma dēļ, piemēram, piemēram, ekrāna barošanai tika izmantota viena 5 V sliede, nevis katrai atsevišķa plūsma. Par laimi, visi radušies sprieguma kritumi nebija pietiekami, lai radītu problēmas ar ekrāniem.

Dēļi ieradās apmēram 2 nedēļas vēlāk un, par laimi, strādāja bez jebkādām problēmām.

6. darbība: ekrāna stiprinājumi

Ekrāna stiprinājumi
Ekrāna stiprinājumi
Ekrāna stiprinājumi
Ekrāna stiprinājumi
Ekrāna stiprinājumi
Ekrāna stiprinājumi

Pirmās izgatavotās detaļas bija ekrāna stiprinājumi. Šim nolūkam es izmantoju 3 mm alumīniju un izurbju caurumus. Izmēri tika noteikti, noliekot visu uz galda, kā es gribēju, lai ir pēdējais pedālis, un izmērot no montāžas caurumiem uz ekrāna PCB. Es arī novietoju kopā ar tiem slēdžus, lai iegūtu attālumus tiem.

Kad visi caurumi tika izurbti, ekrāni tika uzmontēti un pārbaudīti, vai tie nav kvadrāti, turot lineālu pret plakanām apakšējām malām. Viss līdz šim bija sakārtots.

7. solis: iežogojums

Korpuss
Korpuss
Korpuss
Korpuss
Korpuss
Korpuss

Nākamais bija lietas pārveidošana. Kāju slēdži un gaismas diodes bija vienkārši, jo katram no tiem vienkārši bija nepieciešams attiecīgi 12 mm un 5 mm caurums.

Galvenā fiziskā darba daļa tika iegūta, izgriežot ekrāna caurumus. Es izmantoju Dremel ar dažiem lieljaudas griešanas diskiem un dažādiem failiem, lai pēc tam notīrītu caurumus. Šī daļa kopumā aizņēma apmēram 2 stundas.

Korpuss, kuru izmantoju, bija paredzēts rūpnieciskiem mērķiem, un tas tika izgatavots, saliekot vienu metāla gabalu un metinot stūrus. Tas nozīmēja, ka šo stūru tīrīšanai būs nepieciešams zināms darbs, izmantojot automašīnas virsbūves pildvielu, lai izlīdzinātu zemās vietas un aizpildītu spraugas malā.

Šajā brīdī lieta bija pilnībā sagatavota, un es visu izspēlēju, lai redzētu, kā tas izskatīsies.

8. solis: Ak

Ak, vai
Ak, vai
Ak, vai
Ak, vai
Ak, vai
Ak, vai

Un tad nāca atziņa, ka, neskatoties uz visu manu plānošanu un mērīšanu, esmu pieļāvusi vienu milzīgu kļūdu. Plāksni un korpusa izkārtojumu izstrādāju neatkarīgi viens no otra. Manuprāt, tāfele sēdēja gandrīz vienā līmenī ar augšējo sienu, aiz kuras bija īss stends. Bet nebija nekāda veida, kā tas varētu iederēties. Un nebija arī vietas, kur to nolikt malā. Milzīga kļūda, bet, par laimi, es to varēju novērst, jo starp korpusa aizmugurējā vāka ekrāna stiprinājumiem joprojām bija diezgan daudz vietas. Vēl daži caurumi ir izurbti ekrāna stiprinājumos un pāris rezerves, un mēs atkal esam biznesā, un ir pietiekami daudz vietas, lai uzliktu segumu.

9. solis: krāsojiet

Krāsa
Krāsa
Krāsa
Krāsa
Krāsa
Krāsa

Viss atkal tika izjaukts, un korpuss tika nokrāsots Metālisks konfekšu sarkans, kam sekoja dažas lakas kārtas. Lieta tika izārstēta nedēļu, lai gan es atklāju, ka laka šajā brīdī vēl bija nedaudz mīksta, kad es visu veidoju. Tā rezultātā tika sabojātas dažas nelielas krāsas vietas. Kaut ko es vēlos izvairīties, īstenojot savu nākamo projektu.

Šajā laikā es biju iegādājies 3D printeri un nolēmu to izmantot, lai izgatavotu dažas paplāksnes kāju slēdžiem, jo iegādātajiem neilona tiem bija šausmīgi dzeltenīga nokrāsa un tie bija slikti.

10. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Fiziskās montāžas pēdējā daļa bija visu vadu pieslēgšana. Atkal problēmas ar korpusa dizainu/PCB dizainu atkal parādījās, un dažas PCB galvenes pozīcijas nozīmēja daudzu vadu šķērsošanu viens otram, padarot lietas mazliet nekārtīgākas, nekā es cerēju.

Ekrānu vadi tika apvienoti 4 komplektos un, izmantojot termisko saraušanos un pīto apvalku, tika izgatavoti vienā gabalā.

11. darbība: Arduino kods

Image
Image

Kā pilnīgs Arduino kodēšanas iesācējs, es mācījos, ejot līdzi. Kods, iespējams, ir “tāls ceļš” programmēšanas ekvivalents, bet man bija prieks, ka tas darbojās kā paredzēts.

DD500 cilpajam ir 5 pamatfunkcijas:

  • Cilpa ieslēgta/izslēgta
  • Ierakstīt/Overdub/Atskaņot
  • Atskaņot ierakstīto cilpu
  • Apturēt atskaņošanu
  • Notīrīt ierakstīto cilpu

Katrai no šīm funkcijām ir atbilstošs kāju slēdzis un, izņemot apturēšanas pogu, statusa gaismas diode. LCD ekrāni tiek atjaunināti arī ar atbilstošu informāciju, lai parādītu, vai pedālis ir ierakstīšanas, pārsūtīšanas vai atskaņošanas režīmā, kā arī to, kādu funkciju katrs kāju slēdzis veiks atkarībā no tā, kas notiek tajā laikā.

Vēl viena iezīme, kuru es pievienoju, bija izsekot, cik reizes ieraksta/pārsniegšanas funkcija tika aktivizēta. Tas tiek izsekots kodā, palielinot veselu skaitli, kas tiek parādīts bufera ekrānā, norādot ierakstīto ierakstu skaitu. Lai gan DD500 nevar izdzēst atsevišķus ierakstus, es to pievienoju tikai kā kodēšanas vingrinājumu, lai noskaidrotu, vai es varētu to darboties.

Šķiet, ka, augšupielādējot failus vietnē Instructables, radās problēma, tāpēc es ievietoju koda kopiju Pastebin vietnē:

Kodā tika izmantotas 2 bibliotēkas:

LiquidCrystal_I2C

FortySevenEffects MIDI bibliotēka

12. solis. Secinājums

Secinājums
Secinājums

Viena no lielākajām lietām, ko es atņemu šim projektam, ir tāda, ka, plānojot pēc iespējas agrāk, jūs varat izvairīties no iespējamām problēmām. Problēmas ar manu PCB montāžu izceļ to nozīmi. Labu piezīmju turēšanu es arī ļoti iesaku. Bez viņiem es varētu saskarties ar vairāk problēmām nekā man bija. Pašlaik es būvēju savu otro MIDI kontrolieri, un šoreiz esmu pielicis lielākas pūles, lai racionalizētu savu kodu un izstrādātu aparatūru, ņemot vērā PCB uzstādīšanas veidu.

Ieteicams: