Предлагаю вашему вниманию свою очередную поделку, а именно, спидометр для роллерсерфа.
Предыстория такова: для получения удовольствия преодоления гиподинамии приобретена была доска «роллерсерф». Поскольку на доске имеется только два колеса, катание на ней требует и чувства баланса, "стоять" на ней можно только в движении. Убедившись, что после непрерывного движения на дистанции около 700 метров колеса как будто вязнут в песке и движение очень сильно затрудняется, обратился к интернету и специалистам. Стало понятно, что по причине излишней мягкости материала колес для моего веса происходит сильный разогрев материала колес и его размягчение, контакт с дорогой увеличивается и возросшая вязкость колеса затрудняет управление и создание движущего момента. После замены колес на более твердые накат доски значительно увеличился, как и легкость управления. На той же длинной трассе знакомого торможения не произошло, скорость продолжала возрастать, что привело к неприятному падению.
Идея померить скорость и ограничить себя в разгоне пришла, вероятно после падения :) Нашелся прототип от 2014 года https://geektimes.ru/post/258692/ , где такое устройство создано, но для доски другого типа, где плоскость вращения колеса не сильно перемещается относительно доски и электронику можно разместить на самой доске, соединив ее с датчиком на колесе гибким проводом.
В моем случае и датчик и электроника должны размещаться не кронштейне колеса, поскольку сам кронштейн (кастор) вращается вокруг своей оси вкруговую относительно плоскости доски.
![Внешний вид роллерсерфа]()
Реализация. Спецификация передаваемых сигналов была выбрана BlueTooth по причине доступности этой технологии и наличии ее в имеющихся под рукой смарт-часах Samsung SM-V700. Модуль BlueTooth был выбран HC-05, контроллер Arduino Mini Pro, но впоследствии заменен на "голый" контроллер AtMega168A, выбран Li-Pol аккумулятор 500ма/ч, удовлетворяющий габаритам кастора и предполагаемому энергопотреблению. В качестве датчика вращения выбран датчик Холла SS49E в отличие от прототипа как более эксплуатационно устойчивый. Соответственно немного был модернизирован скетч. Прохождение магнита, укрепленного в ступице колеса анализируется двумя точками: первое срабатывание - вхождение магнита в зону чувствительности - "взвод" и второе срабатывание - выход магнита из зоны чувствительности датчика - "спуск". Эти события контроллер считает в течении заданного промежутка времени - 1 секунды и отправляет полученное число по каналу связи устройству Android, одновременно анализируя входящие сигналы. Программа приема, отображения, управления модулем создавалась на основе прототипа в среде Android Studio. В ней предусмотрены некоторые доработки, связанные с увеличением помехозащищенности. Аналогично прототипу она осуществляет подсчет скорости и расстояния. Так же сохранена, как кажется, полезная функция включения/выключения "фары" - светодиода, направленного вперед по движению.
![Блок без крышки]()
Видны слева сверху: красный светодиод защиты переполюсовки заряда, переключатель заряд-работа, аккумулятор; ниже: зеленый ВТ модуль, на его оборотной стороне приклеен верхней частью корпуса микроконтроллер AtMega168A с подрезанными заподлицо выводами.
![Крышка блока с магнитным датчиком]()
В сборе с кастором модуль выглядит так:
![Блок на касторе]()
На фотографии видны выключатель питания, контакты для подключения зарядного устройства, с другой стороны блока на углу сверху - светодиод - "фара".
Программа прототипа была дополнена возможностями издавать звуковые и вибро сигналы при различных событиях (включение/выключение фары, тревожный сигнал при превышении заданного ограничения максимальной скорости).
Апробация на столе - на фотографии ниже, на дороге еще не испытано, жду лета :)
![Апробация на столе]()
Проект Android Studio имеет большой объем, размещу где-нибудь со ссылкой, если будет интерес, скетч с комментариями привожу.
При наличии интереса готов поделиться соображениями, опытом.
Предыстория такова: для получения удовольствия преодоления гиподинамии приобретена была доска «роллерсерф». Поскольку на доске имеется только два колеса, катание на ней требует и чувства баланса, "стоять" на ней можно только в движении. Убедившись, что после непрерывного движения на дистанции около 700 метров колеса как будто вязнут в песке и движение очень сильно затрудняется, обратился к интернету и специалистам. Стало понятно, что по причине излишней мягкости материала колес для моего веса происходит сильный разогрев материала колес и его размягчение, контакт с дорогой увеличивается и возросшая вязкость колеса затрудняет управление и создание движущего момента. После замены колес на более твердые накат доски значительно увеличился, как и легкость управления. На той же длинной трассе знакомого торможения не произошло, скорость продолжала возрастать, что привело к неприятному падению.
Идея померить скорость и ограничить себя в разгоне пришла, вероятно после падения :) Нашелся прототип от 2014 года https://geektimes.ru/post/258692/ , где такое устройство создано, но для доски другого типа, где плоскость вращения колеса не сильно перемещается относительно доски и электронику можно разместить на самой доске, соединив ее с датчиком на колесе гибким проводом.
В моем случае и датчик и электроника должны размещаться не кронштейне колеса, поскольку сам кронштейн (кастор) вращается вокруг своей оси вкруговую относительно плоскости доски.

Реализация. Спецификация передаваемых сигналов была выбрана BlueTooth по причине доступности этой технологии и наличии ее в имеющихся под рукой смарт-часах Samsung SM-V700. Модуль BlueTooth был выбран HC-05, контроллер Arduino Mini Pro, но впоследствии заменен на "голый" контроллер AtMega168A, выбран Li-Pol аккумулятор 500ма/ч, удовлетворяющий габаритам кастора и предполагаемому энергопотреблению. В качестве датчика вращения выбран датчик Холла SS49E в отличие от прототипа как более эксплуатационно устойчивый. Соответственно немного был модернизирован скетч. Прохождение магнита, укрепленного в ступице колеса анализируется двумя точками: первое срабатывание - вхождение магнита в зону чувствительности - "взвод" и второе срабатывание - выход магнита из зоны чувствительности датчика - "спуск". Эти события контроллер считает в течении заданного промежутка времени - 1 секунды и отправляет полученное число по каналу связи устройству Android, одновременно анализируя входящие сигналы. Программа приема, отображения, управления модулем создавалась на основе прототипа в среде Android Studio. В ней предусмотрены некоторые доработки, связанные с увеличением помехозащищенности. Аналогично прототипу она осуществляет подсчет скорости и расстояния. Так же сохранена, как кажется, полезная функция включения/выключения "фары" - светодиода, направленного вперед по движению.

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

В сборе с кастором модуль выглядит так:

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

Проект Android Studio имеет большой объем, размещу где-нибудь со ссылкой, если будет интерес, скетч с комментариями привожу.
При наличии интереса готов поделиться соображениями, опытом.