İçindekiler:
Video: Arduino Uno Midi Fighter: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Bu talimat, Güney Florida Üniversitesi'ndeki Makecourse proje gereksinimini yerine getirmek için oluşturulmuştur (www.makecourse.com)
DJ Techtools'un popüler MidiFighter'ına dayanan bu ev yapımı Arduino destekli Müzik Enstrümanı Dijital Arabirimi (MIDI) denetleyicisi, herhangi bir Dijital Ses İş İstasyonu (DAW) yazılımında bir MIDI cihazı olarak kullanılabilir. Bir MIDI denetleyicisi, bir bilgisayardan MIDI mesajları gönderip alabilir ve hangi yazılımın kullanıldığını doğrudan kontrol etmek için kullanılabilir. Ek olarak, bir MIDI denetleyicisindeki kontroller tamamen özelleştirilebilir - yani her bir düğme, kaydırıcı ve düğme bir DAW'daki herhangi bir işleve eşlenebilir. Örneğin, bir düğmeye basmak belirli bir notayı çalabilir veya ses projenizin temposunu değiştirmek için programlanabilir.
github.com/jdtar/Arduino-Midi-Controller
Adım 1: Malzemeler
Aşağıda bu projede kullanılan malzeme ve araçların bir listesi bulunmaktadır.
Arduino Uno
ekmek tahtası
4051/4067 Çoklayıcı
Atlama telleri
Ekstra Tel
2x 10k ohm lineer sürgülü potansiyometre
16x Sanwa 24 mm düğmeler
Isıyla Daralan
Havya
Jilet
4.7 kΩ direnç
Akrilik Levha (kapak için)
Düğmeler ve Arduino için muhafaza
3 boyutlu yazıcı
Lazer Kesici
2. Adım: Tasarım
Projeye başlamadan önce MIDI denetleyicim için muhafaza zaten bana sağlandı, bu yüzden her şeyin nereye yerleştirileceğini görselleştirmek için kapak için bir taslak oluşturdum. Bir özellik olarak en az 16 düğme ve birkaç potansiyometre istediğimi biliyordum, bu yüzden bileşenleri olabildiğince eşit aralıklarla yerleştirmeye çalıştım.
Kapağın düzenini oluşturduktan sonra dosyayı 1:1 PDF olarak dışa aktardım ve bir akrilik levha kesmesi için lazer kesiciye gönderdim. Vida delikleri için ise işaretleyici ile deliklerin olmasını istediğim yerleri işaretledim ve akriliği sıcak filament ile erittim.
1:1 olarak yazdırılabilen ve lazer kesici yoksa elektrikli aletlerle kesilebilen 1:1 PDF ektedir.
Adım 3: İnşaat ve Kablolama
Akriliki kestikten sonra, akriliğin tüm bileşenleri yeterince destekleyemeyecek kadar ince olduğunu öğrendim. Daha sonra başka bir sayfa kestim ve onları birbirine yapıştırdım, bu da mükemmel bir şekilde çalıştı.
Bileşenleri kablolamak biraz deneme yanılma gerektirdi ancak Fritzing taslağının eklenmesiyle sonuçlandı. İlk önce topraklama kablolarını ve 4.7kΩ direncini bağladım, lehimledim ve düğmelerdeki bağlantıları ısıyla küçülttüm. İki sürgülü potansiyometrenin montajı, akrilikteki vidalar için eritme delikleri gerektiriyordu. İki potansiyometre vidalandıktan sonra A0 ve A1 analog pinlerine bağlandı. Kablolama tamamlandıktan sonra, fader'larım için düğme kapakları olmadığını hatırladım, bu yüzden onları satın almak yerine Autodesk Fusion 360'ta çizerek ve bir STL dosyasına aktararak 3 boyutlu bir yazıcı kullanarak bazı düğme kapakları yazdırdım. De
Arduino Uno'da yalnızca 12 adet dijital giriş pini bulunur, ancak 16 düğmenin bağlanması gerekiyordu. Bunu telafi etmek için, 4 dijital giriş pini kullanan ve birden fazla sinyalin paylaşılan bir hat kullanmasını sağlayan bir breadboard üzerine bir 74HC4051 Çoklayıcı bağladım ve toplamda 16 dijital pin için kullanılabilir 8 dijital giriş pini sağladım.
Düğmeleri doğru pinlere bağlamak, sadece bir 4x4 matrisi oluşturmak ve bunu kodda kullanmak meselesiydi. Ancak zor olan kısım, satın alınan belirli çoklayıcının veri sayfasının yardımcı olduğu belirli bir pin düzenine sahip olmasıydı ve ayrıca düğmeleri bağlarken biraz şöyle görünen belirli bir not düzeni aklımdaydı:
NOT MATRİSİ
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRİSİ (M = MUX GİRİŞİ)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Adım 4: Programlama
Montaj tamamlandıktan sonra, geriye kalan tek şey Arduino'yu programlamak. Ekli komut dosyası, kolayca özelleştirilebilir şekilde yazılmıştır.
Komut dosyasının başında, her ikisi de kodun zip dosyasında bulunan Notes ve Volts blogundan ödünç alınan MIDI.h kitaplığı ve bir denetleyici kitaplığı bulunur. Denetleyici kitaplığını kullanarak, nota numarası, kontrol değerleri, nota hızı, MIDI kanal numarası vb. içeren veri değerlerini içeren düğmeler, potansiyometreler ve çoklanmış düğmeler için nesneler oluşturulabilir. Arduino seri portları, denetleyici nesnelerinden verileri alır, bunları MIDI mesajlarına dönüştürür ve mesajları, bağlı olan midi arayüzüne gönderir.
Komut dosyasının geçersiz kurulum kısmı, tüm kanalları kapalı olarak başlatır ve ayrıca 115200 baud'da bir seri bağlantı başlatır; bu, MIDI sinyallerinin değiş tokuş edilmesinden daha hızlı bir hızdır.
Ana döngü esasen düğme ve çoğullanmış düğme dizilerini alır ve düğmenin basılıp basılmadığını kontrol eden ve ilgili veri baytlarını midi arayüzüne gönderen bir for döngüsü çalıştırır. Potansiyometre döngüsü, potansiyometrenin konumunu kontrol eder ve karşılık gelen voltaj değişikliklerini midi arayüzüne geri gönderir.
Adım 5: Kurulum
Betik Arduino'ya yüklendikten sonra, bir sonraki adım tak ve çalıştır. Bununla birlikte, kullanılmadan önce birkaç adım vardır.
OSX'te Apple, mac'lerde Audio Midi Kurulum uygulaması aracılığıyla erişilebilen sanal midi aygıtları oluşturmak için bir özellik ekledi. Yeni cihaz oluşturulduktan sonra, Arduino ile yeni sanal midi cihazı arasında seri bağlantı oluşturmak için Hairless MIDI kullanılabilir. Arduino'dan Hairless MIDI aracılığıyla seri bağlantı, betiğin void kurulum bölümünde tanımlanan baud hızında çalışır ve Hairless MIDI tercih ayarlarında eşdeğer olarak ayarlanmalıdır.
Test amacıyla, seri MIDI bağlantısı üzerinden doğru verilerin gönderilip gönderilmediğini kontrol etmek için Midi Monitor'ü kullandım. Tüm düğmelerin doğru kanallar aracılığıyla doğru veriler üzerinden gönderildiğini belirledikten sonra, MIDI sinyalini Ableton Live 9'a MIDI Girişi olarak yönlendirmek için ayarladım. Ableton'da dilimlenmiş ses örneklerini her bir düğmeye eşleyebildim ve her örneği çalabildim.
Önerilen:
RC Thrust Vectoring Hovercraft (Jet Fighter'larda kullanılır): 4 Adım (Resimlerle)
RC Thrust Vectoring Hovercraft (Jet Fighter'larda kullanılır): 'Kısaca Elektronik' kursuma buradan kaydolun: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARKAyrıca youtube kanalıma göz atın daha fazla proje ve elektronik eğitimi için burada: https://www.youtube.com/channel/UCelOORs
Adım Adım Arduino Uno ile Akustik Kaldırma (8 adım): 8 Adım
Arduino Uno ile Akustik Kaldırma Adım Adım (8 adım): ultrasonik ses dönüştürücüler L298N erkek dc pinli Dc dişi adaptör güç kaynağı Arduino UNOBreadboardBu nasıl çalışır: İlk olarak, Arduino Uno'ya kod yüklersiniz (dijital ile donatılmış bir mikrodenetleyicidir) ve kodu dönüştürmek için analog bağlantı noktaları (C++)
Daha Güçlü Arduino-UNO, Massduino-UNO: 9 Adım
Daha Güçlü Arduino-UNO,Massduino-UNO: Massduino Nedir?Massduino, Arduino platformu çevre birimlerini -zengin, kullanışlı ve hızlı geliştirme, düşük maliyetli ve üretimi kolay büyük ölçekli üretim avantajlarını birleştiren yeni bir ürün grubudur. Arduino kodunun neredeyse tamamı bir
Arduino Tabanlı MIDI Fighter(Dokunmaya Duyarlı): 7 Adım (Resimlerle)
Arduino Tabanlı MIDI Fighter (Dokunmaya Duyarlı): MIDI, Müzik Aleti Dijital Arayüzü anlamına gelir. Burada dokunmaya duyarlı bir MIDI avcı uçağı yapıyoruz. 16 pedi var. bunlar artırılabilir veya azaltılabilir. Burada arduino pinleri kısıtlı olduğu için 16 kullandım.Ayrıca analog giriş pinleri kullandım
Spielatron veya Diğer MIDI Synth için MIDI 5V LED Şerit Işık Kontrol Cihazı: 7 Adım (Resimlerle)
Spielatron veya Diğer MIDI Synth için MIDI 5V LED Şerit Işık Kontrol Cihazı: Bu kontrolör, not başına 50mS için üç renkli LED şerit ışıkları yanıp söner. G5 ila D#6 için mavi, E6 ila B6 için kırmızı ve C7 ila G7 için yeşil. Kontrolör bir ALSA MIDI cihazıdır, bu nedenle MIDI yazılımı, bir MIDI synth cihazı ile aynı anda LED'lere çıkış verebilir