Автор Тема: Спидометр на Arduino за два вечера и $8  (Прочитано 5045 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VVRR

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

После включения, при "удачном стечении обстоятельств"   ;) видим экран готовности

после пересечения первого датчика, начинается процесс измерения и появляется бегущая стока указывающая направление движения локомотива

После пересечения второго датчика, производятся расчеты и на экран на 5 сек (задается программно, можно выставить нужно значение в скетче) выводятся результаты

Если после пересечения первого датчика длительное время не было сигнала от второго датчика (время тоже можно менять в скетче) на 5 сек выводится сообщение таймаут после чего спидометр возвращается в режим готовности

В случае нештатных ситуаций, например при включении локомотивом были перекрыты оба датчика - выводится сообщение об ошибке. опрос готовности проводится каждую секунду и при устранении причины нештатной ситуации, спидометр возвращается в режим готовности


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

В режиме "Таймер", на первом экране отображается готовность к работе

После нажатия на кнопку масштаба, таймер переходит в режим ожидания первого срабатывания датчика

После сигнала от датчика, начинается отсчет времени текущего круга.
После повторного пересечения, фиксируется время прохождения круга и начинается отсчет времени нового круга
На экране в верхнем левом углу отображается время предыдущего круга, в левом нижнем углу - время предпоследнего круга, в правом верхнем - время текущего круга и в правом нижнем - общее время с начала отсчета (в правой колонке циферки постоянно меняются)

Для остановки таймеров, нажимаем еще раз кнопку масштаба.
Если в процессе измерения кратковременно нажать на кнопку единиц измерения - то переключимся на второй экран таймера.
На нем отображается количество пройденных кругов и среднее время прохождения круга. Измерения при этом не останавливаются.

Для возврата к первому экрану, еще раз нажимаем кнопочку единиц измерения.

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

Ну и фотки того, что получилось за пару вечеров.






Хочу сделать корпус тунельного типа, как у Accutrack

Valerie Valley Railroad
 

Оффлайн VVRR

  • Администратор
  • Старожил
  • *****
  • Сообщений: 526
  • Поблагодарили: 493 раз(а)
    • Владимир
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #1 : 30 Сентября 2016, 09:37:00 »
[youtube]http://www.youtube.com/watch?v=qsBzMYaS7tQ[/youtube]
Valerie Valley Railroad
 
Поблагодарили этот пост: vnefedov, Shalun

Оффлайн vnefedov

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1837
  • Поблагодарили: 1923 раз(а)
    • Вячеслав
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #2 : 30 Сентября 2016, 20:56:08 »
Володь, а можно мили в километры программно перевести - интересная приблуда.
И подсчет вагонов тоже...  ::)
Только N - DCC и немного аналог. N-ка незаменима!!! ПРОВЕРЕНО!!!
мои ссылки:   
наш форум     магазин для резерва
 

Оффлайн VVRR

  • Администратор
  • Старожил
  • *****
  • Сообщений: 526
  • Поблагодарили: 493 раз(а)
    • Владимир
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #3 : 01 Октября 2016, 21:34:45 »
можно мили в километры программно перевести
Слав, у меня и мили в час и километры в час меряет, в видео я прокликивал еиницы измерения. можно хоть дюймы в сутки сделать :)
В пятницу будет полная версия с рассказом, что и где менять/дополнять.
Вагоны привез с дачи, "буду попробовать". Боюсь, что на темных бочках он лестницу может за разрыв посчитать, а может и просветы в Nашем масштабе не увидеть, нужно по колдовать будет с уменьшением угла срабатывания датчиков.
Valerie Valley Railroad
 

Оффлайн vnefedov

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1837
  • Поблагодарили: 1923 раз(а)
    • Вячеслав
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #4 : 01 Октября 2016, 22:06:17 »
В пятницу будет полная версия с рассказом, что и где менять/дополнять.
ОК. Посмотрим.
А грузовые вагоны на время замера можно и бумажным скотчем обмотать, чтобы не было лишних разрывов...
Только N - DCC и немного аналог. N-ка незаменима!!! ПРОВЕРЕНО!!!
мои ссылки:   
наш форум     магазин для резерва
 

Оффлайн VVRR

  • Администратор
  • Старожил
  • *****
  • Сообщений: 526
  • Поблагодарили: 493 раз(а)
    • Владимир
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #5 : 02 Октября 2016, 13:07:14 »
на время замера можно и бумажным скотчем обмотать
а смысл тогда в счетчике? проще руками пересчитать :)
Valerie Valley Railroad
 

Оффлайн vnefedov

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1837
  • Поблагодарили: 1923 раз(а)
    • Вячеслав
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #6 : 02 Октября 2016, 14:12:21 »
проще руками пересчитать
Да, не подумал...  :D
Только N - DCC и немного аналог. N-ка незаменима!!! ПРОВЕРЕНО!!!
мои ссылки:   
наш форум     магазин для резерва
 

Оффлайн VVRR

  • Администратор
  • Старожил
  • *****
  • Сообщений: 526
  • Поблагодарили: 493 раз(а)
    • Владимир
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #7 : 04 Октября 2016, 16:35:10 »
Ну вот както так....






С подсчетом вагонов - ничего не выйдет. Он белые надписи на темных вагонах "побуквенно" считает :)
А черные вагоны вообще игнорирует. Нужно будет почесать репу на предмет других датчиков, с ИК не прокатывает.
Valerie Valley Railroad
 

Оффлайн VVRR

  • Администратор
  • Старожил
  • *****
  • Сообщений: 526
  • Поблагодарили: 493 раз(а)
    • Владимир
    • Москва
Re: Спидометр на Arduino за два вечера и $8
« Ответ #8 : 07 Октября 2016, 15:58:13 »
Финал....
[youtube]http://www.youtube.com/watch?v=9sQQ2SiDfrA[/youtube]
Valerie Valley Railroad