Самодельные электронные ударные

Тема в разделе "Arduino & Shields", создана пользователем Dan, 24 дек 2016.

  1. sslobodyan

    sslobodyan Гик

    Всем барабаностроителям очень рекомендую подучить португальский (если я не ошибся) и посмотреть серию вот этого товарища

    . По ссылке как раз есть ссылки на скачивание скетча и настроечной прожки. Кстати, хайхэт у него отлично сделан, хотя и все из говна и палок :)
     
  2. vinichenko.dl

    vinichenko.dl Нерд

    Всем привет, а почему вы не хотите использовать скетч Evanа Kaleа он в пол не адекватно работает, насчет глушения тарелок так: в миди-карте плагина у каждой тарелки есть нота, которая её глушит. Обычно - соседняя от основной. То есть, чтоб заглушить извлеченный звук тарелки, нужно отправить noteOn этой ноты, а не noteOff все барабанные плагины не воспринимают длительности нот. По поводу контролера хета, в протоколе MIDI есть такая вещь как сообщения типа Control Change, подробно об этом здесь http://www.muzoborudovanie.ru/articles/midi/midi2.php так вот под номером 4 там контролер foot controller именно его барабанные плагины и понимают как педаль хета, вот скетч

    Код (C++):
    int buttonState = 0;
    int val = 0;
    void setup() {
      Serial.begin(115200);
    pinMode(2, INPUT);
    }

    void loop() {
     
    buttonState = digitalRead(2);

    if (buttonState == HIGH)
    {
    val=127;
    }

    else
    {
    val=0;
    }

     
      Serial.write(185);
      Serial.write(4);
      Serial.write(val);


      delay (5);
     
    }
    Ну думаю тут все понятно, кстати если надо можно сделать чтобы значение val изменялось от 0 до 127 по средствам например потенциометра на аналоговом входе тогда у хета будет не просто два положения закрыт-открыт, а плавное открывание как на видео в пред идущем посте.
     
  3. Stas48

    Stas48 Нерд

    185 это что?
    С остальным-то понятно.
    Разве что задержка 5 сделает из барабанщика тормоза
     
  4. vinichenko.dl

    vinichenko.dl Нерд

    185 это байт состояния, а 4 и val байты данных. Это скетч для понятия принципа работы поэтому задержка тут не важна.
     
  5. Stas48

    Stas48 Нерд

    Почти ясно)) я пока не смог в скетче Evan Kale заставить работать контроллер сс4. Только обходными путями меняю ноту хайхета (условиями если при ударе по хай хету отпределенное сопротивление потенциометра, то нота =...)
    Можете мне помочь заставить работать контроллер в аддиктив драме от этого скетча?
     
  6. vinichenko.dl

    vinichenko.dl Нерд

    Вот здесь все есть http://cxem.net/arduino/arduino18.php , а что конкретно не получается?
     
  7. Stas48

    Stas48 Нерд

    Сс4 в аддиктив драме не понимает движения педали. Все остальное в этом коде работает на "ура".
     
  8. vinichenko.dl

    vinichenko.dl Нерд

    Код (C++):

    int val = 0;
    void setup() {
      Serial.begin(115200);
    val = analogRead(0) / 8;
      Serial.write(185);
      Serial.write(4);
      Serial.write(val);


      delay (5);
    }
    Как то так должно получиться, т.е считываем с нулевого пина значение преобразовываем в к диапазону 0 - 127 и шлем на порт. Потенциометр средним выводом на нулевой пин, а крайние один на землю другой на +5.
     
  9. Stas48

    Stas48 Нерд

    Ок. Попробую на той неделе.
    Строго говоря, я не потенциометр использую, а инфракрасный датчит. Но суть передачи показаний та же.
    Проблема в моем коде.
     
  10. vinichenko.dl

    vinichenko.dl Нерд

    Одна только проблема такого скетча команды он шлет постоянно без остановки, как это исправить не знаю.
     
  11. vinichenko.dl

    vinichenko.dl Нерд

    В Адиктив драмс не забудь пэд хета назначить на CC Hihat( Keyboard Viev клавиши 7,8,9 по умолчанию)
     
  12. Stas48

    Stas48 Нерд

    Чет не въехал.
     
  13. Stas48

    Stas48 Нерд

    Не шлет там ничего постоянно. По крайней мере у меня)). Надо от этого избавляться экранированием проводов и регулировкой трешхолда в коде.
     
  14. vinichenko.dl

    vinichenko.dl Нерд

    В Адиктив драмс жмеш в правом верхнем углу на знак ? выбираеш map window появляются клавиши как у пианино крутиш в низ и там под цифрами 7,8,9 клавиши которые работают с контролером хета.
     
  15. vinichenko.dl

    vinichenko.dl Нерд

    Экранировкой и трешолдом можно избавится от ложных срабатываний и наводок, а код
    Код (C++):
    int val = 0;
    void setup() {
      Serial.begin(115200);
    val = analogRead(0) / 8;
      Serial.write(185);
      Serial.write(4);
      Serial.write(val);


      delay (5);
    }
    в принципе так устроен что шлет команды без остановки, думаю нужно прописать какое то условие что бы он слал команды однократно, а вот какое пока не знаю, в програмировании честно говоря не очень силен . А у тебя какой код?
     
  16. vinichenko.dl

    vinichenko.dl Нерд

    Вот более менее нормальный код для управления хетом при помощи кнопки
    Код (C++):
    int buttonState = 0;
    int rt = 0;
    void setup() {
      Serial.begin(115200);
    pinMode(2, INPUT);
    }

    void loop() {
    buttonState = digitalRead(2);

    if (buttonState == HIGH && rt == 0)
    {

      Serial.write(185);
      Serial.write(4);
      Serial.write(127);
     
    rt = 10;

    }
    if (buttonState == LOW && rt == 10)
    {

      Serial.write(185);
      Serial.write(4);
      Serial.write(0);
     
    rt = 0;

    }


    }
     
  17. vinichenko.dl

    vinichenko.dl Нерд

    чет тема умерла похоже.
     
  18. sslobodyan

    sslobodyan Гик

    так набросали уже кучу готовых решений - бери и пользуйся.
     
  19. vinichenko.dl

    vinichenko.dl Нерд

    А что по поводу VS1053 если взять вот такой модуль https://ru.aliexpress.com/item/VS10...18d55d5&transAbTest=ae803_5&priceBeautifyAB=0
    что там куда подключать и как он будет понимать какой инструмент из 128 нужно воспроизводить?
     
  20. sslobodyan

    sslobodyan Гик