Проблема с одновременным использованием IR Remote и ШИМ (ардуино нано)

Тема в разделе "Arduino & Shields", создана пользователем Guri, 5 июн 2016.

  1. igoreshik001

    igoreshik001 Нуб

    Фонарь Led par dmx 512
     

    Вложения:

    • fonari.ino
      Размер файла:
      1,2 КБ
      Просмотров:
      155
  2. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    А зачем такая большая задержка в конце?
     
  3. igoreshik001

    igoreshik001 Нуб

    Так было в скетче на ик порт, наверно задержка на дребезжание кнопки, но честно не знаю.
     
  4. igoreshik001

    igoreshik001 Нуб

    Строки
    DmxSimple.usePin(4);
    DmxSimple.write(1, 255);
    DmxSimple.write(6, 255);
    включают зеленый на фонаре и они работают без строки

    irrecv.enableIRIn();
     
  5. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Если мне не изменяет память, там задержка 10, а не 100
     
  6. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Они и будут без нее работать, чем проблема?
     
  7. igoreshik001

    igoreshik001 Нуб

    там 100 я глянул только что
    Я хочу фонарь ик пультом управлять
     
  8. igoreshik001

    igoreshik001 Нуб

    но как только
    irrecv.enableIRIn();
    фонарь гаснет и не работает
     
  9. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Судя по Вашему скетчу, Вы ничего не хотите...
     
  10. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Что с этим скетчем?
    Код (C++):
    #include <DmxSimple.h>
    #include <IRremote.h>


    int RECV_PIN = 11;
    int onoff = 0;

    IRrecv irrecv(RECV_PIN);

    decode_results results;


    void setup()
    {

      pinMode(LED, OUTPUT);
      Serial.begin(9600);
      Serial.println("Enabling IRin");
      irrecv.enableIRIn();
      Serial.println("Enabled IRin");
      DmxSimple.usePin(4);
    }

    void loop() {
      if (irrecv.decode(&results)) {
        Serial.println(results.value);
        if (results.value == 16724175 && onoff == 0) {
            DmxSimple.write(1, 255);
            DmxSimple.write(6, 255);
          onoff = 1;
          Serial.println('OK');
        }
        else if (results.value == 16724175 && onoff == 1) {
            DmxSimple.write(1, 0);
            DmxSimple.write(6, 0);
          onoff = 0;
          Serial.println('OK');
        }
        irrecv.resume(); // Receive the next value
      }
      delay(25);
    }
     
     
  11. igoreshik001

    igoreshik001 Нуб

    Не работает!
    Там ошибка на
    pinMode(LED, OUTPUT);
    Я убрал эту строку, скомпилило и ничего.
     
  12. igoreshik001

    igoreshik001 Нуб

    В начале темы кто то писал что irremote тот же таймер использует и из-за этого конфликт на пинах.
    Я ничего из этого не понял но может что то в этом духе
     
  13. igoreshik001

    igoreshik001 Нуб

    Я сразу написал скетч на вкл выкл обычного светодиода от кнопки ик пульта - Работает. Потом я написал скетч мигание лед фонаря - работает. Потом я написал код похож на ваш, вкл выкл фонарь от кнопки и... НЕ РАБОТАЕТ БЛИН. Тогда я подумал что дело может в самом коде связанным с кнопкой поэтому я и перенес включение фонаря в сетап, чтоб он просто загорелся отдельно от всего кода, но он не загорелся ((( Я расстроился и уже целый день в просторах инета, жена ругается, а я хочу чтоб фонарь от ик пульта работал.
     
  14. igoreshik001

    igoreshik001 Нуб

    Не работает(((
     
  15. parovoZZ

    parovoZZ Гуру

    Отличный анекдот.
    Пустой скетч не пробовал скомпилировать? Может с ним заработает как надо?
     
    BAR__MEN нравится это.
  16. igoreshik001

    igoreshik001 Нуб

    к чему это?
     
  17. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Это намек на то, что Вы сами не понимаете, что делаете.
    Почитайте лучше пару учебников, когда основы поймете - разберетесь со своей задачей
     
  18. igoreshik001

    igoreshik001 Нуб

    Там не инициализирована переменная LED. Помог бы с проблемой лучше, может бы и получилось.
     
  19. igoreshik001

    igoreshik001 Нуб

    У меня нет задачи выучится на ардуинщика. Мне нужно фонарь забацать. Если не можете мне помочь, так и напишите. Когда знатоки не могут справиться с проблемой то начинают язвить. Если знаешь как сделать просто помоги, если нет, так и напиши. "Не знаю в чем проблема"
     
  20. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Помогу, но не среди ночи...