İçindekiler:

MIDI ile Hızlı Meyve Piyano: 6 Adım (Resimlerle)
MIDI ile Hızlı Meyve Piyano: 6 Adım (Resimlerle)

Video: MIDI ile Hızlı Meyve Piyano: 6 Adım (Resimlerle)

Video: MIDI ile Hızlı Meyve Piyano: 6 Adım (Resimlerle)
Video: Istiklal Marşı - Easy - Piano Tutorial by VN 2024, Kasım
Anonim
Image
Image
MIDI ile Hızlı Meyve Piyano
MIDI ile Hızlı Meyve Piyano

Bu gerçekten basit bir kapasitif dokunmatik piyano. Meyve, kutu soda, su şişeleri, alüminyum folyo şeritleri vb. üzerine dokunun ve bilgisayarınızdan polifonik piyano müziği alın. Artık yazılım yazıldığına göre, projenin Arduino versiyonuyla bir araya getirilmesi 10 dakikadan fazla sürmemelidir.

Şunlara ihtiyacınız var:

  • bir Arduino (8 tuş için Mega, 6 tuş için Uno) veya siyah hap STM32F103C8 kartı (Aliexpress'te 2 ABD doları) artı bir UART-USB dönüştürücü (örneğin, bir Arduino veya bir CH340)
  • USB kablosu
  • biraz alüminyum folyo
  • klipleri ideal olarak test edin, ancak atlama telleri ve ataçlar yapacaktır (buradan bunun için fikir)
  • meyve, oyun hamuru veya kalemle boyanmış alanları olan kağıt parçaları
  • bilgisayar.

Bu, martin2250'nin mükemmel ADCTouch kitaplığından gelen kodu kullandığından ve Arduino, bilgisayara seri üzerinden MIDI komutları gönderdiğinden, ek bileşen gerekmez. Arduino'nun ses çalması, bilgisayardaki bir python betiği veya tüysüz orta seri aracılığıyladır.

STM32F103C8 geliştirme kartını kullanırsanız, o zaman daha da güzel olur: piyano, tüysüz orta seriye gerek kalmadan gerçek bir USB MIDI denetleyicisi olur.

Not: Arduino/STM32F1'in özellikle kuru bir günde veya halı üzerinde statik elektrikten zarar görmesini önlemek için cihaz çalışırken alüminyum folyoya veya test klipslerine dokunmamanızı öneririm. Bunun yerine, direnci bir miktar ESD koruması sağlaması gereken meyveye, oyun hamuruna vb. dokunun

Adım 1: Arduino Kitaplıkları

Arduino Kitaplıkları
Arduino Kitaplıkları

Arduino IDE'de Sketch | Kitaplığı Dahil Et | Kütüphane Müdürü. ADCTouchSensor'umu arayın. Kütüphaneyi kurun.

Ardından Dosya | Örnekler | ADCTouchSensor | KapasitifPiyano.

Bir Arduino'nuz varsa, Arduino'nuzu bilgisayarınızın USB bağlantı noktasına takın ve CapacitivePiano taslağını Uno veya Mega'nıza yükleyin. Çizim, 8 (Mega) veya 6 (Uno) kapasitif sensörden hangisinin tetiklendiğine dair USB seri aracılığıyla bilgisayara veri gönderecektir.

Eğer bir STM32F103C8'iniz varsa, önce önyükleyiciyi kurun ve bunun için Arduino IDE'yi kurun (benim addMidiHID şubemle birlikte) buradaki ilk üç adımı takip ederek. Ardından Kitaplık Yöneticisine geri dönün ve USBHID_stm32f1 kitaplığımı arayın. Yükle.

2. Adım: Lead'leri Piyano Tuşlarına Ekleyin

Lead'leri Piyano Tuşlarına Ekle
Lead'leri Piyano Tuşlarına Ekle
Lead'leri Piyano Tuşlarına Ekle
Lead'leri Piyano Tuşlarına Ekle

Arduino veya STM32F103C8'inizdeki A0-A7 (Uno'da A0-A5) pinlerinden piyano tuşları olarak işlev görmek istediğiniz her şeye kabloları çalıştırın. Örneğin, timsah klipsli jumper'lar veya alüminyum folyo parçalarına giden test klipsleri kullandım ve her birinin üzerine anahtar olarak ya bir kutu soda ya da portakal koydum. Alüminyum folyo doğrudan anahtar olarak kullanılabilir. Veya bir parça meyve, sebze veya oyun hamuruna bir tel yapıştırabilirsiniz.

Adım 3: Yazılımı Kurun: Seçenek A: Arduino ve Hairless MIDI'den Seri Köprüye

Arduino'nun USB seri çıkışını bilgisayarınızın sentezleyici yazılımına bağlamak için Hairless MIDI to Serial Bridge'i (Win/OSX/Linux) indirip kurabilirsiniz.

Windows 7 veya daha yenisine sahipseniz yerleşik Microsoft Wavetable GS Synth'i kullanabilirsiniz, bu nedenle yüklemeniz gereken tek şey Hairless'tır. Diğer bazı oynatma yazılımları loopMIDI gerektirir.

Diğer sistemlerde VirtualMidiSynth veya Garageband gibi bir MIDI sentezleyiciye ihtiyacınız olabilir. İsterseniz VirtualMidiSynth'i Windows üzerinde de kullanabilirsiniz.

Adım 4: Yazılımı Kurun: B Seçeneği: Arduino ve Python

Yazılımı Kurun: Seçenek B: Arduino ve Python
Yazılımı Kurun: Seçenek B: Arduino ve Python

MIDI notlarını çalan basit bir Python betiği de kullanabilirsiniz.

Bilgisayarınızda Python'un kurulu olduğundan emin olun. Ya 2.7 ya da 3.x yapacaktır.

pygame Python paketinin kurulu olduğundan emin olun. Değilse, bunu komut satırından çalıştırın:

python -m pip pygame kurulumu

Arduino'nuzun seri portunun hangi adresi olduğunu öğrenin. Arduino IDE'niz Araçlar | Liman.

İndirmiş olduğunuz CapacitivePiano paketinde projenin PC tarafı olan music.py scriptini bulacaksınız.

Adım 5: Yazılımı Kurun: Seçenek C: STM32F103C ve MIDI Synthesizer Yazılımı

Yazılımı Yükleyin: Seçenek C: STM32F103C ve MIDI Synthesizer Yazılımı
Yazılımı Yükleyin: Seçenek C: STM32F103C ve MIDI Synthesizer Yazılımı

STM32F103C'niz varsa, MIDI klavye denetleyicisi ile çalışan herhangi bir yazılımı kullanabilirsiniz.

Bir bilgisayarda Sanal MIDI Piyano Klavyesini (VMPK) kullanıyorum. STM32F103C takılıyken Düzenle | MIDI Bağlantıları | MIDI Bağlantısını girin ve ardından Maple MIDI veya Diro Synth'i seçin.

Bir Android cihazda, (USB OTG kablosuyla) Common Analog Synthesizer ve Synth DX7 Piano'yu başarıyla kullandım.

Adım 6: Oynat

Oynamak!
Oynamak!
Oynamak!
Oynamak!
Oynamak!
Oynamak!

Arduino'yu CapacitivePiano taslağı ile bilgisayara takın. Kapasitif düğmelerin kalibre edilmesini sağlamak için yalnızca güç LED'i yanana kadar "düğmelerden" hiçbirine dokunmayın.

Hairless seçeneği için Hairless MIDI köprüsünü çalıştırın, açılır listeden seri portu seçin. Ardından bir sentezleyici seçin. Windows'ta, Microsoft Wavetable GS Synth'i seçerseniz, her şey çalışır.

Bunun yerine Python betiğini kullanmak istiyorsanız, piano.py'nin bulunduğu dizinde olduğunuzdan emin olun ve şunu çalıştırın:

python piano.py seri bağlantı noktası

burada serialport, Arduino IDE'den gelen seri bağlantı noktasıdır (örneğin, Windows'ta COMx).

STM32F103C8 kullanıyorsanız, bir bilgisayarda veya mobil cihazda favori MIDI sentezleyici yazılımınızı kullanın.

Şimdi "düğmelerinize" basın ve eğlenin!

Çocukların deneyebileceği eğitici fikirler:

  • Alüminyum folyo üzerinde farklı öğelerle deneyler yapın ve hangilerinin işe yarayıp hangilerinin yaramadığını görün ve sonra bunların neden işe yarayıp diğerlerinin çalışmadığı hakkında konuşun.
  • Oyun hamuru gerçekten iyi çalışıyor (ve o zaman folyoya ve klipslere bile ihtiyacınız yok - kabloları oyun hamuruna yapıştırabilirsiniz, ancak kuşkusuz bir bomba gibi görünüyor!).
  • Hatta bir parça kağıt alabilir ve kalemle (çok karanlık olması gerekmez, ancak çapraz tarama iyidir) alanlarda gölge yapabilir ve bunları klipsleyebilirsiniz.
  • Beyaz tahtanın kenarı gibi gerçekten büyük bir metal parçaya bir timsah klipsi takabilir ve dev anahtarlar yapabilirsiniz.
  • Denenecek bir deney, daha küçük bir kişinin tellerden birine bağlı bir timsah klipsi tutmasını ve ardından daha büyük bir kişinin daha küçük kişiyle el sıkışmasını veya beşlik çakmasını ve bunun kaydedilip kaydedilmediğine bakmasını sağlamaktır. Ardından, daha büyük bir kişi onu tutarken ve daha küçük bir kişi onlara dokunarak tekrar deneyin.

Arduino'ya bağlı olan her değişiklikten sonra, "sıfırla" düğmesine basarak veya USB bağlantısını yeniden takarak Arduino'yu sıfırladığınızdan emin olun (ve muhtemelen çökeceği için python kodunu yeniden çalıştırın), sensörleri yeniden kalibre etmek için.

Elektrik kapasitesi ve kapasitif algılama tartışılabilir.

Önerilen: