Подскажите в чём проблема?

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Валерон, 6 дек 2014.

  1. Валерон

    Валерон Нерд

    Здравствуйте. Помогите разобраться почему один скетч работает а другой нет.
    Загружаю Скетч №1:

    Два двигателя с редукторами
    Motor Shield L298N и ARDUINO R3
    Скетч №1 работают нормально оба двигателя
    Однако как только я пытаюсь добавить ИК управление от пульта работает только один двигатель.
    Пропадает третий пин R_S = 3, а L_S = 9 есть.

    ЗагружаюСкетч №2
    #include <IRremote.h> // ИК библиотека

    Работает всё монитор порта показывает считанные коды с кнопок пульта
    Добавляю их в скетч после чего один движок и светодиоид выполняют программу а второй молчит.
    Причём возвращаю скетч №1 опять работают оба движка
    В чём дело не могу понять.
     
    Последнее редактирование: 7 дек 2014
  2. geher

    geher Гуру

    Стандартная проблема с библиотеками, таймерами и прочим подобным, а именно конфликт, связанный с использованием одного и того же ресурса, в данном случае таймера.
    Что-то подобное было с библиотекой servo, которая блокировала ШИМ на пинах 9 и 10.
    Библиотека IRremote.h же использует таймер, который блокирует ШИМ на 3 и 11 пинах.

    Вариант решения - каким-либо образом перебросить третью ногу моторшилда на другой пин с поддержкой ШИМ. Обычно это делается через отгибание конфликтной ноги у шилда и перемычку сверху на контакты: конфликтной ноги и другой, на которую ее переключаем.
    Другой вариант - отказаться от библиотеки и сделать все самому, используя средства, не конфликтующие с ШИМ на нужной ноге.
     
    Валерон нравится это.
  3. Валерон

    Валерон Нерд

    Если я правильно понял то необходимо перекинуть в скетче и на ардуине пин 3 на пин 10 например?
     
  4. geher

    geher Гуру

    Да, в скетче достаточно изменить номер пина в объявлении соответствующей переменной.
    На ардуине то, что подключалось к третьему пину нужно отключить и подключить к другому.
    Насчет именно десятого гарантировать не буду. Мало ли с чем оно там еще конфликтует. Надо пробовать.
     
    Валерон нравится это.
  5. Валерон

    Валерон Нерд

    Большое спасибо. Поменял пин 3 на пин 10 всё работает отлично.
     
    Последнее редактирование: 7 дек 2014