» Müzik aletleri »Arduino'da Kravox uzamsal sentezleyici

Arduino'da Kravox uzamsal sentezleyici



Usta, amacı dijital müzik aleti kontrolörlerine geleneksel mekanik enstrüman hissi vermek olan Lund Üniversitesi'nde (İsveç) bir araştırma projesi sırasında Kravox'u icat etti. Artık usta, Kravox'u deney için bir müzik platformu olarak herkes için erişilebilir hale getirmek istiyor. Bunun için mümkün olduğunca çok insanın bu yeni ilginç müzik aletini kullanmasına izin verecek olan bu ayrıntılı brifingi yarattı.

Kravox oynamak oldukça basit. Süpürge gibi normal bir nesneyle oynadığınızı ve ona dokunma ve onu uzayda taşıma şekliniz sesin nasıl üretildiğini kontrol edin. Videolardaki makalenin sonunda Kravox'un nasıl çalınacağını ve enstrüman yapma sürecini izleyebilir ve duyabilirsiniz.

Araçlar ve malzemeler:
- breadboard 50 * 24 delik -1 adet;
-40 pimli erkek konektörler -5 adet;
-40 pimli fiş - 5 adet;
- 10 kOhm potansiyometre ve onlar için kulplar - 5 adet;
-Mavi 5 mm standart LED'ler - 3 adet;
- Dirençler 150 Ohm - 3 adet;
- Kondansatör 10 uF - 2 adet;
- Kondansatör 100 nF - 2 adet;
-Radyo modülü NRF24L01 - 2 adet;
-Arduino nano -2 adet;
-Reaktörler 220 Ohm -3 adet;
- MPR121 sensör sensör panoları - 2 adet;
- Dijital gyro GY-521 MPU 6050-1 adet;
- USB-A - USB-C kabloları;
- 1 cm genişliğinde 4 metre (minimum) bakır bant;
-Poverbank;
-7 metre (minimum) farklı renklerde kablolar;
-0.2 metre, daralan makaron ø = 3 mm;
Lehimleme aksesuarları;
-Multimetr;
-Lineyka;
-Nozh;
-Nozhovka;
- Pense;
-Karton;
-Tutkal tabancası;
-Skotch;
-Kley;
-Ofis sakızı;
-Zazhimy;




Birinci Adım: Teori
Kravox, bir kontrolör / kontrolörler, bir alıcı ve yazılım olmak üzere üç bileşenden oluşan açık kaynaklı bir çapraz platform dijital müzik aleti.

Üç taneye kadar kablosuz denetleyici bağlayabilirsiniz. Her kontrolör, Arduino Nano'ya bağlı iki MPR121 sensör sensör kartından MPU-6050 dijital jiroskop ve dokunma verilerini yönlendirme ve hızlanma verilerini işler. Denetleyici, nRF24L01 radyo vericisini kullanarak alıcıya veri gönderir. Birden fazla denetleyici kullanılması gerekiyorsa, ikinci ve üçüncü denetleyiciye ayrı adresler atanmalıdır.

Alıcı, birkaç potansiyometreden toplanan verilerle birlikte kontrolör (ler) den alınan verileri bağlı bilgisayara iletir.Sağlanan alıcı kodu, üç denetleyiciyle iletişim kurmanıza olanak tanır, ancak ayar olmadan yalnızca bir veya iki ile de çalışır.

Alıcıdan gelen veriler, ses çıkışı veren bir programda işlenir.
Kravox'un güzelliği, formunun, nasıl göründüğü ve nasıl oynanacağıdır. Bu, sihirbaza bu ders için Kravox'un kopyalaması kolay bir sürümünü geliştirme fırsatı verdi.


İkinci adım: Denetleyici anakartı oluşturun
Ardından, sihirbaz nasıl yapılacağını açıklar elektronik Yukarıdaki detaylardan kontrolör adım adım.
Kablonun nereye lehimleneceğinden emin değilseniz, daima devre şemasına dönebilir ve bileşenlerin doğru bağlanıp bağlanmadığını kontrol edebilirsiniz.


İlk adım, breadboard ve konektörleri kesmek ve bunları radyo vericisinin güvenilirliğini artırmaya yardımcı olan küçük ve büyük bir kapasitör ile birleştirmektir.

Tahtayı bir maket bıçağıyla kesin
Konnektörleri demir testeresi ile kesin (usta onları masadan hizalamak için kitaba koydu)
Konektörleri breadboard ve lehim üzerine takın. Zaten iki kişinin her bir çiftini bağlayabilirsiniz
birbirine bitişik uzun konektörler. Geri kalanı için, sadece küçük bir lehim ile takılması yeterlidir - tercihen devre şemasına uygun olarak daha sonra bağlanmayacak olan kontaklar. Kapasitörleri lehimlerken, 10 mikrofaradın (ikisinden daha büyük) elektrolitik kapasitörün polaritesine dikkat edin. Bir tarafta bir şerit ve kural olarak daha kısa bir bacak olacaktır. Bu taraf toprağa bağlanmalıdır. Daha küçük 100 nanofarad kapasitör polarize değildir ve herhangi bir şekilde lehimlenebilir.





Ayrıca, LED dirençleri lehimlenir. LED'in polaritesine dikkat edin: bir tarafın genellikle daha kısa bir bacağı vardır. Bu taraf bir sonraki adımda toprağa bağlanmalıdır. Diğer bacağa mavi bir tel lehimlenir. Kablonun diğer ucu Arduino pimi D3'ün bağlanacağı konektöre lehimlenmiştir.


Ardından, tüm kırmızı ve mavi güç kabloları monte edilir. 3.3 Volt için kırmızı ve toprak için mavi (GND).


Üç sensör kartı I2C protokolü (entegre devre) üzerinden iletişim kurar. Bu, hepsinin aynı iki Arduino pimine bağlanabileceği anlamına gelir, bu nedenle sarı ve yeşil kabloları sensörlere ve Arduino A4 ve A5 pimlerine lehimliyoruz. Ayrıca jiroskopun kesme kontaklarını bağlamak için beyaz bir kablo takmanız gerekir.


Radyo vericisi SPI protokolü (seri
çevre arabirimi), I2C'den daha fazla bağlantı gerektiren sihirbaz siyah, gri, kahverengi, mor ve turuncu teller ekler.


Şimdi bileşenleri hazırlama zamanı. Pim konektörlerinde lehimlemeye ek olarak, değilse
lehimlenmiş, sensör kartına özellikle dikkat etmelisiniz! Çin'den ucuz modeller için, adres pimi ara direnç olmadan sert bir şekilde topraklanmıştır, bu nedenle kartın altındaki bu bağlantıyı bir bıçakla fiziksel olarak kesmeniz gerekir. ADD'nin yazıldığı yerin yakınındaki iki ped arasında kesin. Sihirbaz, kontakların bağlı olmadığından emin olmak için bir multimetre ile çalmayı önerir.


Tüm parçalar lehimlenmiş konektörlere ve sensör kartlarına hazır olduğunda, Arduino Nano, bir jiroskop, iki sensör kartı ve bir radyo modülünü kontrol kartına bağlayabilirsiniz.


Üçüncü Adım: Kodu İndirin
Bir çift kontrolden sonra, her şey doğru bir şekilde bağlanırsa, bir sonraki adım sağlanan Arduino nano'yu indirmektir, ancak bunu yapmadan önce jiroskop, sensör sensör kartları ve radyo vericisi için kütüphaneleri kurmanız gerekecektir. Arduino kütüphanelerinde yeniyseniz, nasıl kuracağınızı öğrenin.
MPU6050 gyro, indirilebilen I2Cdev.h ve MPU6050_6Axis_MotionApps20.h kütüphanelerini gerektirir.
MPR121 dokunmatik kartlar için, bulunan Bare Conductive library MPR121.h gereklidir ve kütüphanenin en az iki sürümü vardır. Adafruit tarafından geliştirilen sürümü değil, Bare Conductive tarafından geliştirilen sürümü yüklediğinizden emin olun.
NRF24L01 radyo verici kartı, indirilebilen nRF24L01.h ve RF24.h TMRh20 kitaplıklarını gerektirir. Lütfen dikkat: Bu kitaplıkların aynı ada sahip en az iki sürümü vardır. Geliştirilen TMRh20'yi taktığınızdan emin olun, manyak böceği değil.
Kütüphaneler kurulduktan sonra Kravox-Controller kodunu indirebilirsiniz.

Denetleyicinin çalışıp çalışmadığını kontrol etmek için, dokunmatik bir sensörden ve jiroskoptan seri monitör aracılığıyla veri çıkışı sağlayabilirsiniz. Bunu yapmak için, indirmeden önce alıcı kodunun son bölümünü düzenlemeniz gerekir: başında (/ *) ve sonunda (* /) yorum işaretini kaldırarak (bkz. Fotoğraf)

Bu seçenekle kodu indirdikten sonra, Seri Monitörü açmanız ve bunun için baud hızını (veri hızı) 115200'e ayarlamanız gerekir. Artık, denetleyici anakartı hareket ettirildiğinde ve temaslara dokunduğunda, 0'dan işaretli MPR121 kartlarından değişen sensörlerden gelen verileri görebilirsiniz. 11.

Hiçbir şey işe yaramazsa veya sadece sıfırlar elde edilirse, kablolamayı dikkatlice kontrol etmeniz ve yukarıdaki şema ile karşılaştırmanız gerekir. Seri Monitörden yanlış sinyal alırsanız, veri aktarım hızlarının doğru ayarlanıp ayarlanmadığını kontrol etmeniz gerekir.


Dördüncü Adım: Kart Gücü

Güç için, denetleyici kartını bankaya bağlamanız gerekir.
Banka bir süre sonra otomatik olarak kapanmazsa, denetleyici kartı biter ve alıcı kartına gidebilirsiniz. Aksi takdirde, bir sonraki adımı izleyin.

Beşinci Adım: Güç Sorununu Çözme
Prensip olarak, kontrol kartı hazırdır, ancak bazı bankalar kontrol kartına bağlandığında birkaç saniye sonra otomatik olarak kapanır, çünkü az güç tüketir. Bir çözüm olarak, Arduino'nun 5V ve GND pinleri arasına paralel olarak üç 220 Ohm direnç ekleyebilirsiniz.


Bileşenleri yeniden bağladıktan sonra, (kesinlikle) bitmiş denetleyici kartı şöyle görünür.


Altıncı Adım: Bir Alıcı Kartı Oluşturun
Bu adımda, sihirbaz size alıcı kartının nasıl yapılacağını gösterecektir. İşlem, bir kontrol kartı yapmaya çok benzer.


Önce breadboard ve konektörleri kırpmanız gerekir. Ardından kapasitörleri takın. Bu adımı, daha fazla bilgi için bir denetleyici kartı oluşturmanın ilk adımı ile karşılaştırabilirsiniz.


Sonra tüm kırmızı ve mavi telleri eklemeniz gerekir. 3.3 Volt için kırmızı ve toprak için mavi (GND).


İletişim SPI için kablolama.


Alıcı kartı hazır, ancak Arvoino Nano'ya Kravox-Alıcı kodunu yüklemeden önce, alıcı için bir arayüz oluşturmanız gerekir.


Ardından sihirbaz 4 potansiyometre ve alıcı için bir LED ile bir arayüzün nasıl yapılacağını gösterir. Arayüz, birinci şekilde olduğu gibi bağlanır ve ikinci şekilde görüldüğü gibi alıcı panosuna bağlanır.


Prosedür aşağıdaki gibidir, önce potansiyometrelerin orta kontaklarına 8 kablo demeti ve bunların 5 lehimini almanız gerekir. Kafanın karışmaması için şemadakiyle aynı renklerin kullanılması tavsiye edilir.

Ardından, breadboard'u 2 sıra 17 delik ve 17 pimli bir erkek konektör kesmeniz gerekir. Kabloları ve konektörü karta takın. Kabloları doğru yerlere bağladığınızdan emin olmak için yukarıdaki şemaya dikkat edin.


Şimdi tüm potansiyometrelerin kontaklarından birine mavi teller (toprak) lehimlemeniz gerekir. 150 Ohm akım sınırlama direncine sahip mavi bir LED lehimleyin.

Lehim yeşil teller.

Bitmiş arayüz böyle bir şeye benzemelidir (fotoğraf 1) ve alıcı panosuna bu şekilde bağlanabilir (fotoğraf 2).

Yedinci adım: kod
Artık Arduino Nano alıcısına indirilebilir.
Kontrol etmek için indirmeden önce kodda tekrar küçük bir ayar yapmanız gerekir. Varsayılan olarak, alıcı verilerini saf veri olarak yorumlanabilecek bir biçimde görüntüler, ancak seri monitörde yararlı bilgiler görüntülemez. Ancak, #define WRITE_AS_BYTES satırını düzenleyerek (önce // ekleyerek) ve // ​​#define PRINT_VIA_SERIAL_MONITOR satırını düzenleyerek (önce // ekleyerek) kodunuzdaki bu davranışı değiştirebilirsiniz.


Sekizinci Adım: Dava
Bakır şeritten daha fazla, master bir sensör yapar.


Davayı yapmak için, master boş kutular kullanır.

Master karton çizer. 24 bakır şerit keser ve bir karton üzerine sabitlenir.



Ayrıca, master karton 2 * 24 delik genişliğinde ve 24 pimli erkek konektörü keser ve 24 tel lehimler. Ortadaki teller en az 10 cm uzunluğunda olmalıdır, merkezden uzaklaştıkça tellerin uzunluğu artar. Örneğin, 1 cm genişliğinde bir bakır bant ve 3 mm elektrotlar arasındaki mesafe kullanırsanız, telin uzunluğu aşağıda gösterildiği gibi 1,3 cm artmalıdır: 10 / 11,3 / 12,6 / 13,9 / 15,2 ...

Şimdi tellerin ikinci uçlarını bakır şeritlere lehimleyebilir ve şeritleri bantla kapatabilirsiniz.



Sensörü gövdeye yapıştırır ve daha sonra başka bir gövdeyi ona yapıştırır (doğrulama için).


Kumanda panosunun arkasını karton ile örter.

LED'leri ve güç bankasını takar. Güç kablosunu USB kablosunu takıp çıkarabilmeniz için ayarlamanız gerekir, çünkü denetleyici bu şekilde açılır ve kapanır. Ayrıca dokunmatik arayüzü denetleyici anakartına bağlayın ve kutuya yerleştirin.

İki kutunun birleştiği yerde USB-A-USB-C kablosu için bir kesme yapar, dışarıda tutar ve Arduino Nano'ya bağlar.

Şimdi kontrolör hazır.

Master, davayı kırtasiye sakızı yardımıyla düzeltir. Daha sonra, orada olmadıklarında dokunmayı tanıyan sensörlerle ilgili sorunlar varsa, dokunmaya duyarlı gövde, devre kartı ve teller arasına film veya benzeri gibi yalıtım malzemeleri koymanız gerekir. Sensörlere dokunmadan gücü bağlayın.


Dokuzuncu Adım: Bir Alıcı Kasası Oluşturma
Şimdi alıcı için bir konut yapmanız gerekiyor. Sihirbaz, potansiyometreler ve LED'ler için birkaç yuvarlak delik keser.


Alıcı kartını, LED'i, vida potansiyometrelerini yapıştırır. Tutamaçları ayarlar.




Onuncu Adım: Tamamlayın
Artık tüm ekipmanlar monte edildiğine göre, müzik çalma zamanı! Bunu yapmak için, ekipmanı bağlayabileceğiniz bir yazılıma ihtiyacınız vardır. Kravox için bu, ücretsiz olarak indirebileceğiniz Pure Data Vanilla yazılımıdır.

Bilgisayarınıza Pure Data yükledikten sonra çalıştırmanız ve Kravox.pd dosyasını açmanız gerekir. Lütfen bilgisayarınıza, birlikte verildiği drumsamples klasörü ile aynı klasöre kaydedilmesi gerektiğini unutmayın; aksi takdirde Pure Data dosyaları bulamaz.
Kravox.pd program arayüzü açılır açılmaz, pencereyi fotoğraftaki gibi açmanız ve bu pencerede listelenen dört harici aygıtı yüklemeniz gerekir. Bunları yüklemek kolaydır, "Verileri Temizle" menüsünde "yardım" ı tıklayın, "İnternette ek nesneler bul" u seçin (biraz farklı olabilir), "comport", "zexy", "freeverb" ve "arraysize" öğelerini bulun. "tek tek ve en son sürümü yükleyin. Şimdi comport, repack, freeverb ve arraysize olarak işaretlenen dört nesnenin aşağıdaki şekilde olduğu gibi sağlam bir anahatları olmalıdır. Bunun için Pure Data'yı yeniden başlatmanız gerekebilir.

Harici aygıtları kurduktan sonra, alıcıyı USB ile bağlayabilirsiniz. Alıcıyı Arduino Seri Monitörü ile kullanmak için Bölüm 4'teki kodu değiştirdiyseniz, Arduino Seri Monitörü bağlamadan ve kapatmadan önce bu değişikliği geri almalı ve kaynak kodunu Arduino Nano alıcıya yüklemelisiniz.

Şimdi Pure Data penceresine bir göz atın. Hızla güncellenen bir veri akışı görürseniz, bu harika, ancak büyük olasılıkla size, her iki saniyede bir güncellenen ilk görüntüdeki gibi kırmızı bir mesaj gösterecektir.

Kırmızı metin biraz farklı olabilir, ancak yine de Saf Veri henüz alıcınıza bağlanamamıştır. Bunun nedeni, programın hangi USB bağlantı noktasını bağlayacağını belirtmesi gerektiğidir. USB bağlantı noktaları farklı cihazlarda farklı şekilde etiketlenebilir; 2014 MacBook Pro'da Pure Data, bağlandığınız alıcıdan bağımsız olarak her iki USB bağlantı noktasını seri bağlantı noktası 3 olarak tanır. Ardından sihirbaz Kravox'u Lenovo Yoga Pad ile seri bağlantı noktası 6 olarak belirlenen yalnızca bir çalışan USB bağlantı noktasıyla kullandı. Windows'ta bağlantı noktaları 8 ve 9 olarak atanır. Sihirbaz, aygıtınızda hangi USB bağlantı noktasının çalıştığını bulmayı denemenizi önerir. . Kravox.pd arayüzünün (ikinci fotoğraf) bir parçası olarak bir diyalog oluşturdu, burada cihaz çalışana kadar sayıları tıklayabilirsiniz. “Kullanılabilir bağlantı noktalarını göster” ve “Bağlı USB aygıtlarını göster” düğmelerini de deneyebilirsiniz.
Arduino'da Kravox uzamsal sentezleyici


Sonra "Kaydet" i tıklamanız gerekir, böylece Pure Data bir dahaki sefere otomatik olarak bu bağlantı noktasına bağlanmaya çalışır.
Denetleyici kodu düzenlenmişse, kodu yeniden yüklemeniz gerekir.

Denetleyici kartını güç kaynağına bağlamak için kalır. Bunu yaptığınızda, kartın etrafındaki dokunmatik arayüz muhafazası kapatılmalı ve muhafazanın dokunmatik kısmı ellerinize veya başka bir şeye dokunmamalıdır.

Her şey hazır, videoda ek bilgiler görüntülenebilir.


5.5
5.5
5.5

Yorum ekle

    • gülümsegülümsemelerxaxatamamdontknowyahoonea
      patronçizikaptalevetevet-evetagresifgizli
      üzgünümdansdance2dance3pardonyardımiçecekler
      Durarkadaşlariyigoodgooddüdükbaygınlıkdil
      dumanzırıltıcraybeyanalaycıDon-t_mentionindir
      ısıöfkelilaugh1mdatoplantımoskingnegatif
      Not_ipatlamış mısırcezalandırmakokumakkorkutmakkorkutuyorarama
      alaythank_youbuto_clueumnikakutanlaşmak
      kötübeeeblack_eyeblum3kızarmakövünçcan sıkıntısı
      sansürlüşakasecret2tehdit etmekzaferyusun_bespectacled
      shokrespektlolPrevedkarşılamaKrutoyya_za
      ya_dobryiyardımcıne_huliganne_othodiFludyasakyakın

Okumanızı tavsiye ederiz:

Akıllı telefon için verin ...