5.Мультиплексор 74HC4051 | Midi Controller | Hiduino

Поділитися
Вставка
  • Опубліковано 22 лют 2018
  • Показываю как расширить колличество входов на Arduino Uno с помощью мультиплексора 74HC4051.
    -Windows 10
    -Основные файлы: yadi.sk/d/f4b3X9MtsuyhgQ?w=1
    -MIDI Controller Numbers : www.indiana.edu/~emusic/cntrln...

КОМЕНТАРІ • 83

  • @justduet-ut6xd
    @justduet-ut6xd Рік тому +1

    спасибо мужик реально помог я смотрел такие видео только на англиском а ты обьяснил на нашем языке спасибо большое здровья тебе

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Ну ты даёшь я сколько инфу искал а тут все и сразу

  • @CoberlightShow
    @CoberlightShow 2 роки тому

    Спасибо за видео, мне стало ещё яснее, как конструируют подобные вещи, но мне хотелось ещё кое о чём спросить вас.
    В планах забабахать MIDI-клавиатуру, где будет 2 клавиатуры по 61 клавише каждая. Сам не верю, что может получиться что-то нормальное, но попробовать, думаю, стоит. Принцип отслеживания velocity: меряется задержку между "началом нажатия" клавиши и прожатием её до конца. Соответственно, для каждой клавиши нужен один аналоговый вход, который будет принимать от клавиши 3 значения: нулевое - клавиша не нажата, среднее - клавиша почти нажата (нужно засечь таймер), высокое - клавиша полностью нажата (нужно посчитать velocity и подать сигнал). В принципе, можно использовать и пару цифровых входов, но зачем, ибо аналоговые входы не сильно уступают цифровым в этом плане.
    Теперь в чём, собственно, вопрос. Так как нужно будет 122 входа для каждой клавиши, потребуется подключить соответствующее количество мультиплексоров. Вы говорили, что можно подключать несколько мультиплексоров к одним и тем же контрольным пинам. На просторах Интернета я не нашёл пример использования такой схемы, где команды подаются ОДНОВРЕМЕННО и с одного мультиплексора, и с другого. Просто меня терзают сомнения, что такое подключение небезопасно: если команды будут подаваться одновременно, возможно наслоение сигналов, а мультиплексоры никак не согласованы друг с другом. Самой Ардуины у меня нет пока, как и мультиплексоров и прочих деталей, решил всё разузнать, прежде чем заказывать, ну и так-то вообще стоит узнать, что именно заказывать.
    Рассматривал вариант с подключением нескольких мультиплексоров к одному мультиплексору, но в Интернете тоже на этот счёт всё мутно и никто не признаётся, как это сделать, чтобы работало во всех случаях (чтобы было прям много контроллеров и все они работали независимо друг от друга).
    Бороздил Алиэкспресс в поиске мультиплексора с 32 и более входами, так ничего и не нашёл. :(
    Пожалуйста, можете помочь советом? Подскажете, как можно подключить столько много контроллеров к одной плате Arduino? Признаться, я не лучшим образом разбираюсь в таких проектах, поэтому прошу помощи.

    • @kentforthable
      @kentforthable  2 роки тому +1

      если брать например плату Ардуино Uno или Leonardo, то там максиамально моджно подубючить 6 мультиплексоров, насколько я знаю мультиплексоры с самым болшим количеством входов, это 16 у CD74HC4067| , 16 * 6 = 96, то есть мы можем одновременно подключить 96 кнопок например и посылать одновременно с них сигнал.
      Но есть платы Ардуино и с большим количество входов, напримре Arduino Due, вроде как она тоже прошивается под миди контроллер, но я сам не пробовал, это тестировать надо.
      А вообще есть ещё расширители портов, помимо мультиплексоров, руки не доходят разобраться с этими расшииртелями портов и сделать по ним ролик

    • @CoberlightShow
      @CoberlightShow 2 роки тому

      ​@@kentforthable Спасибо за ответ!
      Мне однозначно стоит посмотреть в сторону более "крутых" контроллеров, просто потому что кажется, что Uno или Leonardo (которые я думал приобрести) уж очень хиленькие для такого количества элементов управления.
      Уточняю: можно без проблем подключать несколько мультиплексоров к одним и тем же цифровым (контрольным) пинам? То есть ограничение есть исключительно в количестве аналоговых входов? Если это так, то вообще прекрасно
      И ещё хотел спросить: хватит ли вычислительной мощности Arduino Mega 2560 для проверки огромного количества входов (122 клавиши + возможно Pitch Bend и прочие CC-крутилки)? Скажется ли это на задержке, "частоте дискретизации" подаваемых событий на порт? И вообще, бывали ли случаи, когда контроллер подобным образом не вывозил вычислительную нагрузку, которую на него подают? В виде чего это выливается?
      Рассматриваю Arduino Mega 2560, потому что Due уж очень бьёт по карману, тем более для первого проекта. С Due думаю, что всё будет прекрасно, там вообще можно что угодно творить, ARM всё-таки... А на борту Mega 2560 примерно тот же 16 МГц процессор, подобный тому, что стоят в Leonardo и Uno R3. Только количество входов разное на самой плате

    • @kentforthable
      @kentforthable  2 роки тому

      @@CoberlightShow 1. Подключать несколько мультиплексоров можно без проблем
      2. Хватит ли памяти платы для этого, это уже не подскажу, это надо подключать плату и делать проверку скетча, там среда ардуино показывает сколько затрачивается памяти для этог устройства с конкретным скетчем

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Все я сделал. А вот теперь мультик интересно. Хочу крутилки добавить дисплей

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    У сдвиговых регистрах я так понимаю наверное память есть какая то. Или что лучше сдвиговый регистр или мультиплексер я вообще разницы не вижу

  • @user-dz3id3kx6j
    @user-dz3id3kx6j 6 років тому +1

    Подскажите подробнее,как в скетче прописать несколько мультиплексоров

    • @kentforthable
      @kentforthable  6 років тому

      внимательно видео смотрите, я об этом рассказывал

    • @user-dz3id3kx6j
      @user-dz3id3kx6j 6 років тому

      Я имею в виду,что для каждого мультиплексора прописывать нужно потенциометры например для первого pot1,pot2...,а для второго также?

    • @kentforthable
      @kentforthable  6 років тому

      напиши названия потенциометров, которые подключены к первому мультиплексору, а какие подключены ко второму

  • @TheEdimarch
    @TheEdimarch 10 місяців тому

    Где можно найти инструкцию в pdf которою ты сделал в конце видео про нее говоришь

    • @kentforthable
      @kentforthable  10 місяців тому +1

      добавил файл в ту же ссылку

  • @user-rd2qw1xq8v
    @user-rd2qw1xq8v Рік тому

    Здравствуйте, а аккордами будет работать через такой мультиплексор?

    • @kentforthable
      @kentforthable  Рік тому

      Что означает аккордами? Одновременное нажатие нескольких кнопок

    • @user-rd2qw1xq8v
      @user-rd2qw1xq8v Рік тому

      @@kentforthable ну да, хочу полноценное миди устройство собрать, поэтому устройство отрабатывало одновременное нажатие минимум пяти клавиш.

    • @kentforthable
      @kentforthable  Рік тому

      @@user-rd2qw1xq8v да, это можно сделать

  • @dmitriy12121
    @dmitriy12121 2 роки тому

    А как вместо кнопки использовать пьезо? Как в прошлом видео

    • @kentforthable
      @kentforthable  2 роки тому

      Есть отдельное видео по поьезо

    • @dmitriy12121
      @dmitriy12121 2 роки тому

      @@kentforthable с мультиплексором?

    • @individdualnosti
      @individdualnosti 2 роки тому

      @@dmitriy12121 мне тоже это интересно

    • @individdualnosti
      @individdualnosti 2 роки тому

      @@kentforthable как на мультиплексор повесить пьезо? у меня не получилось((( Пьезо работают как кнопки без велосити(

    • @kentforthable
      @kentforthable  2 роки тому

      @@individdualnosti советую смотреть библиотеку Control Surface, там есть также реализация piezo
      github.com/tttapa/Control-Surface/issues/173

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Ну так по схеме у тебя только 8 кнопок влезет через мультиплексер а их у меня 64 вроде не помню дето так

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Там я пока не понимаю принцып работы с клавиатурой с етим все понятно. С мультиплексирами тоже все проехал

    • @romaosh_play
      @romaosh_play 3 роки тому

      Ну матричная клавиатура работает легко. К примеру
      D1 --1 -- 2 -- 3 -- 4
      D2 --5 -- 6 -- 7 -- 8
      D3 --9 --10-- 11-- 12
      D4 --13--14--15--16
      D5 D6 D7 D8
      Просто кнопки паралельно в линии соединяншь(1 контакт 4 кнопок в одном горизонтальном ряде на один провод) (Оставшиеся контакты в вертикальных рядах так же)

  • @Klagerh
    @Klagerh 2 місяці тому

    Это можно сделать сдвиговым регистром, хотя эта штука в Китае выходит даже дешевле , я через один резистор весь выход делал .

  • @user-em4uc3xe2e
    @user-em4uc3xe2e 6 років тому

    как подключить пьезо (барабаны)? можете объяснить. Спасибо

    • @kentforthable
      @kentforthable  6 років тому

      ua-cam.com/video/iGRg97NcK_o/v-deo.html

    • @user-em4uc3xe2e
      @user-em4uc3xe2e 6 років тому

      Спасибо я уже смотрел это видео но меня интересует подключение через мультиплексор 4051 мне нужно сщитуваты 14-16 барабанов включая педалями к тому же хочу задействовать также и простые кнопки, мультиплексоры общем чтобы их было 40-64 клавиши
      в написании кода не очень хорошо разбираюсь) спасибо
      сорри за руской плохо знаю

    • @kentforthable
      @kentforthable  6 років тому

      подключить конечно можно, также как и кнопку через мультиплексор

    • @user-em4uc3xe2e
      @user-em4uc3xe2e 6 років тому

      Добрый день, у меня возникла такая проблема, подключив пьезо с резистором Ардуино то реагирует но силу удара не воспринимает и длину удара, оно мгновенно как кнопку срабатывает, подключал на аналоговый пин мультиплексор и прописывал шо у меня аналоговый мультиплексор. Как я понял данный скетч не может так работать, или можете помочь разобраться.
      Спасибо

    • @kentforthable
      @kentforthable  6 років тому

      как называется модель мультиплексора, на который подключен пьезо?

  • @Morpheus.theDreamlord
    @Morpheus.theDreamlord 6 років тому +1

    Скетч с Notes And Volts )
    )

    • @kentforthable
      @kentforthable  6 років тому

      да, только я его немного изменил под Hiduino

    • @Morpheus.theDreamlord
      @Morpheus.theDreamlord 6 років тому

      Я вот наконец-то раздуплился как полностью под себя написать скетч , единственное что хочу не HIDUINO а использовать Leonardo или его мелкую версию PRO Mini помоему на атмеге 32u4 чтобы сразу был штатный usb порт без сторонних прошивок. В планах реализовать миди контроллер с индикацией на сдвиговых регистрах , OLED дисплеем и меню позволяющим программировать пресеты и запоминать их. Единственное что хочу проверить еще - ощутима ли задержка при подключении кнопок и особенно потцев через мультиплексор.

    • @kentforthable
      @kentforthable  6 років тому

      при подключении своих 3 потенциометров задержки я не ощутил, но это тебе нужно уже на практике смотреть. Я сейчас жду когда мне с китая придёт Leonardo, тогда и сделаю урок по этйо плате. Там да, насколько я знаю ничего прошивать не надо, все в скетче прописывается

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Теперь вопрос а как подключить клавиатура с синтезатора к етому безобразию всему

    • @kentforthable
      @kentforthable  3 роки тому

      клавиатура с синтезатора? это как?

    • @kentforthable
      @kentforthable  3 роки тому

      в смысле чтобы синтезатор был в роли миди контроллера?

    • @user-fd4ff5bb1b
      @user-fd4ff5bb1b 3 роки тому

      @@kentforthable именно так и есть

    • @user-fd4ff5bb1b
      @user-fd4ff5bb1b 3 роки тому

      Я пока в етом новичек работал с шаговыми драйвера разрабативал а в етом ноль

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Там нужны сдвиговые регистры их у нас хрен достанешь. А вот мультиплексеры есть

  • @user-mk5ud5ug8p
    @user-mk5ud5ug8p 5 років тому

    Посетила меня идея сделать МИДИ. На чердаке валялась еще с советских времен клавиатура, кажется она называлась "старт" Там четыре октавы и получалась матрица 4 на 12, что не удобно в использовании с ардуино-уно. Выход был - использование мультиплексоров. Я применил три шестнадцатибитные. Пример взял от сюда: -- ua-cam.com/video/NmxoBdEJG28/v-deo.html
    Все тоже, только на аглицком. Скетч универсален. Получилось на УРА. Следующая у меня задача - реализовать силу и скорость удара по клавише. В программировании не силен. Согласен на любую подсказку :)
    И такой вопрос??? У тебя в скетче вот так прописано -- MIDI.begin();
    но так не передается нота. Я прописал вот так --- MIDI.begin(MIDI_CHANNEL_OFF); и нота передаётся.
    В чем разница?

    • @kentforthable
      @kentforthable  5 років тому

      функция MIDI.begin не связана с нотами, она позволяет передавать и слушать все входящие миди сообщения по серийному порту Ардуино. Подробнее можно почитать здесь playground.arduino.cc/Main/MIDILibrary/
      Для твоей задачи можно использовать пьезо эелементы, соответствубгий урок есть на канале

    • @user-mk5ud5ug8p
      @user-mk5ud5ug8p 5 років тому +1

      @@kentforthable Спасибо что ответил. Хочу вернутся к реализации силы удара. У меня на каждой клавише шесть пар контактов. и те что размыкаются и те что замыкаются. решение не ново, но применительно к ардуино и миди я не нашёл. Идея такова: Нажимается клавиша - размыкается контакт и записывается время, потом клавиша доходит до упора и замыкает другой контакт - снова записываться время. Разница между этими таймингами, переведенная в (1-127) и будет сила удара. В библиотеке в файле Controller.срр там снимается время, так понял для подавления дребезга, _time. Как ее, переменную, вивести в основной фал для дальнейшей ёё обработки.
      Для реализации своей затеи я использую не один мультиплексор а два. один в штатном режиме будет работать - на извлечение ноты, другой подключенный к контактам на разрыв - нужен будет для записи начала движения клавиши. помоги.. :)

    • @kentforthable
      @kentforthable  5 років тому

      @@user-mk5ud5ug8p напиши мне на почту или вконтакте

    • @masterkit9517
      @masterkit9517 4 роки тому +1

      @@user-mk5ud5ug8p там несложно скорость нажатия реализовать включаем таймер после нажатия 1й кнопки отключив после 2й для начала подклчюите к проекту 2 кнопки отловите нажатие, уже делали успешно

    • @user-mk5ud5ug8p
      @user-mk5ud5ug8p 4 роки тому +1

      @@masterkit9517 У меня при нажатии (когда торкаюсь) клавиши кнопка на разрыв, потом в конце замыкается кнопка. (уже извлекает ноту). Используя эти библиотеки я на макете сделал сырую программу с несколькими кнопками измеряя время и потом трансформировал значение в нужную величину. Но для четырёх октав я использовал 3 мультиплексора - это когда по одной кнопке на клавишу. В случае двух кнопок удвоилось число мультиплексоров. И когда я сделал программу на 6 мультиплексоров :))) память закончилась. Ищу другие варианты чтобы уменшить вес массива. Или купить МЕГУ.

  • @lllsnake3365
    @lllsnake3365 3 роки тому +1

    Вроде несложно. Но как это все распаивается при конечной сборке (проводками или к печатной плате или еще как-то?)Объясните человеку, который ничего сложнее проводков не паял и пока с трудом понимает для чего и какие транзисторы, к примеру, нужны. 🤯

    • @kentforthable
      @kentforthable  3 роки тому +3

      есть несколько вариантов:
      Вариант 1(более качественный):
      Создавать распайку в gerber файле программы, которая делает дизайн печатных плат, этих программ много всяких, например Spring Layout. После того, как сделаете распиновку печатной платы в дизайне , отправляете этот файл в контору, которая занимается печатью плат. Обычно заказывают в китае, например JLCPCB. Только минимальное количество обычно от 5 плат
      Вариант 2: гуглите , как наносить дорожки на печатные платы и просверливать отверстия, и как все это паять, печатные платы разного размера можно заказать на aliexpress.
      Вариант 3: сходить в любой радио магазин, и поспрашивать кто занимается печатью платы по вашему макету

    • @kentforthable
      @kentforthable  3 роки тому +1

      Все элементы(потенциометры, резисторы и прочее) паяются на печатную плату проводами. Проводы можно взять и тонкие от ethernet кабеля(можете у знакомых поспрашивать сдохший интернет кабель) можно провода взять от этого кабеля и через них припаять все элементы
      Печатные платы можно взять например такие:
      aliexpress.ru/item/32907726140.html?spm=a2g0o.productlist.0.0.3bae7aa9uPebOG&algo_pvid=c2f0bdf4-07dc-4162-af80-9e4a36747ba3&algo_expid=c2f0bdf4-07dc-4162-af80-9e4a36747ba3-9&btsid=0b8b035a15987761753656992e9450&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

    • @sdmedia1216
      @sdmedia1216 3 роки тому +1

      Круто! Реально очень хорошие ролики!!!!

  • @driftandreas
    @driftandreas 3 роки тому

    Обновите ссылку - "Ничего не найдено
    Владелец удалил файлы либо закрыл к ним доступ или в ссылке опечатка."

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Автор что то делал подобное на ютубе незнаю как оно работает но скорее фейк ибо ну не будет оно работать я в електронике хорошо разбераюсь просто в цыфровое пришел только не давно. Не скетча нету нечего напрямую все подключил непонятно как. И код не показал даже.

  • @masterkit9517
    @masterkit9517 4 роки тому +1

    STM32 не пытались сделать? там микросхемы в разы мощнее ардуино все умеют USB HID AUDIO DEVICE подключаться в отличие от ардуино устарешвих

    • @kentforthable
      @kentforthable  4 роки тому +1

      Не-а, я себе приобрёл esp32, она вроде как получше будет, и поддерживается библиотекой control surface

    • @masterkit9517
      @masterkit9517 4 роки тому +2

      @@kentforthable а USB там есть в esp32 как в Leonardo? esp32 и у меня есть

  • @masterkit9517
    @masterkit9517 4 роки тому +1

    миди на STM32 исследования из народа заходим в сообщество vk.com/club193475077 будем исследовать сами с вами как учёные

  • @emilserro6303
    @emilserro6303 2 роки тому

    Сдвиговые регистры лучше !

  • @user-fd4ff5bb1b
    @user-fd4ff5bb1b 3 роки тому

    Мне 64 играть мало а 8 ну ето лучше вообще не соберать нечего