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

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

  1. igoreshik001

    igoreshik001 Нуб

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

    irrecv.enableIRIn();
     
  2. NikitOS

    NikitOS Король шутов Администратор

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

    NikitOS Король шутов Администратор

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

    igoreshik001 Нуб

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

    igoreshik001 Нуб

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

    NikitOS Король шутов Администратор

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

    NikitOS Король шутов Администратор

    Что с этим скетчем?
    Код (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);
    }
     
     
  8. igoreshik001

    igoreshik001 Нуб

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

    igoreshik001 Нуб

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

    igoreshik001 Нуб

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

    igoreshik001 Нуб

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

    parovoZZ Гуру

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

    igoreshik001 Нуб

    к чему это?
     
  14. NikitOS

    NikitOS Король шутов Администратор

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

    igoreshik001 Нуб

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

    igoreshik001 Нуб

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

    NikitOS Король шутов Администратор

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

    igoreshik001 Нуб

    Надеюсь. Спасибо!
     
  19. Un_ka

    Un_ka Гуру

    Я так понял вам нужно, чтобы по нажатию одной и той же кнопки на пульте загорался и выключался светодиод?
    Попробуй раскоментировать pinMode
    и убрать delay напроч , а то у тебя получается ничтожный отрезок времени опрашивается ик приёмник , а в остальное время простаивает.
    И ещё зачем тебе в коде использовать биьлиотеку dfx или как там её, скорее всего это ты забыл убрать из примера.
     
  20. Un_ka

    Un_ka Гуру

    Кстати по самой сути темы я так и не смог подружить IRemote и tone...