İçindekiler:
- Gereçler
- Adım 1: Kendinizinkini Tasarlayın
- Adım 2: Lehimleme ve Kablolama
- Adım 3: Donanımdan Yazılıma
- Adım 4: MIDI Nasıl Çalışır?
- Adım 5: Arduino Üzerinde USB Üzerinden MIDI Nasıl Gönderilir
- Adım 6: Kodlama Zamanı
- 7. Adım: Eşyalarınızı Bir Araya Getirin
Video: Aalto için Arduino MIDI Denetleyici: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
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
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
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ı
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:
- Elektrik değerlerim dalgalanıyor
- DAW'ı gereksiz CC sinyalleriyle boğmak istemezsiniz
- 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
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:
Arduino MIDI Denetleyici Oluşturun: 5 Adım (Resimlerle)
Bir Arduino MIDI Denetleyicisi Oluşturun: Herkese merhaba! Bu talimatta size kendi Arduino destekli MIDI denetleyicinizi nasıl oluşturacağınızı göstereceğim. MIDI, Müzik Aleti Dijital Arayüzü anlamına gelir ve bilgisayarların, müzik aletlerinin ve diğer donanımların birbirleriyle iletişim kurmasını sağlayan bir protokoldür
Arduino MIDI Denetleyici Oluşturma: 9 Adım (Resimlerle)
Arduino MIDI Denetleyicisi Oluşturma: Bu talimat ilk olarak 28 Haziran 2020'de blogumda yayınlandı.Elektronik içeren şeyler yapmaktan zevk alıyorum ve her zaman Arduino kullanarak bir şeyler inşa etmek istemişimdir.Yeni başlayanlar için bulduğum en yaygın yapılardan biri, MIDI denetleyicisi.
Arduino Arabirimi için PS2 Denetleyici Koparma Adaptörü: 10 Adım
Arduino Arabirimi için PS2 Denetleyici Koparma Adaptörü: PlayStation 2 Denetleyici, robotik projeler için gerçekten kullanışlı bir gamepad. Ucuzdur, bol miktarda bulunur (ikinci el), bir sürü düğme içerir ve Arduino uyumludur! Kullanmak için, onu kablolamak için özel bir konektöre ihtiyacınız var
Bilişsel Engelliler için Denetleyici Tutucu: 5 Adım
Bilişsel Engelliler için Denetleyici Tutacağı: Bir gün kırık bir bileğin nasıl kötü koktuğunu düşündüm. Yapmak istediğim hiçbir şeyi yapamadım! Kendi ayakkabımı bağlamaktan video oyunları oynamaya kadar her şey bir angaryaydı. Sonra düşündüm, "Akıllarını kullanamayan insanlar
NES Denetleyici Cep Telefonu için Şarj Yuvası!!!: 7 Adım
NES Kontrol Cihazı Cep Telefonu için Şarj Yuvası!!!: Kendi NES Kontrol Cihazı Cep Telefonumu yeni tamamladım ve bu ŞİMDİYE KADARKİ EN HAVA ŞEY!!! Eksik olan tek şey havalı bir şarj istasyonu, bu yüzden bir tane yapmayı kendime görev edindim