Стрелковый таймер

Проект стрелкового таймера на wemos

Ответить
AresSk
Рядовой
Сообщения: 7
Зарегистрирован: 06.01.2022{, 16:23}
Репутация: 0
Имя: Ефим

Стрелковый таймер

#1

Сообщение AresSk » 14.01.2022{, 12:30}

Здравствуйте.
Это мой первый проект, поэтому возможны всякие глупые ошибки.
Это проект стрелкового таймера. Данное устройство используется в спорте "практическая стрельба"
Принцип его работы в следующем. При одинарном нажатии на кнопку через определенный период времени звучит зуммер. Одновременно с началом звона зуммера запускается счетчик времени в секундах с сотыми долями. когда таймер улавливает звук выстрела это время фиксируется и выводится на дисплей(в продвинутых устройствах еще и запоминается но я пока решил ограничится простейшим функционалом). Т.к. фиксируется каждый выстрел получается,что последний выстрел также фиксируется. Это и будет время выполнения всего упражнения.
по длительному нажатию все показания сбрасываются.

также я реализовал еще две функции.
1)По двойному нажатию время до начала зуммера и отсчета рандомизируется. Чтобы сигнал подавался неожиданно
2)вывод последнего сплита(время между выстрелами) на экран

Для улавливания звука используется "датчик хлопка". Если я правильно понял он цифровой и уровень чувствительности регулируется потенциометром на самой плате. Правильное ли это решение или лучше использовать другой датчик. Как его можно програмно загрубить,чтобы не ловил эхо?
13b78626bec38960b6b5dab57ca9a926.jpg
еще один вопрос вызывает подсчет времени. Я использовал генератор и счетчик импульсов. Генератор дает импульс 5мс а затем паузу 15мс. Получается 1 импульс в 20мс. Затем количество импульсов делю на 50 и получаею время в секундах. Правильный ли это способ?
Strelkovy_taymer3.flp
Для скачивания вложений Вы должны быть зарегистрированы.

Ingwar
Подполковник
Сообщения: 1498
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 111
Откуда: Ленобласть
Имя: Игорь

Стрелковый таймер

#2

Сообщение Ingwar » 14.01.2022{, 13:20}

AresSk писал(а):
14.01.2022{, 12:30}
Как его можно програмно загрубить,чтобы не ловил эхо?
Если выстрелы не очень частые, то можно одновибратором или таймером OFF и Rтриггером.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

AresSk
Рядовой
Сообщения: 7
Зарегистрирован: 06.01.2022{, 16:23}
Репутация: 0
Имя: Ефим

Стрелковый таймер

#3

Сообщение AresSk » 14.01.2022{, 13:22}

Ingwar писал(а):
14.01.2022{, 13:20}
Если выстрелы не очень частые
частые. до 0.1 сек

Ingwar
Подполковник
Сообщения: 1498
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 111
Откуда: Ленобласть
Имя: Игорь

Стрелковый таймер

#4

Сообщение Ingwar » 14.01.2022{, 13:27}

AresSk писал(а):
14.01.2022{, 13:22}
частые. до 0.1 сек
Ну тогда на этом модуле делать конструкцию для превращения его в узконаправленный... Или использовать классический микрофон и раскладывать спектры выстрела и эха, короче совсем не уровень Flprog ))). ИМХО.

Отправлено спустя 3 минуты 32 секунды:
AresSk писал(а):
14.01.2022{, 12:30}
Я использовал генератор и счетчик импульсов
А почему ESP8266 ? Там с точностью/повторяемостью может быть не очень.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

AresSk
Рядовой
Сообщения: 7
Зарегистрирован: 06.01.2022{, 16:23}
Репутация: 0
Имя: Ефим

Стрелковый таймер

#5

Сообщение AresSk » 14.01.2022{, 13:33}

Ingwar писал(а):
14.01.2022{, 13:27}
Ну тогда на этом модуле делать конструкцию для превращения его в узконаправленный... Или использовать классический микрофон и раскладывать спектры выстрела и эха, короче совсем не уровень Flprog ))). ИМХО.
понял, спасибо
Ingwar писал(а):
14.01.2022{, 13:31}
А почему ESP8266 ? Там с точностью/повторяемостью может быть не очень.
что было в наличии, ну и чтобы в дальнейшем с интернетом подружить.

На ардуинке,в принципе, тоже можно если она в этом плане получше

Ingwar
Подполковник
Сообщения: 1498
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 111
Откуда: Ленобласть
Имя: Игорь

Стрелковый таймер

#6

Сообщение Ingwar » 14.01.2022{, 13:42}

AresSk писал(а):
14.01.2022{, 13:33}
что было в наличии, ну и чтобы в дальнейшем с интернетом подружить.
Если Вам нужна хоть какая то приемлемая точность, то потрудитесь составить программу так, чтобы в период замера не выполнялся код вывода/ввода (дисплей/интернет и т.д.)
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1417
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 438
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Стрелковый таймер

#7

Сообщение Dryundel » 14.01.2022{, 14:54}

AresSk писал(а):
14.01.2022{, 12:30}
Я использовал генератор и счетчик импульсов. Генератор дает импульс 5мс а затем паузу 15мс. Получается 1 импульс в 20мс. Затем количество импульсов делю на 50 и получаею время в секундах. Правильный ли это способ?
Способ в корне не верный. Никакой точности не получите. Используйте скоростной счетчик.
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

AresSk
Рядовой
Сообщения: 7
Зарегистрирован: 06.01.2022{, 16:23}
Репутация: 0
Имя: Ефим

Стрелковый таймер

#8

Сообщение AresSk » 14.01.2022{, 18:54}

Dryundel писал(а):
14.01.2022{, 14:54}
Способ в корне не верный. Никакой точности не получите. Используйте скоростной счетчик.
Спасибо за совет.
Начал разбираться со скоростным счетчиком и что-то затупил. Правильно ли я понимаю, что ему необходимо получать импульсы с пина поддерживающего аппаратные прерывания? В таком случае, что будет импульсы задавать? Или мы оставляем генератор 5\15, но он теперь должен выдавать импульсы на этот пин. И с пина уже считываем скоростным счетчиком?

Аватара пользователя
Dryundel
Подполковник
Сообщения: 1417
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 438
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Стрелковый таймер

#9

Сообщение Dryundel » 14.01.2022{, 21:01}

AresSk писал(а):
14.01.2022{, 18:54}
Правильно ли я понимаю, что ему необходимо получать импульсы с пина поддерживающего аппаратные прерывания?
Правильно понимаете.
AresSk писал(а):
14.01.2022{, 18:54}
В таком случае, что будет импульсы задавать?
Ну конечный импульс придет с вашего датчика звука. А вот на счет стартового, надо подумать. Возможно использовать выходной пин связав его с входным на прерываниях.

Отправлено спустя 49 секунд:
AresSk писал(а):
14.01.2022{, 18:54}
И с пина уже считываем скоростным счетчиком?
Не дочитал. Решение уже есть. :)
Пользовательские блоки на сайте FLPROG - BLOCK
Выразить благодарность

AresSk
Рядовой
Сообщения: 7
Зарегистрирован: 06.01.2022{, 16:23}
Репутация: 0
Имя: Ефим

Стрелковый таймер

#10

Сообщение AresSk » 14.01.2022{, 22:13}

Dryundel писал(а):
14.01.2022{, 21:02}
Не дочитал. Решение уже есть.
Тогда так и поступлю. Спасибо.
Осталось с эхом разобраться

Ответить

Вернуться в «ESP8266»