Мазмуну:

Музыкалык санариптик интерфейс: 6 кадам (сүрөттөр менен)
Музыкалык санариптик интерфейс: 6 кадам (сүрөттөр менен)

Video: Музыкалык санариптик интерфейс: 6 кадам (сүрөттөр менен)

Video: Музыкалык санариптик интерфейс: 6 кадам (сүрөттөр менен)
Video: LandStar 7.3.6. Работа с кодами - создание кодификатора. 2024, Ноябрь
Anonim
Музыкалык санариптик интерфейс
Музыкалык санариптик интерфейс

Баарыңарга кош келиңиздер, Мен сизге өзүмдүн музыкалык санарип интерфейсимди көрсөткүм келет. Мен муну техникалык үн даражам учурунда жасадым, бул менин илимий эмгектерим. Баштоо үчүн, мен кантип DAW жок, кайра иштетилген жабдуулар жана өз алдынча ойноо мүмкүнчүлүгү менен музыка жазсам болот деп сурадым.

Бул нускамада мен сизге сериялык байланышты Arduino'дон Raspberry piге датчиктерди (аналогдук жана санариптик) жөнөтүү/алуу үчүн программалык камсыздоонун үнүн иштетүү үчүн үйрөтөм.

Талап кылынган материалдар:

x1 Raspberry PI3

x1 BoIter коргоо PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 сенсор IR Sharp GP2Y0E02B

x1 Breadbord

x1 Plate тест өлчөгүч (0.2)

x28 каршылык 10MΩ

x2 каршылыгы 1.8kΩ

x1 каршылыгы 10kΩ

x20 Терминалдын такалары Эркек/Аял

x1 Solder ташуучу

x1 калай (1 метр)

x1 ширетүүчү темир

x25 Flexibles боолор Эркек/Эркек

1 -кадам: сенсорлор

Сенсорлор
Сенсорлор
Сенсорлор
Сенсорлор
Сенсорлор
Сенсорлор

Мен "гитара баатыры" Harmonix XBOX 360 пультунан келген 4 пьезоэлектрикти колдондум

Мен IR сенсорун Sharp GP2Y0E02B колдондум. Бул сенсорлордун бардыгы үчүн мен эффективдүү иштеши үчүн жыйнагыч жыйнагын кылдым …

Ошентип, мен эмпирикалык түрдө баскыч сенсоруна жана IR сенсоруна каршылык маанисин таптым. Бирок, мен анын толук масштабын билүү үчүн пьезоэлектрди сынап көрдүм жана каршылыктын туруктуу маанисин талап кылдым жана 4 аналогдук сенсорго колдондум.

2-кадам: Монтажды тартуу

Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы
Тартуу Монтажы

Пьезоэлектрди чыңалуу генератору менен сынап көргөндөн кийин, мен каршылыктын маанисин 7МОмдо бекиттим.

Баскычтын каршылыгынын жамаатынын тартылышы 10 кОм болгон.

IR сенсору үчүн мен тийиштүү түрдө чыңалуу менен SDA (маалымат) жана SCL (саат) ортосундагы эки 1, 8kΩ каршылыкты колдондум.

Этият болуңуз, анткени бул каршылыктын баалуулуктары RTX Arduino UNO үчүн; Arduino импеданс киргизүү жөнүндө билүү үчүн бир нерсе: 10MΩ.

Бул кадамдын акыркы сүрөтүндө тартылган монтажды көрө аласыз; Мен пьезоэлектриктерди БУУга 0 1 2 3 төөнөгүчтөрдө, 2 санариптик пинге баскычтын боосунда, бирок БУУдагы 6 пиндеги жана ИР сенсорунун боосундагы 4 5 пиндеги UNUдагы бааларды билдирем, Arduino Uno аналогдук кириштеринин бардыгын.

3 -кадам: Arduino коду

Операциянын натыйжалуу болушун камсыз кылуу үчүн мен Arduinoго сенсорлордун маалыматын жөнөтүүнү/алууну текшердим.

Мен файлдарды сүрөттөмөгө киргиздим, бирок сиз аларды Arduino Genuino программалоо мисалдар бөлүмүнөн таба аласыз, IR сенсорунан башка, анткени ал толук эмес, мен "аныктоо" бөлүмүндө "смена" сыяктуу бир нече маалыматты өзгөрттүм жана мен ченөөнү эсептөөнү үзгүлтүксүз кылып өзгөрттүм. Сиз, балким, IR сенсорунун кодундагы "Зымды" көрдүңүз. Чындыгында, мен I2C протоколун сүйлөшүү үчүн колдондум. Мен сени I2C протоколун көрүүгө чакырам, абдан кызыктуу, сен муну өзүң каалаган бардык цифралык сенсорлорду берүү үчүн колдоно аласың.

4 -кадам: Arduino Raspberry Serial Communication экөө тең

Экөө тең Arduino Raspberry Serial Communication
Экөө тең Arduino Raspberry Serial Communication
Экөө тең Arduino Raspberry Serial Communication
Экөө тең Arduino Raspberry Serial Communication

Ооба: Д.

Биринчи сүрөттө көрүнүп тургандай, Arduino-Raspberry шилтемеси USB плагин.

Мен сенсорлордун маалыматын Raspberry PIде орнотулган PureData Extended аркылуу түз алуунун жолун таптым. Эмне үчүн PureData кеңейтилген? Анткени Vanilla версиясында Raspbian чөйрөсүндөгү тиркемедей эле китепкана колдонулбайт.

Ошентип, Arduino Genuino'до StandardFirmata'ди ишке киргизиңиз, киргизүү/чыгаруу жана вариацияларды туура жолго салуу үчүн!

Raspberry PIдеги маанини кайтарып алуу үчүн 2 протокол бар: Firmata жана Msg.

Мен Фирматаны бир себептен улам тандап жатам, бир чөйрө Pduino, PureData аркылуу маалымат алуу оңой эле.

Мен сизди OSC протоколун колдонсоңуз, Msg табууга чакырам.

5 -кадам: PureData Patch алынды

PureData Patch алынды
PureData Patch алынды

Чынында эле, бир нече жумадан кийин Генуинодо кодировкадан кийин, мен сенсорумдун бардык маалыматтарын бир барактан ала алдым, бул Pduino, Puredata'дагы патч, реалдуу убакытта вариацияларды көрүүгө мүмкүндүк берди.

Бул кадамдан баштап биз Arduino кодуна тийбейбиз. Value маалыматы окулууда.

3 -кадамда байкаганымдай, мен 6 пин аналогундагы санарип баскычтан маалымат алдым, байланыштын эффективдүү иштешин көрүү оңой эле. Баары бир сапта.

6 -кадам: PureData иштеп чыгуу

PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу
PureData иштеп чыгуу

PureData - бул белгилүү бир тил жана сиз бош убактыңызды жагымдуу жамоо иштерин жасоо үчүн өткөрүшүңүз керек.

PureData патчтарынын бир бөлүгү GitHubда жеткиликтүү болот.

Мен бул жерде жазгандары сизге менин жеке долбоорумду баштоого жардам берди деп үмүттөнөм.

Сунушталууда: