Задержка выполнения команды

Тема в разделе "Arduino & Shields", создана пользователем thesatellite, 26 фев 2017.

  1. thesatellite

    thesatellite Нерд

    Вот вопрос: Имеется такой скетч
    void setup() {
    pinMode(2,INPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    pinMode(7, OUTPUT);
    pinMode(8, OUTPUT);
    pinMode(9, OUTPUT);
    pinMode(10, OUTPUT);
    }
    void loop()
    {
    if (digitalRead(2) == HIGH)
    for (int pin = 3; pin <= 10; pin++)
    {
    digitalWrite(pin, HIGH);
    delay(100);
    }
    for (int pin = 3; pin <= 10; pin++)
    {
    digitalWrite(pin, LOW);
    delay(100);
    }
    }
    На 2 порт будет периодически подаваться сигнал (напряжение с поворотника) в 0.5 - 1 сек, и как сделать что бы команда выполнялась несколько секунд после кратковременной подачи сигнала. Цель такая: сигнал с поворотника (напряжение) приходит и светодиоды продолжают выполнять команду. Пока выполняется команда (мигание), приходит снова сигнал и задержка выполнения команды снова увеличивается на время N (2000 к примеру). Подскажите пожалуйста.
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    3. Подобрать значение delay так, чтобы вся линейка проходила цикл аккурат к началу следующего импульса от поворотников.
    2. Сигнал от поворотников ловить функцией digitalRead, 14 В понизить до 5 через резисторный делитель.
    1. Оформите код правильно, иначе желающих помочь не найдется.
     
  3. thesatellite

    thesatellite Нерд

    Про 5 в я знаю. ) А про код: посему на сей форум и обратился ныне, так как не знаю как правильно написать))
     
  4. thesatellite

    thesatellite Нерд

    Нашел решение более простое: на 2 PIN воткнул конденсатор на 2 микрофарада))) Одну ногу в GND, вторую в 2 пину. И времени достаточно для пришествия второго цикла мигания поворотника))...Поправка. Только подключать через транзистор S9013. Извиняюсь за кустарность рисунка))) Не хотелось заморачиваться на ПК. Руки есть, так проще))
     

    Вложения:

    • IMAG0266.jpg
      IMAG0266.jpg
      Размер файла:
      289,7 КБ
      Просмотров:
      435
    Последнее редактирование: 27 фев 2017
  5. Tomasina

    Tomasina Сушитель лампочек Модератор

    к чему такие сложности?
    тупо два резистора создают достаточный делитель:
    [​IMG]
     
  6. thesatellite

    thesatellite Нерд

    Не в этом дело. Это нужно для продолжительности подачи команды на 2 PIN/ А кстати, в чем рисовал?)))
     
  7. Tomasina

    Tomasina Сушитель лампочек Модератор

    зачем? Лишнее это, ведь при правильно подобранной паузе вся цепочка как раз отключается прямо перед приходом нового импульса. А с конденсатором будет лишний цикл-два включения поворотника.

    в гугле "резисторный делитель онлайн расчет" ;)
     
  8. thesatellite

    thesatellite Нерд

    Да пусть будет лучше лишний раз.