Задать вопрос
  • Мотор включается от 5V но не включается от пинов Ардуино?

    @evgeniy_lm
    Абалдеть!!! Может вам стоит отложить ардуину и моторчик в сторону и заняться изучением теории. В частности узнать что такое напряжение и ток.

    Моторчик игрушки потребляет ток без нагрузки 50-100мА, а с нагрузкой до 1А. Про стартовый ток я вообще молчу. В то же время максимальный ток с выхода максимум 40мА.
    Ответ написан
    5 комментариев
  • Мотор включается от 5V но не включается от пинов Ардуино?

    nava2002
    @nava2002
    Инженер
    Пин ардуино (контроллера) допускает максимальный ток до 40 мА, но желательно в 20мА укладываться.
    Хороший материал на тему электромоторов.
    Ответ написан
    Комментировать
  • Сброс счётчика ARDUINO?

    @evgeniy_lm
    В loop отсчитывать интервалы таким образом будет только очень пузатый чайник. Точность в таком случае будет никакая. Увы, порог входа в Arduino почти нулевой (так задумывалось изначально), по этому почти весь ардуинский код есть самый жуткий говнокод (в том числе и оба ваши примера).
    Как уже писали, продвинутые чайники используют millis() (или micros()). Тогда код будет выглядеть так.

    void loop() {
    if (!state) {
    if (millis() - myTimer > PERIOD) { // таймер периода
    myTimer = millis(); // сброс таймера
    }
    } else {
    if (millis() - myTimer > WORK) { // таймер времени работы
    myTimer = millis(); // сброс
    }
    }

    }

    Здесь вы можете быть уверенны в точности +-2мс для millis() или +-50мкс для micros()
    Программисты для отсчета интервалов используют счетчики таймеры. В таком случае можно осуществлять более точные и сложные измерения. Только при этом нужно помнить, что все таймеры используются функцией analogWrite(), таймер 0 так же используется millis() и micros(). При других настройках таймеров эти функции будут недоступны.
    Для очень точного отсчета больших интервалов используйте RTC, в Mega2560 он встроен, для других нужен внешний
    Ответ написан
    2 комментария