Talaan ng mga Nilalaman:

Musical Digital Interface: 6 Mga Hakbang (na may Mga Larawan)
Musical Digital Interface: 6 Mga Hakbang (na may Mga Larawan)

Video: Musical Digital Interface: 6 Mga Hakbang (na may Mga Larawan)

Video: Musical Digital Interface: 6 Mga Hakbang (na may Mga Larawan)
Video: ATEM MasterClass v2 — FIVE HOURS of ATEM Goodness! 2024, Hulyo
Anonim
Musical Digital Interface
Musical Digital Interface

Maligayang pagdating sa lahat, Nais kong ipakita sa iyo ang aking sariling Musical Digital Interface. Ginawa ko ito sa panahon ng aking teknikal na degree sa tunog, ito ang aking mga papeles sa pagsasaliksik. Upang magsimula, tinanong ko ako kung paano ako makakabuo ng musika nang walang DAW, na may mga recycled na supply at posibilidad na maglaro nang nakapag-iisa.

Sa itinuturo na ito, tuturuan kita kung paano gumamit ng serial na komunikasyon upang magpadala / tumanggap ng mga impormasyong sensors (analog at digital) mula sa Arduino hanggang sa Raspberry pi patungo sa software puredata para makapagpalitaw ng isang tunog.

Ang mga hinihiling na materyales ay:

x1 Raspberry PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Biglang GP2Y0E02B

x1 Breadbord

x1 Plato ng pagsukat ng plato (0.2)

x28 Paglaban 10MΩ

x2 Paglaban 1.8kΩ

x1 Paglaban 10kΩ

x20 Terminal lugs Lalaki / Babae

x1 Solder carrier

x1 likid ng lata (1 metro)

x1 bakal na bakal

x25 Flexibles Straps Lalaki / Lalaki

Hakbang 1: Mga Sensor

Mga sensor
Mga sensor
Mga sensor
Mga sensor
Mga sensor
Mga sensor

Gumamit ako ng 4 piezoelectric na nagmula sa "Guitar Hero" Harmonix XBOX 360 remote. Gumamit ako ng isang pindutan na on / off dahil ang tambo switch magnet ng jam foot pedal gitara ng bayani ng remote ay wala.

Gumamit ako ng IR sensor Sharp GP2Y0E02B. Para sa lahat ng mga sensor na ito, gumawa ako ng pull-up na pagpupulong sa mabisang operasyon …

Kaya't empirically nakita ko ang halaga ng paglaban sa pindutan ng sensor at IR sensor. Subalit nasubukan ko ang piezoelectric upang malaman ang buong sukat ng isang ito, at kinakailangan ang halaga ng naayos na pagtutol at inilapat para sa 4 na mga sensor ng analog.

Hakbang 2: Pull-up Montage

Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage

Matapos ang pagsubok sa piezoelectric na may boltahe generator, naayos ko ang halaga ng paglaban sa 7MΩ.

Ang pull-up ng pagtutol ng pagtutol ng pindutan ay 10 kΩ.

Para sa IR sensor, gumamit ako ng dalawang 1, 8kΩ na pagtutol sa pagitan ng pagkakasunod-sunod na supply boltahe at SDA (data) at SCL (orasan).

Mag-ingat dahil ang mga halaga ng pagtutol na iyon ay para sa RTX Arduino UNO; isang bagay na malalaman tungkol sa Arduino impedance input: 10MΩ.

Maaari mong makita ang pull-up na montage sa huling larawan ng hakbang na ito; Inayos ko ang mga strap piezoelectric sa 0 1 2 3 na mga pin sa UNO, strap ng pindutan sa 2 digital pin ngunit ipinapahayag ang halaga sa 6 pin sa UNO at IR sensor strap sa 4 5 pin sa UNO, lahat ng mga analog input ng Arduino Uno.

Hakbang 3: Code Arduino

Upang matiyak na ang operasyon ay epektibo, sinubukan kong magpadala / tumanggap ng mga impormasyong ng mga sensor sa Arduino.

Inilagay ko ang mga file sa paglalarawan ngunit mahahanap mo ang mga ito sa seksyon ng mga halimbawa ng programa ng Arduino Genuino, maliban sa IR sensor dahil hindi ito kumpleto, binago ko ang ilang mga impormasyon sa seksyon na "tukuyin" tulad ng "shift" at binago ko ang pagkalkula ng pagsukat upang maging regular sa mga pagkakaiba-iba ng distansya. Marahil ay nakita mo ang "Wire" sa IR sensor code. Sa totoo lang ginamit ko ang I2C protocol upang makipag-usap. Inaanyayahan kita na makita ang I2C protocol, napaka-interesante, maaari mong gamitin ang isang ito upang maipadala sa real-time ang lahat ng mga sensor ng digital na gusto mo.

Hakbang 4: Parehong Arduino Raspberry Serial Communication

Parehong Arduino Raspberry Serial Communication
Parehong Arduino Raspberry Serial Communication
Parehong Arduino Raspberry Serial Communication
Parehong Arduino Raspberry Serial Communication

Yeah: D

Tulad ng nakikita mo sa unang larawan, ang link na Arduino-Raspberry ay USB plug.

Nakahanap ako ng isang paraan upang makatanggap ng impormasyon ng mga sensor nang direkta ng PureData Extented na naka-install sa Raspberry PI. Bakit Pinalawak ang PureData? Dahil ang bersyon ng Vanilla ay hindi gumagamit ng parehong library kaysa sa isang application sa kapaligiran ng Raspbian.

Kaya ilunsad ang StandardFirmata sa Arduino Genuino upang ayusin ang I / O at pahalagahan ang mga pagkakaiba-iba sa tamang paraan!

Upang maibalik ang mga impormasyon ng halaga sa Raspberry PI, 2 na mga protocol ang mayroon: Firmata at Msg.

Pinili ko ang Firmata para sa isang kadahilanan, mas simple upang makakuha ng mga impormasyon sa PureData sa pamamagitan ng patch Pduino, isang kapaligiran.

Inaanyayahan kita na tuklasin ang Msg kung gumagamit ka ng OSC protocol.

Hakbang 5: Natanggap ang PureData Patch

Natanggap ang PureData Patch
Natanggap ang PureData Patch

Sa katunayan, pagkatapos ng mga linggo ng pag-coding sa Genuino, nagtagumpay akong matanggap ang lahat ng mga impormasyon ng aking sensor sa isang pahina, pinapayagan itong makita ang mga pagkakaiba-iba sa real-time na pasasalamat kay Pduino, isang patch sa Puredata, mga librairie ng seksyon na labis.

Mula sa hakbang na ito, hindi na kami nagalaw sa Arduino code. Nababasa ang mga impormasyon sa Halaga.

Tulad ng napansin ko sa hakbang 3, nakatanggap ako ng mga impormasyong mula sa digital button sa 6 pin analog, simpleng makita ang mabisang pagpapatakbo ng komunikasyon. Lahat sa isang linya.

Hakbang 6: Development PureData

Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData
Pag-unlad PureData

Ang PureData ay isang tiyak na wika at dapat mong gugulin ang iyong libreng oras upang magtagumpay sa paggawa ng magagandang tagpi-tagpi.

Ang ilan sa PureData patch ay magagamit sa GitHub.

Inaasahan kong ang isinulat ko rito ay nakatulong sa iyo upang masimulan ang iyong sariling proyekto na malapit sa aking proyekto.

Inirerekumendang: