Eğitimler
Midi
Bu eğitici, Arduino veya Genuino kartından MIDI notlarının standart 5 kutuplu DIN kablosu ile bağlı bir MIDI cihazına nasıl gönderileceğini gösterir.
Müzik Enstrümanı Dijital Arayüzü olan MIDI , sentezleyicileri, sıralayıcıları ve diğer müzik cihazlarını kontrol etmek için yararlı bir protokoldür. MIDI cihazları genellikle iki geniş sınıfa ayrılır: kontrolörler (yani insan eylemlerine dayalı MIDI sinyalleri üreten cihazlar) ve sentezleyiciler (örnekleyiciler, sıralayıcılar vb. Dahil). İkincisi MIDI verilerini alır ve ses, ışık veya başka bir efekt yapar.
MIDI, saniyede 31.250 bit hızında çalışan bir seri protokoldür. Kartın yerleşik seri portu (hepsi Mega'da da) bu hızda veri gönderebilir.
MIDI baytları iki türe ayrılır: komut baytları ve veri baytları . Komut baytları her zaman 128 veya daha büyük veya onaltılık biçimde 0x80 ila 0xFF'dir. Veri baytları her zaman hex cinsinden 127 veya 0x00 ila 0x7F'den düşüktür. Komutlar arasında not açık, not kapalı, eğim bükme vb. Veri baytları, çalınacak notanın perdesi, notanın hızı veya ses yüksekliği, perdenin bükülme miktarı vb. Daha fazla ayrıntı için, MIDI spesifikasyonuna veya Web üzerindeki birçok MIDI Protokol Kılavuzundan birine bakın.
MIDI verileri genellikle onaltılık olarak not edilir, çünkü MIDI bankaları ve enstrümanları 16'lı gruplar halinde gruplandırılmıştır.
Daha fazla bilgi için bu MIDI girişine veya bu örneğe bakınız .
Gerekli Donanım
- Arduino veya Genuino Uno
- Dişi MIDI jakı
- 2220 ohm direnç
- bağlantı telleri
- MIDI özellikli cihaz (isteğe bağlı, test için)
Devre
Tüm MIDI konektörleri, MIDI spesifikasyonunun tanımı gereği dişidir. Konektörü panoya nasıl bağlayacağınız aşağıda açıklanmıştır:
- 220 ohm direnç üzerinden Dijital pim 1'e bağlı MIDI jak pimi 5
- MIDI jak pimi 2 toprağa bağlı
- 220 ohm direnç üzerinden + 5V'ye bağlı MIDI jak pimi 4
büyütmek için resme tıklayın
Şematik
büyütmek için resme tıklayın
Kod
Dikkat DUE veya Leonardo gibi ATmega32U4 içeren bir kart kullanıyorsanız, lütfen aşağıdaki çizimde Serial1'i Serial1 ile değiştirin.
See Also
- serial.begin()
- for() döngü
- ASCIITable- Arduino'nun gelişmiş seri çıkış fonksiyonlarını gösterir.
- Dimmer- Bir LED'in parlaklığını değiştirmek için fareyi hareket ettirin.
- Graph- Verileri bilgisayara gönderin ve İşlemde grafiğini çizin.
- MultiSerialMega- Arduino ve Genuino Mega'da bulunan iki seri bağlantı noktasını kullanın.
- PhysicalPixel- İşleme veya Maks / MSP'den kartınıza veri göndererek bir LED'i açın ve kapatın.
- ReadASCIIString- Bir LED'in solması için virgülle ayrılmış bir tamsayı dizesi ayrıştırın.
- SerialCallResponse- Bir çağrı ve yanıt (el sıkışma) yöntemi kullanarak birden çok değişken gönderin.
- SerialCallResponseASCII- Bir çağrı ve yanıt (el sıkışma) yöntemi kullanarak birden çok değişken gönderin ve göndermeden önce değerleri ASCII kodlayın.
- SerialEvent- SerialEvent () kullanımını gösterir.
- VirtualColorMixer- Arduino'dan bilgisayarınıza birden çok değişken gönderin ve bunları İşleme veya Maks / MSP'de okuyun.