Очень нужна помощь (Midi & arduino)

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

  1. нужно сделать проект , где с программы звукозаписи cubase будет по нажатию RECORD кнопки загораться Светодиод с помощью arduino uno, и с помощью STOP будет выключаться светодиод.
    В cubase был добавил плагин Remote Control, там можно выставить команду с кнопки записи и остановки. Выбрал в качестве midi выхода и входа свою звуковую карту. Тоже самое сделал в hairless midi.
    hairless midi был установлен для связи проги cubase с arduino. Однако в процессе появилась проблема. в hairless не горит светодиод напротив arduino что туда данные пошли
    выходят такие ошибки:
    в Hairless вылезает:
    ""+482.42 - Error: got unexpected data byte 0x0.
    FTDI drivers don't seem to be installed. Not attempting any FTDI latency tricks.""
    что делать? как маршрутизировать все нормально, чтобы от программы выходила команда при нажатии rec и на ардуино светился светодиод?
    скетч находил на ардуино форуме, что-то типо такого:

    byte incomingByte;
    byte noteByte;
    byte velocityByte;
    byte noteOn=0x90;


    void setup(){
    Serial.begin(115200);
    pinMode(12,OUTPUT);
    }

    void loop()
    {
    delay(2);
    Serial.begin(115200);
    {
    if(Serial.available () > 2){
    incomingByte = Serial.read();
    noteByte = Serial.read();
    velocityByte = Serial.read();
    if (incomingByte == noteOn & noteByte == 95 & velocityByte > 0){
    digitalWrite(12,HIGH);
    }
    else
    if (incomingByte == noteOn & noteByte == 95 & velocityByte ==0){
    digitalWrite(12,LOW);
    }
    }
    }
    }
     
    Последнее редактирование: 17 дек 2016
  2. dmitron1036

    dmitron1036 Гик

    FTDI дрова поставь
     
  3. я ставил уже, выдало ошибку в среде ардуино : Hairless.ino:6:25: fatal error: PortLatency.h: No such file or directory
     
  4. Onkel

    Onkel Гуру

    проверьте, встал ли правильно драйвер, он в диспетчере должен быть виден как vcp. Я замечал, что иногда драйвер прокручивается, но не ставится. Когда он ставится, появляется черный экран. Еще могу посоветовать установленный драйвер снять программой (берется на сайте ftdi)
    CDMuninstallerGUI.exe (убрать все порты), а потом файлом CDM20814_Setup.exe драйвер поставить, и только после этого подключить свисток с ftdi
     
  5. только вот чем драйвер поможет, тут нужно конкретно понимать как midi сигналы идут от программы к ардуино. я так понимаю через звуковую карту идет целый поток ненужных сообщений
     
  6. мда уж. безнадега какая-то. нигде никто не может помочь..
     
  7. rkit

    rkit Гуру

    Никто не хочет нянчиться с проблемами, вызванными попытками прыгать выше головы. Прочитайте учебник, и все станет понятно.
     
  8. никто и не просит нянчиться. здесь описана конкретная проблема требующая конкретных ответов, на то он и форум. Если вам нечего сказать , лучше сами займитесь чтением учебников вместо написания бессмысленных постов
     
    Последнее редактирование: 17 дек 2016
  9. Я так понял, что оригинальной ардуино нет ftdi чипа соответственно она не поддерживает этот способ передачи данных ...
     
  10. mcureenab

    mcureenab Гуру

    Используйте USB - UART адаптер на чипе FTDI. Ардуино, к адаптеру через UART подключается, а не через родной USB.
     
  11. а собственно зачем все эти приблуды? может возможно как-то с помощью одного лишь arduno uno через usb кабель в компе подсоединиться к hairless midi и работать?
     
  12. ZAZ-965

    ZAZ-965 Гуру

    Hairless midi не требует обязательно FTDI чипа. Используется лишь проверка на его наличие
    Код (C++):
    // Return the windows registry entry for the FTDI device (open), or 0
    HKEY PortLatency::openFTDIDeviceParameters()
    {
        HKEY key;
        const wchar_t *keypath = L"SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS";
        long r = RegOpenKeyEx(HKEY_LOCAL_MACHINE, keypath,
                                0, KEY_READ, &key);
        if(r) {
            emit debugMessage("FTDI drivers don't seem to be installed. Not attempting any FTDI latency tricks.");
            return 0;
    }
    А в своем скетче Hairless.ino вы что-то делаете неверно, отсылаете неверные данные
    Код (C++):
    void Bridge::onDataByte(uint8_t byte)
    {
      if(this->data_expected == 0 && this->running_status != 0) {
        onStatusByte(this->running_status);
      }
      if(this->data_expected == 0) { // checking again just in in case running status failed to update us to expect data
        emit displayMessage(applyTimeStamp(QString("Error: got unexpected data byte 0x%1.").arg((uint8_t)byte,0,16)));
        return;
    }
     
  13. я пока никаких данных то даже не отсылаю!
    просто открыл hairless midi и смотрю посылаются ли команды через него на arduino (скажем с midi синтезатора когда клавиши нажимаю), в саму программу приходят сообщения с него, а вот на ардуино они не идут, тк. "зеленый светодиод" в интерфейсе напротив com порта arduino не загорается
     
  14. Во! сейчас вроде выставил когда 115200 (а может и не изза этого) заработал светодиод, принимает от синтезатора arduino, но вот теперь непонятно как связать кнопку rec в cubase, вроде на remote control все установил как надо


    однако почему-то из cubase в hairless midi не идет сигнал при нажатии rec кнопки
     
  15. ZAZ-965

    ZAZ-965 Гуру

  16. посмотрите видео это:


    вот все, что мне нужно. Но я тоже самое делаю и у меня почему-то от cubase при нажатии record кнопки не приходит сообщение, вроде и midiloop включил и выбрал его и в remote control и в hairless midi....
     
  17. кто нибудь помогите