İçindekiler:
- Adım 1: Sensörler
- Adım 2: Pull-up Montajı
- Adım 3: Arduino'yu Kodlayın
- Adım 4: Hem Arduino Raspberry Seri Haberleşme
- Adım 5: PureData Yaması Alındı
- Adım 6: PureData Geliştirme
Video: Müzikal Dijital Arayüz: 6 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
Hepiniz hoşgeldiniz, Size kendi Müzikal Dijital Arayüzümü göstermek istiyorum. Teknik ses derecem sırasında yaptım, bu benim araştırma kağıtlarım. Başlamak için, DAW olmadan, geri dönüştürülmüş malzemelerle ve bağımsız olarak çalma olasılığıyla nasıl müzik besteleyebileceğimi sordum.
Bu derste, bir sesi tetiklemek için Arduino'dan Raspberry pi'ye sensörler (analog ve dijital) bilgileri göndermek/almak için seri iletişimin nasıl kullanılacağını öğreteceğim.
Gerekli malzemeler şunlardır:
x1 Ahududu PI3
x1 Koruma koruması PI3
x1 Mikro SD (32G)
x1 Arduino UNO
x1 Sensör IR Keskin GP2Y0E02B
x1 ekmek tahtası
x1 Plaka test göstergesi (0.2)
x28 Direnç 10MΩ
x2 Direnç 1.8kΩ
x1 Direnç 10kΩ
x20 Terminal pabuçları Erkek/Dişi
x1 Lehim taşıyıcı
x1 bobin kalay (1 metre)
x1 Havya
x25 Esnek Askılar Erkek/Erkek
Adım 1: Sensörler
"Guitar Hero" Harmonix XBOX 360 kumandasından gelen 4 adet piezoelektrik kullandım. Reed anahtarın jam ayak pedalı gitar hero kumandasının manyetik manyetik anahtarı dışarıda olduğu için bir açma/kapama düğmesi kullandım.
Sharp GP2Y0E02B IR sensörü kullandım. Tüm bu sensörler için etkili çalışma için pull-up montajı yaptım…
Böylece ampirik olarak düğme sensörüne ve IR sensörüne direnç değeri buldum. Ancak bunun tam ölçeğini bilmek için piezoelektrik test ettim ve 4 analog sensör için sabit direnç değeri gerekli ve uygulandı.
Adım 2: Pull-up Montajı
Piezoelektriği voltaj üreteci ile test ettikten sonra direnç değerini 7MΩ olarak sabitledim.
Düğme direnç tertibatının yukarı çekilmesi 10 kΩ idi.
IR sensörü için sırasıyla besleme gerilimi ile SDA (veri) ve SCL (saat) arasında iki adet 1,8kΩ direnç kullandım.
Dikkatli olun çünkü bu direnç değerleri RTX Arduino UNO içindir; Arduino empedans girişi hakkında bilinmesi gereken bir şey: 10MΩ.
Bu adımın son resminde pull-up montajını görebilirsiniz; Piezoelektrik kayışları UNO'da 0 1 2 3 pime, düğme kayışını 2 dijital pime sabitledim, ancak değeri UNO'da 6 pimde ve IR sensör kayışını UNO'da 4 5 pimde, Arduino Uno'nun tüm analog girişlerinde ilettim.
Adım 3: Arduino'yu Kodlayın
İşlemin etkili olduğundan emin olmak için sensörlerin Arduino'ya gönderme/alma bilgilerini test ettim.
Dosyaları açıklamaya koydum ama Arduino Genuino programlamasının örnekler bölümünde bulabilirsiniz, IR sensörü tam olmadığı için hariç, "define" bölümünde "shift" gibi bir kaç bilgiyi değiştirdim ve ölçüm hesabını düzenli olarak değiştirdim mesafe varyasyonlarında. Muhtemelen IR sensör kodunda "Tel" görmüşsünüzdür. Aslında ben iletişim kurmak için I2C protokolünü kullandım. Sizi I2C protokolünü görmeye davet ediyorum, çok ilginç, bunu istediğiniz tüm dijital sensörleri gerçek zamanlı olarak iletmek için kullanabilirsiniz.
Adım 4: Hem Arduino Raspberry Seri Haberleşme
evet:D
İlk resimde gördüğünüz gibi Arduino-Raspberry bağlantısı USB fişidir.
Raspberry PI'de kurulu olan PureData Extented ile sensör bilgilerini doğrudan almanın bir yolunu buldum. Neden PureData Genişletilmiş? Çünkü Vanilla sürümü, Raspbian ortamındaki bir uygulamayla aynı kütüphaneyi kullanmaz.
Bu nedenle, I/O ve değer varyasyonlarını doğru şekilde düzeltmek için Arduino Genuino'da StandardFirmata'yı başlatın!
Raspberry PI'da değer bilgilerini geri almak için 2 protokol bulunmaktadır: Firmata ve Msg.
Firmata'yı bir nedenden dolayı seçtim, PureData'da tek ortam olan patch Pduino ile bilgi almak daha kolaydı.
OSC protokolünü kullanıyorsanız sizi Msg keşfetmeye davet ediyorum.
Adım 5: PureData Yaması Alındı
Gerçekten de, Genuino'da haftalarca kodlama yaptıktan sonra, tüm sensör bilgilerimi tek bir sayfada almayı başardım, bu, Puredata'daki bir yama olan Pduino sayesinde, ekstra bölüm kitaplıkları sayesinde gerçek zamanlı olarak varyasyonları görmeme izin verdi.
Bu adımdan itibaren artık Arduino koduna dokunmuyoruz. Değerin bilgileri okunabilir.
3. adımda fark ettiğim gibi 6 pinli analogda dijital butondan bilgi aldım, iletişimin etkin işleyişini görmek kolaydı. Hepsi bir satırda.
Adım 6: PureData Geliştirme
PureData belirli bir dildir ve güzel patchwork yapmayı başarmak için boş zamanınızı harcamanız gerekir.
PureData yamasının bir kısmı GitHub'da mevcut olacak.
Umarım burada yazdıklarım benimkine yakın kendi projenize başlamanıza yardımcı olmuştur.
Önerilen:
Müzikal MIDI Ayakkabıları: 5 Adım (Resimlerle)
Müzikal MIDI Ayakkabıları: Pek çok insan gibi, ister bir şarkı eşliğinde ister sinirli bir alışkanlıktan dolayı, çoğu zaman kendimi bilinçsizce ayaklarımı yere vururken buluyorum. Ne kadar eğlenceli olsa da, her zaman bir şeylerin eksik olduğunu hissettim. Keşke seslerini tetikleyebilseydim, bir
Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: 4 Adım
Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: Birçok kişi ölçüm için kumpas kullanmayı bilir. Bu eğitim size bir dijital kumpasın nasıl parçalanacağını ve dijital kumpasın nasıl çalıştığının bir açıklamasını öğretecektir
MÜZİKAL SINAV: 5 Adım
MÜZİKAL SINAV: Merhaba, Malaga Üniversitesi, Telekomünikasyon Okulu'ndan (https://www.uma.es/etsi-de-telecomunicacion/) elektronik mühendisliği 4. sınıf modülünde üç öğrenciden oluşan bir grubuz ve gidiyoruz. konu görüşmesi için projemizi size gösterelim
Müzikal Altoid Teneke: 5 Adım
Musical Altoid Tin: Buna benzer projeler gördüm ama tetik mekanizmaları pek güvenilir görünmüyordu. Bu proje, Altoid'lerinizi müzikal hale getirmek için bir basınç şalterinin nasıl kurulacağıdır. Daha önce lehimlemeyi denemediyseniz bu proje iyi bir başlangıç olacaktır.
Müzikal Beat Hırsızı: 3 Adım
Müzikal Vuruş Hırsızı: Hayır, herhangi bir müzik ritmi çalmıyoruz ama hafif bir değişiklikle bir joule hırsızı devresi kullanarak led'leri müziğe flash yapacağız