İçindekiler:

Aalto için Arduino MIDI Denetleyici: 7 Adım
Aalto için Arduino MIDI Denetleyici: 7 Adım

Video: Aalto için Arduino MIDI Denetleyici: 7 Adım

Video: Aalto için Arduino MIDI Denetleyici: 7 Adım
Video: Setting up MegaTinyCore 2024, Temmuz
Anonim
Aalto için Arduino MIDI Denetleyicisi
Aalto için Arduino MIDI Denetleyicisi

Amatör bir müzisyen olarak, genellikle Analog Synth'lerden VST'lere giderim.

"VST" modundayken, gerçekten harika bir enstrümana bayılırım: Madronalab'ın Aalto VST'si

Bu inanılmaz VST çok esnektir, çok iyi sesler üretir ve makul bir fiyata kullanımı oldukça kolaydır.

Ancak VST'lerle ilgili sınırlamam, kontrollere gerçekten dokunamama ve sıkışma sırasında faremi/izleme dörtgenimi kullanmam gerektiğidir - en iyisi değil. Bir MIDI denetleyicim var ama düğmeler gerçek Aalto arabirimini yansıtmıyor.

Öte yandan, modüler veya yarı modüler synth'lerle yamalarınızı gerçekten kurtaramazsınız, bu da her şeyi benim için biraz sinir bozucu hale getiriyor.

Bu yüzden, Aalto'nun en alakalı şeyleri kontrol etmek için arayüzünü yansıtan bir tasarıma sahip Aalto için Özel bir MIDI denetleyicisi oluşturmak istedim.

Sürecin daha fazla videosunu görmek için beni Instagram'da takip edin: tuhaf.endişe

Ben, Spotify'da:

Gereçler

- 1 Arduino Mega- 14 Potansiyometre (bunları kullandım -> PTV09A-4020F-B103) - Prototipler için bir breadboard - Lehimleme için çok iyi olan Electro Cookie perfboard'u (resimde mavi olan) gerçekten tavsiye ederim - Kontrplak - Lehimleme Demir - Bakır Bant - Atlama telleri

Adım 1: Kendinizinkini Tasarlayın

Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın
Kendinizinkini Tasarlayın

VST'min arayüzünden başlayarak, mükemmel uyumu bulmak için düzenimi biraz kağıtla çerçevelemek istedim.

Daha sonra bunu bir yazılımla tasarladım, yazdırdım ve mizanpajın gerçek dünyada işe yarayıp yaramayacağını görmek için bunu bir karton prototipe yapıştırdım.

Bu adım gerçekten size kalmış - bir teneke kutu veya bir kibrit kutusu için tasarlayabilirsiniz: benim tavsiyem, olabildiğince çok prototip yapmaktır.

Kontrplak kasayı elektronik kartlarla uyumlu hale getirmek ve perfboardları kullanmak şimdiye kadarki en kesin şey değil: ne kadar çok test ederseniz o kadar iyi.

Adım 2: Lehimleme ve Kablolama

Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama
Lehimleme ve Kablolama

Tasarımınız tamamlandığında elektroniğe geçebilirsiniz!

Not: Bu maddelerin nasıl çalıştığını bildiğinizi varsayıyorum, bu yüzden lehimleme ve bağlantıların ayrıntılarına girmeyeceğim.

Bu aşamada üç ayrı devre için 2 farklı delikli pano kullandım: sarımsı olan muhtemelen en yaygın olanıdır. Pek beğenmedim ama yedekte bir tane vardı, o yüzden onu kullanmak istedim. Mavi olan çok daha iyi ve benim gibi yeni başlayan biriyseniz, onu kullanmanızı tavsiye ederim.

Sarımsı renkte bir delik çok, çok küçüktür ve bakır her bir deliğin etrafında bir taraftadır, lehim delikten akmaz.

Bu panodaki izleri tasarlamak için 5 mm bakır bant kullanmaya karar verdim: Yarıya böldüm ama bu korkunç bir fikirdi. Çok hafif olduğu için kullanımı korkunçtur ve hem GND hem de VCC düzgün bir şekilde dağıtılamayabilir. Çok fazla test ve düzeltme gerektirdi ve çok uzun zaman aldı.

Ama hey, sonunda çok iyi görünüyor.

Kabloların etrafta dolaşmasını sağlamak biraz acı verici: Bu tahtayı sonlandırmak muhtemelen en çok zaman alan şey.

Mavi perfboard'u (Amazon'da Electro Cookie olarak adlandırılır) kullanmak çok daha iyiydi: bir devre tahtası gibi bağlanır, aynı blokta lehimlendiğinde pimler ve teller zaten bağlı olduğundan bakır bant kullanmaktan kaçınabilirsiniz.

Ayrıca, elinizle daha küçük parçalara ayırabilirsiniz ki bu çok daha iyi.

Delikler daha büyüktür ve bakırla kaplanmıştır, bu da lehimlemeyi süper hızlı ve temiz hale getirir.

İlk sarımsı tahtayı yapmak 3-4 gün sürdü, diğer 2'yi yapmak sadece birkaç saat sürdü.

Potansiyometreler hakkında not Gördüğünüz gibi pot ayaklarını bükmek zorunda kaldım - bunlar PBC'lerde kullanılmak içindir ve bu durumda gerçekten en iyisi değildir. Ancak ayaklarını dik açıyla bükmek onları çok dengeli yaptı.

Adım 3: Donanımdan Yazılıma

Donanımdan Yazılıma
Donanımdan Yazılıma

Artık tüm şeylerinizi bağladınız ve umarım Vcc ve GND'nizi kontrol etmek için testlerinizi yaptınız.

Potansiyometreler muhtemelen Arduino'da başlamak için en kolay şeydir.

Üç pinleri vardır: biri GND içindir, biri 5V içindir. Merkez pim, potansiyometrenin bir tür "çıkışı" dır. GND'yi sol pine, 5V'yi sağ pine bağlarsanız ve potu saat yönünde çevirirseniz, "çıkışında" artan değerin 0 ile 5V arasında olduğunu göreceksiniz.

Merkezi pin, Arduino'nun değeri örnekleyecek olan "analog girişlerinden" birine gider ve onu dijital bir sayıya çevirecektir: Arduino Mega 2560, 0'dan 1023'e kadar olan değerleri çevirir (pot tamamen bittiğinde 0 verir). soldan geçen yol, 1023 tam sağdan geçen yol, 5V).

MIDI'nin 0'dan 123'e kadar olan değerleri kabul ettiğini unutmayın, bu nedenle tamsayı değerini seri ile göndermeden önce Arduino değerini 8'e bölmeniz gerekecektir.

Çok basit görünüyor (ve öyle) ama akılda tutulması gereken birkaç şey var:- çoğu zaman kaplar süper hassas değildir: çıktıları rastgele bitişik değerlere atlayarak istenmeyen CC komutlarını tetikleyebilir - devreniz (peki, benimki) bu durumda) mükemmel değildir: PCB olmadığı için burada ve orada rastgele değerlere sahip olabilirsiniz, bu nedenle yine rastgele değerlere sahip olabilirsiniz.- her zaman MIDI CC değerleri göndermek istemezsiniz yoksa DAW'ınız muhtemelen tıkanacaktır. Bunu önlemek için bir çözüm bulmalısın

Kodum yukarıdaki üç noktayı ele almak için yazılmıştır ve bunu oldukça iyi yapar.

Adım 4: MIDI Nasıl Çalışır?

MIDI, bilgisayarların ve enstrümanların birlikte çalışmasını sağlamak için tasarlanmış ve oluşturulmuş çok eski bir protokoldür.

MIDI'nin nasıl çalıştığına dair kapsamlı bir açıklama var: konu not göndermek olduğunda, gönderebileceğiniz tonlarca sinyal var ama bizim durumumuzda her şey çok basit.

Kontrol Değişimi (MIDI) ile çalışıyoruz, bu yüzden bu tabloda bildirilen kanallardan birini kullanmamız gerekiyor:

www.midi.org/specations-old/item/table…

176'dan 191'e.

MIDI/CC değerleri gönderdiğinizde, seri yoluyla göndermeniz gerekir:- DAW'nize bir CC gönderdiğinizi söylemek için durum baytı (tablonun ilk sütunu) - hangi kontrolün - bu durumda, hangi DÜĞMEN'in - gönderdiğini (tam sayı)- kontrolün değeri

Benim durumumda 14 düğmem var, bu yüzden bir mesaj şöyle olabilir:

Serial.write(176, 13, 107)

13 nolu düğme CC aracılığıyla 107 değeri gönderiyor.

MIDI 0 ila 123 arasındaki değerleri kabul ederken Arduino 0 ila 1023 arasındaki analog değerleri okur - değeri zımparalamadan önce sadece 8'e bölmeyi unutmayın.

Adım 5: Arduino Üzerinde USB Üzerinden MIDI Nasıl Gönderilir

Arduino ile USB üzerinden MIDI göndermek için 2 seçeneğiniz var:

  • dahili bir Arduino USB denetleyicisinin yanıp sönmesi (projenizin en sonunda önerilir)
  • Arduino stokunu bırakarak PC'nizde bir yazılım kullanın (bu) ÇOK TAVSİYE EDİLEN

Yanıp sönen Arduino USB Denetleyici, prototiplemenin en uygun yolu değildir: USB üzerinden MIDI göndermek için bellenimi flaş ettiğinizde, Arduino yüklemek için yeni bir kod almaz, bu nedenle kodunuzu güncellemek istiyorsanız, bellenimi flaş etmeniz gerekir. yani, örneğin, Arduino'nuz stokta ve kodu yüklüyorsunuz. MIDI'nin çalışması için flash'lıyorsunuz. Fişini çekin. Takın. Kodu test ediyorsunuz. Çalışmıyor.

Onu stoka geri gönderirsiniz. Unplug. Plug-in. Kodu değiştirin. Upload. Flash. UnplugPlugin[TEKRAR VE AĞLA]

Bunun tek Pro'su, herhangi bir harici yazılım kullanmanıza gerek olmamasıdır, ancak bu yöntemi yalnızca projenizin en sonunda kullanmanızı tavsiye ederim.

Öte yandan, Hairless'ın kullanımı son derece kolaydır çünkü hiçbir şeyi flashlamanız gerekmez - bir Mac kullanıyorsanız MIDI Setup ile mükemmel çalışır ve DAW'ınız onu hemen "tüysüz midi denetleyici" olarak tanıyacaktır. Çok, çok daha iyi.

Adım 6: Kodlama Zamanı

Kodlama Zamanı!
Kodlama Zamanı!

Kodumu Github'da yayınladığım için burada söylenecek fazla bir şey yok ve kodu elimden geldiğince yorumladım.

Sadece bazı temel şeyleri hatırlayın:

  1. Elektrik değerlerim dalgalanıyor
  2. DAW'ı gereksiz CC sinyalleriyle boğmak istemezsiniz
  3. Yinelenen CC mesajı göndermek istemiyorsunuz

Kodumda her şey açıklanmış ve burada bulabilirsinizhttps://github.com/weirdest-worry/aalto_midi_contr…

7. Adım: Eşyalarınızı Bir Araya Getirin

Eşyalarınızı Bir Araya Getirin
Eşyalarınızı Bir Araya Getirin
Eşyalarınızı Bir Araya Getirin
Eşyalarınızı Bir Araya Getirin
Eşyalarınızı Bir Araya Getirin
Eşyalarınızı Bir Araya Getirin

Artık kodunuz çalışıyor ve yapmanız gereken tek şey eşyalarınızı bir araya getirmek.

Bu, bende olmayan bazı ahşap becerileri gerektirecektir (neyse ki eşim bu süreçte bana yardımcı oldu) bu yüzden pek tavsiye veremem ama perfboard kullanmaya karar verdiyseniz çok temiz ve düzenli bir çalışmanız olacak. Şimdi USB'nizi takın, DAW'ınızı açın ve biraz bas bırakın!

Önerilen: