İçindekiler:

MIDI Kontrollü LED Yapısı: 7 Adım
MIDI Kontrollü LED Yapısı: 7 Adım

Video: MIDI Kontrollü LED Yapısı: 7 Adım

Video: MIDI Kontrollü LED Yapısı: 7 Adım
Video: ARDUİNO EĞİTİM DERS | 1 (Sıfırdan, Led Ampul Yakmak) 2024, Temmuz
Anonim
Image
Image

Gerçek bir müzik aşığı ve elektronik ve bilgisayar bilimi öğrencisi olarak, her zaman elektronik müzik oluşturmak için kullanabileceğim MIDI cihazları yapmak istemişimdir.

Birçok gösteri ve müzik festivaline katıldıktan sonra, performanslar sırasında ışık gösterilerine gerçekten ilgi duymaya başladım.

Çok fazla araştırmadan sonra, çoğunlukla sadece mikrofon kullanan ve LED'leri tam istediğiniz gibi kontrol etmeye izin vermeyen cihazlar buldum.

DAW ve MIDI sinyallerine giderek daha fazla aşina olarak bu projeye başlamaya karar verdim!

Aslında MIDI sinyalleri (NoteOn, NoteOff ve CC Mesajları) tarafından kontrol edilen, entegre LED'lere sahip bir 3D yapıdan oluşur.

Böylece müzisyen, yalnızca herhangi bir DAW tarafından üretilen MIDI sinyallerini kullanarak her bir LED'in rengini ve yoğunluğunu kontrol edebilir.

Bu fikirle, ışık gösterileri yoluyla yaratıcılığı geliştirmek ve herkesin kendi tasarımını yapmasına izin vererek her görsel performansı benzersiz kılmak istedim.

Adım 1: Malzemeler

Temel olarak bu proje iki bölümden oluşmaktadır: MIDI alım devresi ve LED yapısı; ve bu parçaları bağlamak ve DAW'dan gelen MIDI sinyallerini LED şeritlerine "çevirmek" için bir mikro denetleyici. İşte her parça için gerekli malzemelerin bir listesi.

MIDI alım devresi:

  • 1 x 6N138 Optokuplör
  • 1 x 1N914 Diyot
  • 1 x 5-Pin Din Jakı (MIDI Jakı)
  • 2 x 220 Ohm Dirençler
  • 1 x 4.7K Ohm Direnç
  • 1 USB/MIDI Jakı

LED Yapısı:

Sadece 1 dijital port ile kontrol edilebilen WS2812B LED'lere dayalı RGB LED şeritleri kullandım. Çok sayıda LED kullanmayı planlıyorsanız, gereken maksimum akıma dikkat etmeniz gerekebilir (1 LED en fazla 60mA tüketebilir). Mikrodenetleyici bu maksimum değeri kaldıramazsa, yeterli akım sağlayabilen başka bir 5V güç kaynağına ihtiyacınız olacaktır. Özel çıkış adaptörü ve bir anahtar ile 5V - 8A AC/DC Adaptörü kullandım.

Not: Görünüşe göre, gerçekten yüksek bir akım sağlayabildiklerini bildikleri için bir bilgisayar güç kaynağı ünitesi kullanabilirsiniz, ancak belki bir kullanarak, kararlı bir 5V DC voltaj sağladığından emin olmanız gerekir. Toprak (siyah) ve 5V çıkış (kırmızı) arasında 36 Ohm 5 Watt güç direnci, dirençten yeterli akımın geçmesini sağlamak ve böylece kararlı bir 5V sağlamak için.

Son olarak, MIDI sinyalleri ve LED şeritleri arasında bağlantı kurmak için vida korumalı basit bir Arduino Uno kullandım.

Adım 2: MIDI Giriş Devresini Oluşturma

MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma
MIDI Giriş Devresini Oluşturma

MIDI protokolünün tam olarak ne olduğu ve nasıl çalıştığıyla ilgileniyorsanız, birçok ilginç ve yenilikçi öğreticinin ve MIDI Arduino projelerinin bulunduğu Notes and Volts YouTube kanalına bakmanızı şiddetle tavsiye ediyorum.

Bu bölümde sadece MIDI Giriş Devresine odaklanacağım. Bir protoboard üzerinde bir prototip oluşturmak ve bileşenleri lehimlemeye başlamadan önce DAW'dan gelen MIDI sinyallerinin mikrodenetleyici tarafından iyi bir şekilde alınıp alınmadığını kontrol etmek iyi bir fikir olabilir.

Aşağıdaki iki video, devrenin nasıl oluşturulacağını ve test edileceğini açıklar:

  • Devreyi kurmak
  • Devrenin test edilmesi

Son olarak, CC mesajlarını ve örneğin LED parlaklığını kontrol etmek için otomasyon kliplerinin mikrodenetleyiciniz tarafından nasıl yorumlanabileceğini anlamak için bu videoyu izlemek de iyi bir fikir olabilir.

3. Adım: FL Studio'yu Yapılandırma (isteğe bağlı)

FL Studio'yu Yapılandırma (isteğe bağlı)
FL Studio'yu Yapılandırma (isteğe bağlı)
FL Studio'yu Yapılandırma (isteğe bağlı)
FL Studio'yu Yapılandırma (isteğe bağlı)
FL Studio'yu Yapılandırma (isteğe bağlı)
FL Studio'yu Yapılandırma (isteğe bağlı)

FL Studio'yu kullanırken kendimi rahat hissettiğim için MIDI arayüzünün nasıl düzgün bir şekilde yapılandırılacağını açıklayacağım, ancak başka bir Dijital Ses İş İstasyonu kullanıyorsanız bu prosedürün büyük ölçüde farklı olmaması gerektiğinden oldukça eminim.

Öncelikle USB/MIDI jakını bilgisayarınıza takmanız yeterlidir. Genellikle, bu tür cihazlar yerleşik bir bellenimle gelir ve sorunsuz olsalar bile MIDI cihazları olarak tanınırlar. Ardından "Ayarlar" penceresini açın (F10 tuşuna basarak). Her şey düzgün çalışıyorsa, çıkış bölümünde bazı çıkış MIDI aygıtlarını göreceksiniz. Cihazınızı seçin ve AÇIK olduğundan emin olun.

Ardından bağlantı noktası numaranızı tanımlamanız ve aklınızda tutmanız gerekir (örneğin 0). Sadece bu pencereyi kapatın (parametreler otomatik olarak kaydedilir) ve ardından yeni bir kanal ekleyin: MIDI Out.

Ardından yapmanız gereken son şey, bu yeni kanalın portunu tanımlamaktır: "Ayarlar" bölümünde tanımladığınız port numarasının aynısını seçtiğinizden emin olun: Bunu yaparak, kanalınızdan gelen MIDI mesajları artık MIDI çıkışına bağlı.

Şimdi, MIDI Out kanalı tarafından bir not çalındığında, MIDI arabirimi aracılığıyla bir "NoteOn" mesajı gönderilecektir. Aynı şekilde, not bırakıldığında bir "NoteOff" mesajı gönderilecektir.

MIDI Out kanalı ile gelen bir diğer ilginç özellik ise potansiyometreler ile farklı parametreleri kontrol edebilme yeteneğidir. Bunlardan birine sağ tıklayıp "Yapılandır…" seçeneğini seçerek, LED'lerin parlaklığını kontrol etmek için kullanılacak CCMesajları (0'dan 127'ye kadar olan bir değer) göndermelerini sağlayabilirsiniz: CC'yi ve ardından Kabul Et'i seçin.

Normalde FL Studio artık MIDI Arayüzünüze veri göndermeye hazırdır! Sıra Arduino'da yanıp sönecek kodu yazmak ve LED yapınıza uyarlamaktır.

Adım 4: LED'lerin Bağlanması

LED'lerin bağlanması
LED'lerin bağlanması

LED şeritlerin bağlanması, sadece +5V, GND ve Veri gerektirdiğinden oldukça basittir. Bununla birlikte, 20'den fazlasını bağlamayı planladığım için, herhangi bir istenmeyen gecikmeyi önlemek için birkaç Arduino PWM pini kullanmaya ve birkaç Adafruit_NeoPixel (coe'da) örneği bildirmeye karar verdim.

Ekli resim ayrıca elektroniğin nasıl çalıştığını açıklamayı amaçlamaktadır:

  • LED şeritleri doğrudan güç kaynağından güç alır.
  • Arduino'ya güç sağlamak için bir güç anahtarı kullanılır
  • MIDI giriş devresi, anahtar açıldığında Arduino tarafından çalıştırılır

Adım 5: 3B Yapıyı Tasfiye Etme

3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme
3B Yapıyı Tasfiye Etme

3D baskı (ve modelleme) konusunda tamamen yeni olduğum için bu bölüm şimdiye kadarki en uzun bölümdü. Yarı patlamış, kesik bir ikosahedron gibi görünen bir yapı tasarlamak istedim (evet, şeklin tam adını bulmam biraz zaman aldı).

Tabii ki kendi modelinizi istediğiniz şekilde tasarlamakta özgürsünüz! Modelleme sürecini detaylandırmayacağım ama bu yapıyı tasarlamak istiyorsanız STL dosyalarını bulacaksınız.

Farklı parçaların montajı biraz zaman aldı, çünkü her yüze bir LED yerleştirmek ve şu anda oldukça dağınık olan çekirdeğin içine çok sayıda kablo lehimleyerek hepsini bağlamak zorunda kaldım!

Not: Böyle bir yapı tasarlamak istiyorsanız, 10 altıgen parçaya (PP3DP UP mini yazıcı kullanarak her biri yaklaşık 3 saat) ve 6 beşgen parçaya (2 saat) ihtiyacınız olacaktır.

Her parçada bir LED olduğunda, her 5V ve GND terminalini birbirine bağlamanız ve her bir LED'in birkaç giriş ve çıkış terminalini sizin bağlanacağınız şekilde kablolamanız gerekecektir.

Son olarak, her bir yüzü kaplamak ve onları sürekli olarak aydınlatmak için LED dağınık akrilik kullandım.

Bundan sonra geriye kalan tek şey, o kadar da karmaşık olmadığını ortaya çıkaran kod!

Adım 6: Kod

kod
kod

Önceki bölümde bahsettiğim gibi, kod oldukça basit görünüyor!

Aslında, yalnızca bir MIDI örneğinden ve birkaç Adafruit_NeoPixel örneğinden oluşur (farklı şeritler olduğu kadar).

Temel olarak, bir kez bildirildiğinde, MIDI sınıfı bir tür "kesme" ile çalışır: NoteOn, NoteOff ve CCMessage. MIDI giriş devresi bu belirli sinyallerden birini Arduino'ya ilettiğinde, ilişkili alt rutin çağrılır. Ardından, kodun tek yaptığı NoteOn sinyalinde belirli bir LED'i açmak, ilişkili NoteOff sinyalini kapatmak ve CCMessage'da bir şeridin parlaklığını güncellemektir.

Ayrıca NoteOn sinyali ile gelen hızı okuyarak LED'lerin rengini seçme imkanı veren basit bir fonksiyon tanımladım ve her LED daha sonra kırmızı, mor, mavi, turkuaz, yeşil, sarı, turuncu veya beyaz olabilir, 0'dan 127'ye giden hız değerine bağlı olarak.

Dikkat edilmesi gereken önemli bir nokta, çiziminizi yüklerken (bu işlem sırasında kullanılan) seri port o pine bağlı olduğu için RX pinini (MIDI giriş devresinden gelen) ayırmanız gerekeceğidir!

Adım 7: Şimdi ne olacak?

Şu anda tüm elektroniği gömmek için özel bir kasa üzerinde çalışıyorum ve ayrıca yapı için bir isim düşünüyorum! Lütfen bu projeyi beğendiyseniz bana bildirin ve bu talimatı daha fazla video ile güncellemeyi planladığım için farklı şovlar üzerinde çalışıyorum!

Önerilen: