Я как программер хочу учесть все возможные вариантыСамсусамыч писал(а):В общим полная анархия, без каких либо правил…
Это понятно, но что делать если поезд остановился в тунеле и пошёл "пописать"?BDmV писал(а):1. Исходное состояние (оба датчика в исходном состоянии);
Так вот, рассмотрим въезд в тоннель со стороны датчика In-1:
2. При срабатывании датчика In-1 взводим флаг (назовём его так: F_In-1);
3. Затем проверяем, взведён ли флаг датчика In-2 (назовём его так: F_In-2).
4. Если F_In-2 не взведён, то считаем что это въезд (включаем всё то, что требуется включить при въезде). Далее продолжаем следим за датчиками. Если датчик In-1 вернулся в исходное положение (не сработан), а флаг F_In-2 так и не взведён, то запускаем таймер прохождения тоннеля (который отсчитывает время, за которое локомотив может на самом тихом ходу дойти от одного датчика до другого). И когда данный таймер отсчитает установленное время, то это значит, что поезд выехал назад из тоннеля (выключаем всё то, что включали при въезде, сбрасываем флаг F_In-1 и переходим в пункт 1).
5. Если флаг F_In-2 взведён (возвращаясь к пункту 3), то считаем, что это выезд из тоннеля. Отслеживаем исходное состояние датчика In-1. Затем исходное состояние датчика In-2. И вновь запускаем таймер прохождения тоннеля. После его окончания отсчёта сбрасываем все флаги, отключаем всё что было включено при въезде и переходим в пункт 1.
В этом случае таймер даст команду включить зел. свет.
В этом плане 4 датчика точнее.
Вход ик1, ик2
Выход ик3, ик4
Если поезд перекрыл датчики ик1, потом ик2 - зачит вкл Красный.
Если поезд открыл датчики ик1, потом ик2 - знат оставить красный (поезд вошёл в тунель)
Если поезд открыл датчики ик2, потом ик1 - значит включить Зелёный (поезд дал задний ход и вышел из тунеля)
и т.д.
У меня больше проблему вызывает собрать схему, чтоб заработала и не сгорела. А написать скеч я, наверное, и сам смогу.
ЗЫ. Пока набор элементов такой
1. Ардуино https://mcustore.ru/store/arduino/ardui ... 8mgc-3-3v/
2. Модуль с 4ик датчикам https://mcustore.ru/store/datchiki-i-se ... rakrasnyx/
3. dcdc до 5v https://mcustore.ru/store/moduli-pitani ... hayushhij/
4. Зарядник для аккумулятора https://mcustore.ru/store/moduli-pitani ... -microusb/
5. Адаптер для програмирования ардуинки (как я понял на выбранной модели в п.1. microUSB нет) https://mcustore.ru/store/moduli-svyazi ... -microusb/
6. Фоторезистор (для авто освещения въезда, выезда) https://mcustore.ru/store/datchiki-i-se ... stor-5528/
7. кнопки, светодиоды, сопротивления.
Как чел с руками спаять всё это смогу, даже плату смогу вытравить, если понадобится (в детстве занимался этим), но вот сообразить какие сопротивления и куда ставить, чтоб всё грамотно была, я х.з.
ЗЗЫ. спс, за то что новые идеи подкидываете.


