Nscale.Club - Русский форум о моделях железной дороги N (9 мм, 1/160)

Модели железной дороги => Электроника в моделизме => Тема начата: VVRR от 29 Сентября 2016, 10:39:12

Название: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 29 Сентября 2016, 10:39:12
На соседнем форуме наткнулся на интересный топик посвященный измерению масштабной скорости.
Решил повторить, но в процессе увлекся и "сильно" доработал (читай написал с нуля) исходный код.
Итак, имеем Arduino Pro mini, пару датчиков препятствий типа FC51, пару тактовых кнопок, пару резисторов на 10кОм, подстроечный резистор на 10кОм, двухстрочный шестнадцатизначный ЖК дисплей, макетную плату 8х12см

После включения, при "удачном стечении обстоятельств"   ;) видим экран готовности
(https://s16.postimg.cc/fg3jlm01x/ready.png)
после пересечения первого датчика, начинается процесс измерения и появляется бегущая стока указывающая направление движения локомотива
(https://s16.postimg.cc/p371vbt1h/running.png)
После пересечения второго датчика, производятся расчеты и на экран на 5 сек (задается программно, можно выставить нужно значение в скетче) выводятся результаты
(https://s16.postimg.cc/erup2o1c5/result.png)
Если после пересечения первого датчика длительное время не было сигнала от второго датчика (время тоже можно менять в скетче) на 5 сек выводится сообщение таймаут после чего спидометр возвращается в режим готовности
(https://s16.postimg.cc/cecrbnmx1/timeout.png)
В случае нештатных ситуаций, например при включении локомотивом были перекрыты оба датчика - выводится сообщение об ошибке. опрос готовности проводится каждую секунду и при устранении причины нештатной ситуации, спидометр возвращается в режим готовности
(https://s16.postimg.cc/72t9d7bgl/error.png)

Кнопки - одна переключает единицы измерения, а при длительном удержании режим работы, вторая переключает масштаб и опции в режиме работы "Таймер"
Масштабы и единицы описаны в массивах скетча и могут быть дополнены или изменены

В режиме "Таймер", на первом экране отображается готовность к работе
(https://s16.postimg.cc/i19494pfp/start.png)
После нажатия на кнопку масштаба, таймер переходит в режим ожидания первого срабатывания датчика
(https://s16.postimg.cc/ch18c8fyd/wait.png)
После сигнала от датчика, начинается отсчет времени текущего круга.
После повторного пересечения, фиксируется время прохождения круга и начинается отсчет времени нового круга
На экране в верхнем левом углу отображается время предыдущего круга, в левом нижнем углу - время предпоследнего круга, в правом верхнем - время текущего круга и в правом нижнем - общее время с начала отсчета (в правой колонке циферки постоянно меняются)
(https://s16.postimg.cc/lnjizil6t/timer.png)
Для остановки таймеров, нажимаем еще раз кнопку масштаба.
Если в процессе измерения кратковременно нажать на кнопку единиц измерения - то переключимся на второй экран таймера.
На нем отображается количество пройденных кругов и среднее время прохождения круга. Измерения при этом не останавливаются.
(https://s16.postimg.cc/fz8muvrgl/laps.png)
Для возврата к первому экрану, еще раз нажимаем кнопочку единиц измерения.

Режим таймера, по сути "фенечка", но поскольку она не требует изменений в аппаратной части - почему бы и нет. Есть еще мысль сделать счетчик вагонов, но это уже надо будет на действующем агрегате проверить. Вчера уже не осилил :)

Ну и фотки того, что получилось за пару вечеров.
(https://s16.postimg.cc/891upqp51/P_20160929_072841.jpg)

(https://s16.postimg.cc/dyi3a1vb9/P_20160929_072856.jpg)

(https://s16.postimg.cc/bv7o2dvid/P_20160929_072937.jpg)

Хочу сделать корпус тунельного типа, как у Accutrack
(http://s-media-cache-ak0.pinimg.com/564x/80/24/fe/8024fe40dcc7a23d7fb548126530bd1a.jpg)
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 30 Сентября 2016, 09:37:00
[youtube]http://www.youtube.com/watch?v=qsBzMYaS7tQ[/youtube]
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: vnefedov от 30 Сентября 2016, 20:56:08
Володь, а можно мили в километры программно перевести - интересная приблуда.
И подсчет вагонов тоже...  ::)
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 01 Октября 2016, 21:34:45
можно мили в километры программно перевести
Слав, у меня и мили в час и километры в час меряет, в видео я прокликивал еиницы измерения. можно хоть дюймы в сутки сделать :)
В пятницу будет полная версия с рассказом, что и где менять/дополнять.
Вагоны привез с дачи, "буду попробовать". Боюсь, что на темных бочках он лестницу может за разрыв посчитать, а может и просветы в Nашем масштабе не увидеть, нужно по колдовать будет с уменьшением угла срабатывания датчиков.
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: vnefedov от 01 Октября 2016, 22:06:17
В пятницу будет полная версия с рассказом, что и где менять/дополнять.
ОК. Посмотрим.
А грузовые вагоны на время замера можно и бумажным скотчем обмотать, чтобы не было лишних разрывов...
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 02 Октября 2016, 13:07:14
на время замера можно и бумажным скотчем обмотать
а смысл тогда в счетчике? проще руками пересчитать :)
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: vnefedov от 02 Октября 2016, 14:12:21
проще руками пересчитать
Да, не подумал...  :D
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 04 Октября 2016, 16:35:10
Ну вот както так....
(https://s11.postimg.cc/hbdf6o62b/P_20161003_235519.jpg)

(https://s11.postimg.cc/ayy9wu303/P_20161003_235552.jpg)

(https://s11.postimg.cc/vkhn2h9yr/P_20161003_235635.jpg)

С подсчетом вагонов - ничего не выйдет. Он белые надписи на темных вагонах "побуквенно" считает :)
А черные вагоны вообще игнорирует. Нужно будет почесать репу на предмет других датчиков, с ИК не прокатывает.
Название: Re: Спидометр на Arduino за два вечера и $8
Отправлено: VVRR от 07 Октября 2016, 15:58:13
Финал....
[youtube]http://www.youtube.com/watch?v=9sQQ2SiDfrA[/youtube]