при подключении IRremote материться

Тема в разделе "Arduino & Shields", создана пользователем kiva_denis, 5 янв 2017.

  1. kiva_denis

    kiva_denis Нуб

    Добрый день. С наступившим Новым 2017 !
    Задача сделать тахометр на основе ИК приёмника и передатчика.
    При подключении драйвера IRremote, выдаёт ошибку.
    Проконсультируйте.
    Ниже сейчас попробую прикрепить:
    1. сам код ( пробный - причём даже совсем не на тахометр )
    2. Фото ошибки
    3. Механика
     

    Вложения:

  2. kiva_denis

    kiva_denis Нуб

    Всё вроде бы элементарно, но я ведь не подключаю RobotIRremote, но на него всё равно материться.
    При удалении из папки драйверов RobotIRremote, начинает выдавать такую ошибку...
    смотреть внизу...
    Надеюсь вы меня проконсультируете читающий человек !
     

    Вложения:

  3. rkit

    rkit Гуру

    Библиотека IRemote устарела. да и не нужна вам, в принципе говоря. Она для чтения данных с пультов, у вас всё гораздо проще.
     
  4. kiva_denis

    kiva_denis Нуб

    А что за ошибка, при компеляции выдаётся ? причем сам скетч работал 15 дней назад, сейчас после праздников запускаю и вот такое....уже переустановил всё и всё равно.
    Помойму ошибка в самом коде программы.
     
  5. rkit

    rkit Гуру

     
  6. kiva_denis

    kiva_denis Нуб

    Можно получить более развёрнутый ответ. Как может устареть библиотека в открытом коде программы.
    И работают ли теже коды программы для RobotIRremote.
    У вас тут написано Гуру, значит тогда спрошу как гуру, чтобы не особо вдаваться сразу в язык програмирования, можно ли ( если есть ) вариант кода для RobotIRremote тахометра.
    На основе прерывания между ИК передатчиком и приёмником.
     
  7. rkit

    rkit Гуру

    Инфраструктура изменилась, файл WProgram.h переименовали. Библиотеку IRemote не обновили. Ну предполагая, что вы пользуетесь последними версиями всего, разумеется.

    Вот у меня был велокомпьютер на герконах. Примерно то же что и ваша задача. В гугле есть более внятно. Если не хотите вдаваться - вам в "закажу проект". Никто ради вас просто так не будет дома собирать стенд и отлаживать код.
    Код (C++):
    #include <avr/sleep.h>

    class Debounce {
      public:
      volatile unsigned long time = 0;
      bool onEvent();
    };

    const byte wheelPin = 2;
    const byte pedalPin = 3;
    Debounce* wheel = new Debounce();
    Debounce* pedal = new Debounce();

    void setup() {
      pinMode(wheelPin, INPUT_PULLUP);
      pinMode(pedalPin, INPUT_PULLUP);
      attachInterrupt(digitalPinToInterrupt(wheelPin), onWheel, LOW);
      attachInterrupt(digitalPinToInterrupt(pedalPin), onPedal, LOW);
      Serial.begin(115200);
    }

    void loop() {
      set_sleep_mode(SLEEP_MODE_IDLE);
      sleep_enable();
      sleep_mode();
    }



    void onWheel(){
      if (wheel->onEvent()) Serial.print("w");
    }
    void onPedal(){
      if (pedal->onEvent()) Serial.print("p");
    }


    bool Debounce::onEvent(){
      unsigned long time1 = millis();
      if (time1 - this->time > 50) {
        this->time = time1;
        return true;
      }
      return false;
    }
     
     
  8. kiva_denis

    kiva_denis Нуб

    Спасибо за ответ. Если честно по идее всё достаточно просто. Не думал что там так всё сложно, посчитать кол-во прерываний за 1 секунду и выдать на монитор порта.
    А сколько будет стоить разработка такого кода ? ( надеюсь не забанят за такое тут )
    поскольку это ладно элементарно, но есть задачи и посложнее, там точно буду заказывать, а сейчас всё как в качестве небольшого стенда всего лишь, для замера оборотов гребных винтов на корабле для сына, сейчас есть рассинхронизация, а не померив не поймёшь да и пригодиться .
    Сколько такой простой код будет стоить, как вы сами думаете, чтобы на будущее цены понимать.
     
  9. rkit

    rkit Гуру

    Это 500 руб.