Mündəricat:

Musiqili Rəqəmsal İnterfeys: 6 addım (şəkillərlə)
Musiqili Rəqəmsal İnterfeys: 6 addım (şəkillərlə)

Video: Musiqili Rəqəmsal İnterfeys: 6 addım (şəkillərlə)

Video: Musiqili Rəqəmsal İnterfeys: 6 addım (şəkillərlə)
Video: Texniki Təminat - Musiqili Slaydşou [Magistratura.az] - informatika dərsləri 2024, Noyabr
Anonim
Musiqili Rəqəmsal İnterfeys
Musiqili Rəqəmsal İnterfeys

Hamıya xoş gəldiniz, Sizə öz Musiqili Rəqəmsal Arayüzümü göstərmək istərdim. Texniki səs dərəcəmdə bunu bacardım, bu mənim araşdırma sənədlərimdir. Başlamaq üçün məndən soruşdum ki, DAW olmadan, təkrar emal edilmiş materiallar və müstəqil olaraq oynamaq imkanı ilə necə musiqi bəstələyə bilərəm.

Bu dərslikdə, Arduino -dan Raspberry pi -yə sensoru (analoq və rəqəmsal) məlumat göndərmək/qəbul etmək üçün serial ünsiyyətindən istifadə edərək bir proqramı işə salmağı öyrədəcəyəm.

Tələb olunan materiallar bunlardır:

x1 Moruq PI3

x1 Mühafizə PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Breadbord

x1 Plaka test göstəricisi (0.2)

x28 Müqavimət 10MΩ

x2 Müqavimət 1.8kΩ

x1 Müqavimət 10kΩ

x20 Terminal tutacaqları Kişi/Qadın

x1 Lehim daşıyıcısı

x1 qalay bobin (1 metr)

x1 Lehimləmə dəmiri

x25 Flexibles Kayışlar Kişi/Kişi

Addım 1: Sensorlar

Sensorlar
Sensorlar
Sensorlar
Sensorlar
Sensorlar
Sensorlar

"Guitar Hero" Harmonix XBOX 360 pultundan gələn 4 piezoelektrikdən istifadə etdim. Rejimli ayaq pedalı gitara qəhrəmanının pultunun maqnit açarı maqnitinin çıxdığı üçün açma/söndürmə düyməsindən istifadə etdim.

Bir IR sensoru Sharp GP2Y0E02B istifadə etdim. Bütün bu sensorlar üçün, səmərəli işləməsi üçün çəkmə qurğusu etdim …

Beləliklə, empirik olaraq düymə sensoru və İQ sensoru üçün müqavimət dəyəri tapdım. Ancaq bunun tam miqyasını bilmək üçün piezoelektrik sınadım və müqavimətin sabit dəyərini 4 analoq sensora tətbiq etdim.

Addım 2: Çəkmə Montajı

Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı
Çəkmə Montajı

Piezoelektrikləri gərginlik generatoru ilə sınadıqdan sonra müqavimətin dəyərini 7MΩ olaraq təyin etdim.

Düymə müqavimət qurğusunun çəkilməsi 10 kΩ idi.

IR sensoru üçün müvafiq olaraq təchizat gərginliyi ilə SDA (məlumat) və SCL (saat) arasında iki 1, 8kΩ müqavimət istifadə etdim.

Ehtiyatlı olun, çünki bu müqavimətin dəyərləri RTX Arduino UNO üçündür; Arduino empedans girişi haqqında bilmək lazım olan şey: 10MΩ.

Bu addımın son şəklindəki çəkmə montajını görə bilərsiniz; UNO -da 0 1 2 3 sancaqlı piezoelektrik kəmərlər, 2 rəqəmsal pində düymə kəmərini təyin etdim, ancaq UNO -da 6 pinli və İN sensor kəmərindəki dəyərləri UNO -da 4 5 sancaqda, Arduino Uno -nun bütün analoq girişlərində məlumat verirəm.

Addım 3: Arduino kodlayın

Əməliyyatın təsirli olmasını təmin etmək üçün sensorların məlumatlarını Arduinoya göndər/aldıqlarını sınadım.

Faylları təsvirə qoyuram, ancaq Arduino Genuino proqramlaşdırma nümunələri bölməsində tapa bilərsiniz, İK sensoru istisna olmaqla, tamamlanmamışdır, "müəyyən etmək" bölməsində "dəyişmə" kimi bir neçə məlumatı dəyişdirmişəm və ölçü hesablamasını nizamlı olaraq dəyişmişəm. məsafə varyasyonlarında. Yəqin ki, IR sensoru kodunda "Tel" görmüsünüz. Həqiqətən də ünsiyyət qurmaq üçün I2C protokolundan istifadə etdim. Sizi I2C protokolunu görməyə dəvət edirəm, çox maraqlıdır, istədiyiniz bütün rəqəmsal sensorları real vaxt rejimində ötürmək üçün istifadə edə bilərsiniz.

Addım 4: Həm Arduino Raspberry Serial Rabitə

Həm Arduino Raspberry Serial Rabitə
Həm Arduino Raspberry Serial Rabitə
Həm Arduino Raspberry Serial Rabitə
Həm Arduino Raspberry Serial Rabitə

Bəli: D.

İlk şəkildə gördüyünüz kimi, Arduino-Raspberry linki USB fişidir.

Sensor məlumatlarını birbaşa Raspberry PI -də quraşdırılmış PureData Extented vasitəsi ilə almaq üçün bir yol tapdım. Niyə PureData uzadılır? Vanilla versiyası Raspbian mühitindəki bir tətbiqdən daha çox eyni kitabxanadan istifadə etmədiyi üçün.

G/Ç və varyasyonları düzgün şəkildə düzəltmək üçün Arduino Genuino'da StandardFirmata'yı işə salın!

Raspberry PI -də dəyər məlumatlarını geri almaq üçün 2 protokol mövcuddur: Firmata və Msg.

Firmatanı bir səbəbdən seçirəm, bir mühit olan Pduino yaması ilə PureDatada məlumat almaq daha sadə idi.

OSC protokolundan istifadə edirsinizsə sizi Msg kəşf etməyə dəvət edirəm.

Addım 5: PureData Yaması Alındı

PureData Patch Alındı
PureData Patch Alındı

Həqiqətən də, həftələrdir Genuino'da kod yazdıqdan sonra, sensörümün bütün məlumatlarını bir səhifədə almağa müvəffəq oldum, bu, Puredato'da yamaq olan Pduino, hissə librairiesi sayəsində real vaxtda dəyişiklikləri görməyə icazə verdi.

Bu addımdan sonra artıq Arduino koduna toxunmuruq. Dəyər məlumatları oxunaqlıdır.

3 -cü addımda fərq etdiyim kimi, rəqəmsal düymədən 6 pinli analoqdan məlumat aldım, ünsiyyətin effektiv işləməsini görmək çox sadə idi. Hamısı bir sətirdə.

Addım 6: PureData İnkişaf etdirin

PureData İnkişafı
PureData İnkişafı
PureData İnkişafı
PureData İnkişafı
PureData İnkişafı
PureData İnkişafı
PureData İnkişafı
PureData İnkişafı

PureData xüsusi bir dildir və gözəl patchwork işində uğur qazanmaq üçün boş vaxtınızı keçirməlisiniz.

Bəzi PureData yamaları GitHub -da mövcud olacaq.

Ümid edirəm ki, burada yazdıqlarım mənim layihəmə yaxın öz layihənizi başlamağınıza kömək etdi.

Tövsiyə: