Умная перчатка для велосипедистов

Автор оригинала: Matlek
  • Перевод


Перевод с сайта instructables.com, автор проекта: Matlek

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


Как это работает


В перчатке находится плата Arduino, собирающая данные с гироскопа и акселерометра. Код использует модель «крохотного машинного обучения» tinyML и распознаёт жесты: каждое движение руки анализируется и превращается в сигнал (рука наклоняется влево, вправо, вперёд, назад, и т.п.). Сигнал отправляется по Bluetooth (BLE) на другой микроконтроллер, к которому подсоединена светодиодная матрица (которую, например, можно закрепить на рюкзак). Сообразно полученному сигналу матрица выводит определённые последовательности символов – так, чтобы другие водители и велосипедисты могли понимать, что собирается сделать велосипедист (к примеру, это могут быть стрелки влево, вправо, или текст).









Происхождение проекта


Во-первых, я езжу на велосипеде на работу, и провожу в седле более часа в день (проезжая порядка 22 км). Это всегда интересно, однако я живу в одном из самых густонаселённых городов Франции, где часто происходят происшествия с участием автомобилей и велосипедистов. Также Марсель – худший во Франции город для велосипедистов — там отчаянно не хватает велодорожек. Поэтому данный проект посвящён как увеличению безопасности велосипедистов, так и попыткам обратить внимание городских властей на эту проблему.

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

Почему «умная перчатка»?


Я начал работу над проектом зимой, и холодная погода мотивировала меня на то, чтобы закрепить устройство на перчатке. Но я быстро понял, что идея была не очень хорошей, потому что в нашей местности летом довольно жарко. Поэтому я решил, что лучше всего будет поместить устройство в коробку и закрепить на руке. Но поскольку я не знал, как назвать его по-другому, я решил оставить слово «перчатка» в названии.

«Умная» происходит от техники машинного обучения, которую я использовал в данном проекте.

Вдохновение


Проект в основном является смесью двух других проектов. Я не начинал работу с нуля, а пользовался их наработками, которые потом развивал далее. Вот, чем я вдохновлялся при разработке:

  • распознавание жестов при помощи Arduino Nano 33 BLE SENSE.
  • не какой-то конкретный проект, а концепция использования светодиодных матриц для велосипедистов. Таких проектов полно – некоторые используют рюкзаки с интегрированными панелями, другие просто предлагают готовую матрицу, которую можно поместить куда угодно. В любом случае, эти светодиодные матрицы управляются при помощи пульта дистанционного управления, а не распознавания жестов.

Комплектующие


Для 3D-печати – 3D-принтер или доступ к таковому.

Электроника


  • Arduino Nano 33 BLE SENSE;
  • Ещё один МИ с BLE (Arduino Nano 33 BLE, Arduino 33 BLE SENSE, Arduino nano 33 IOT, ESP32, и т.д.). Я решил использовать плату на ESP32.
  • Светодиодная полоска (WS2812B). Я использовал 160 светодиодов, чтобы получить матрицу 20×8;
  • Четырёхуровневый буфер с 3 В до 5 В: 74AHCT125.
  • Конденсатор на 1000 мкФ.
  • Переключатели SPST, 3 шт.
  • Макетная плата.
  • Провода.
  • Батарейка 9 В.
  • Внешний аккумулятор.

Другое


  • Винты и гайки М3.
  • Застёжка-липучка.

Шаг 1: подготовка (МИ, код)






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



Все платы интересные, однако для распознавания жестов я мог использовать только одну — Arduino Nano 33 BLE SENSE. Лишь у неё есть нужные датчики и поддержка Tensorflow Lite. Ещё один интересный момент – на платах Arduino Nano 33 IOT, BLE и BLE SENSE есть собственный Bluetooth, поэтому любую из них можно использовать на светодиодной матрице для приёма BLE сигналов.

Загруженный в плату код основан на множестве различных программ для Arduino, найденных мною при разработке. Поэтому перед началом работы я решил проверить их с найденными мною примерами.

Поиграемся с BLE


В данном проекте связь по Bluetooth имеет решающее значение, поскольку именно так сигнал отправляется с датчиков на светодиодную матрицу. До этого я никогда не связывал две платы Arduino по BLE. Поэтому я практиковался со следующими примерами из библиотеки ArduinoBLE:

  • Скетч LedControl, используемый с платой Arduino Nano 33 BLE Sense и кнопкой с притягивающим резистором, подсоединённым к контакту 2. Пример опрашивает BLE-периферию, пока не найдёт сервис с UUID 19b10000-e8f2-537e-4f6c-d104768a1214. После его обнаружения и установления соединения он будет удалённо управлять периферийным светодиодом BLE по нажатию кнопки.
  • Скетч для светодиода и Arduino Nano 33 IoT.

К сожалению, со скетчем для светодиода у меня возникло множество проблем – 3 платы «сломались» при его загрузке. Понятия не имею, в чём там была проблема, но я решил заменить плату Arduino на другой МИ с BLE – плату ESP32. С новой платой я использовал следующее:

  • Скетч BLE_write из библиотеки BLE ESP32 ARDUINO. Я добавил несколько изменений, чтобы она работала с платой Arduino Nano 33 BLE SENSE. На шаге 10 вы сможете сравнить скетч BLE_write и скетч Smartglove_BLE_LED-matrix, который я написал и загрузил.

Поиграемся со встроенными RGB светодиодами


Вы знали, что у платы Arduino Nano 33 BLE SENSE есть встроенные RGB светодиоды? В данном проекте они пригодятся для проверки правильной работы распознавания жестов. Мы должны проверять, что сигнал был отправлен на светодиодную матрицу – однако поскольку панель, скорее всего, находится на спине велосипедиста, ему будет трудно понять, что распознавание жестов сработало и сигнал был отправлен.

Тут не было ничего сложного, я просто немного подправил пример Blink. Из кода видно, что красный светодиод находится на контакте 22, зелёный – на контакте 23, синий – на контакте 24. Входной сигнал LOW включает светодиод, HIGH – выключает.

const int LED_BUILTIN_RED = 22;
const int LED_BUILTIN_GREEN = 23;
const int LED_BUILTIN_BLUE = 24;

// функция setup запускается один раз после включения или перезагрузки платы
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN_RED, OUTPUT);
  pinMode(LED_BUILTIN_GREEN, OUTPUT);
  pinMode(LED_BUILTIN_BLUE, OUTPUT);
}

// функция loop повторяется вечно
void loop() {
  digitalWrite(LED_BUILTIN_RED, LOW);   // включить LED (HIGH – уровень напряжения)
  delay(1000);                       // подождать секунду
  digitalWrite(LED_BUILTIN_RED, HIGH);    // выключить LED, понизив напряжение до LOW
  delay(1000);                       // подождать секунду 

digitalWrite(LED_BUILTIN_GREEN, LOW);   // включить LED (HIGH – уровень напряжения)
  delay(1000);                       // подождать секунду
  digitalWrite(LED_BUILTIN_GREEN, HIGH);    // выключить LED, понизив напряжение до LOW
  delay(1000);   // подождать секунду
  
  digitalWrite(LED_BUILTIN_BLUE, LOW);   // включить LED (HIGH – уровень напряжения)
  delay(1000);                       // подождать секунду
  digitalWrite(LED_BUILTIN_BLUE, HIGH);    // выключить LED, понизив напряжение до LOW
  delay(1000);                       // подождать секунду
}

Поиграемся с распознаванием жестов и tinyML


Наконец, я изучил руководство по использованию машинного обучения на Arduino, и попрактиковался с примером распознавания жестов. Пример делится на три основные части:

  • Распознавание данных с программой IMU_Capture (и Arduino Nano 33 BLE sense);
  • Обучение модели на записанных данных на google colab (на компьютере);
  • Использование обученной модели на Arduino с IMU_Classifier для распознавания образов (опять на плате Arduino).

Шаг 2: перчатка 1/6 (электроника)












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

Схема электроники для перчатки очень простая:

  • Плата Arduino.
  • Батарейка на 9 В (я использую аккумулятор).
  • Переключатель SPST.

Шаг 3: перчатка 2/6 – корпус






















Корпус простой, и состоит всего из двух частей, распечатанных на 3D-принтере:

  • В жёлтой части находится плата Arduino, аккумулятор и переключатель. Отверстия в корпусе позволяют перезаряжать батарею и перепрограммировать плату Arduino без необходимости разбирать корпус.
  • Чёрная часть – это крышка, защищающая аккумулятор и плату.

На руку я креплю её полоской липучки.

Также я нарисовал логотип, который потом приклеил на крышку. Он обозначает велосипедиста, на которого смотрят сверху, и в нём есть три стрелочки – прямо, налево и направо. Четвёртая стрелочка отстоит от трёх остальных, потому что велосипеды не ездят назад.

Файлы


content.instructables.com/ORIG/FS2/L3M3/K9N93ZYW/FS2L3M3K9N93ZYW.stl

content.instructables.com/ORIG/F72/21NG/K9N93ZZG/F7221NGK9N93ZZG.stl

content.instructables.com/ORIG/FD3/NVS8/K9N93ZZI/FD3NVS8K9N93ZZI.stl

Шаг 4: перчатка 3/6: запись данных
















После сборки устройства приходит время записи данных. Цель – записать каждый жест многократно. Я установил порог для гироскопа, и когда он выходит за это значение, Arduino начинает выводить записанные данные на монитор.

Я записал следующие жесты:

  • Рука указывает влево (стандартный жест велосипедистов, обозначающий поворот налево).
  • Торможение (жест пальцами, тянущимися к рычагу тормоза).
  • Рука наклоняется назад.
  • Рука наклоняется вперёд.
  • Рука наклоняется влево.
  • Рука наклоняется вправо.

Естественно, вы можете записывать свои жесты.

Для записи данных я написал программку, переключающую на светодиоде цвета после каждых 20 движений. Это помогало мне понимать, когда нужно переходить к другому жесту. Я подсоединил Arduino к компьютеру, открыл программу для отслеживания порта и положил ноутбук в рюкзак.

Записав все жесты, я перешёл к последнему этапу – скопировал данные, выведенные в программу, и сохранил их в формате csv.

content.instructables.com/ORIG/FC7/B0JT/K9UEA78V/FC7B0JTK9UEA78V.ino

Шаг 5: перчатка 4/6: обучение








Для обучения я использовал следующий пример, исправив в нём всего несколько строк. Перед обучением стоит проверить, что для каждого жеста у вас есть свой csv-файл, и данные в каждом файле относятся именно к этому жесту.

На сайте Google Colab по ссылке в разделе «Upload data» загрузите свои данные.

В разделе «Graph Data (optional)» добавьте имя одного из файлов.

filename = «Arm_left.csv»

Затем исправьте эту строчку, чтобы выводить только данные с гироскопа:

#index = range(1, len(df['aX']) + 1)
index = range(1, len(df['gX']) + 1)

Закомментируйте следующие строки – данные акселерометра мы не используем:

#plt.plot(index, df['aX'], 'g.', label='x', linestyle='solid', marker=',')
#plt.plot(index, df['aY'], 'b.', label='y', linestyle='solid', marker=',')
#plt.plot(index, df['aZ'], 'r.', label='z', linestyle='solid', marker=',')
#plt.title("Acceleration")
#plt.xlabel("Sample #")
#plt.ylabel("Acceleration (G)")
#plt.legend()
#plt.show()

В разделе «Parse and prepare the data» добавьте все названия файлов:

#GESTURES = ["punch", "flex",]
GESTURES = ["Arm_left", "Brake", "Hand_back-tilt", "Hand_front-tilt", "Hand_left-tilt", "Hand_right-tilt"]

Измените количество образцов на один жест, если меняли их в коде для Arduino:

#SAMPLES_PER_GESTURE = 119
SAMPLES_PER_GESTURE = 64

Осталось только закомментировать ускорение:

# normalize the input data, between 0 to 1:
# - acceleration is between: -4 to +4
# - gyroscope is between: -2000 to +2000
      tensor += [
          #(df['aX'][index] + 4) / 8,
          #(df['aY'][index] + 4) / 8,
          #(df['aZ'][index] + 4) / 8,
          (df['gX'][index] + 2000) / 4000,
          (df['gY'][index] + 2000) / 4000,
          (df['gZ'][index] + 2000) / 4000
      ]

После прохода всей программы вы сможете скачать обученную модель.

Файлы


content.instructables.com/ORIG/F7A/GLEK/K9UEA8Z5/F7AGLEKK9UEA8Z5.csv

content.instructables.com/ORIG/FV1/853G/K9UEA8Z6/FV1853GK9UEA8Z6.csv

content.instructables.com/ORIG/FQH/OAZD/K9UEA8Z7/FQHOAZDK9UEA8Z7.csv

content.instructables.com/ORIG/F7N/P7AG/K9UEA8Z9/F7NP7AGK9UEA8Z9.csv

content.instructables.com/ORIG/FD4/WZRM/K9UEA8ZA/FD4WZRMK9UEA8ZA.csv

content.instructables.com/ORIG/F6W/7SO2/K9UEA8ZB/F6W7SO2K9UEA8ZB.csv

Шаг 6: перчатка 5/6: код для Arduino



Итоговый мой код для умной перчатки – это смесь следующих программ:

  • пример «LED» из библиотеки «ArduinoBLE» (Peripheral>LED).
  • «IMU_Classifier» отсюда.

Подробно тут я распространяться о них не буду, просто рекомендую прочитать оригинальные программы, чтобы лучше понимать происходящее.

Добавьте свою модель в код, и её можно будет испытывать!

Файлы


content.instructables.com/ORIG/F9N/4SBK/K9UEA98M/F9N4SBKK9UEA98M.h

content.instructables.com/ORIG/FKZ/ODO9/KB52VXZK/FKZODO9KB52VXZK.ino

Шаг 7: перчатка 6/6: испытания










Как видно из видеоролика, светодиод загорается по-разному в зависимости от распознанного жеста:


Шаг 8: светодиодная матрица 1/4: электроника












Как я уже упоминал, при закачке скетча из библиотеки ArduinoBLE для светодиода на Arduino Nano 33 BLE SENSE я столкнулся с некоторыми проблемами. Поэтому я решил вместо этой платы использовать ESP32. Поэтому на приведённых фотографиях вы можете увидеть обе платы.

Поскольку обе платы, Arduino Nano 33 BLE SENSE и ESP32, работают с логикой на 3,3 В, я добавил четырёхуровневый буфер с 3 В до 5 В (74AHCT125), как рекомендуется в инструкции от Adafruit.

Также я добавил конденсатор на 100 мкФ для защиты светодиода от резких перепадов напряжения.

Всю схему я собрал на макетной плате.

Видно, что я задействовал оба разъёма внешнего источника питания, поскольку испугался, что светодиодной матрице потребуется слишком большой ток. Поэтому матрица и МИ питаются от разных разъёмов внешнего источника питания.

Шаг 9: светодиодная матрица 2/4: корпус




























Мне нужен был сборный корпус для светодиодной матрицы. Поэтому он состоит из нескольких частей (а ещё потому, что мой 3D-принтер очень крохотный), и я предусмотрел в них отверстия для болтов.

Для подсоединения панели я снова воспользовался липучкой.

Файлы


content.instructables.com/ORIG/FH6/TB4H/K9N93ZZJ/FH6TB4HK9N93ZZJ.stl

content.instructables.com/ORIG/FK3/BZPC/K9N93ZZK/FK3BZPCK9N93ZZK.stl

content.instructables.com/ORIG/FMU/ZRTY/K9N93ZZL/FMUZRTYK9N93ZZL.stl

content.instructables.com/ORIG/F38/BF1P/K9N93ZZM/F38BF1PK9N93ZZM.stl

content.instructables.com/ORIG/FJC/DQMY/K9N93ZZN/FJCDQMYK9N93ZZN.stl

content.instructables.com/ORIG/F43/ELQV/K9N93ZZQ/F43ELQVK9N93ZZQ.stl

content.instructables.com/ORIG/FJE/C5FG/K9N93ZZR/FJEC5FGK9N93ZZR.stl

content.instructables.com/ORIG/F55/1X43/K9N93ZZS/F551X43K9N93ZZS.stl

Шаг 10: светодиодная матрица 3/4: код для Arduino














Итоговый код – смесь следующих кодов (и их модификация):
  • Пример BLE_Write из библиотеки BLE ESP32 ARDUINO.
  • Пример MatrixGFXDemo64 из библиотеки FastLED NeoMatrix.


Подробно тут я распространяться о них не буду, просто рекомендую прочитать оригинальные программы, чтобы лучше понимать происходящее.

content.instructables.com/ORIG/FIR/RETZ/KB52VXP4/FIRRETZKB52VXP4.ino

Шаг 11: светодиодная матрица 4/4: испытания






Настало время всё проверить! После распознавания каждого жеста на светодиодную матрицу отправляется сигнал, и она показывает определённый узор. Видно, что на перчатке светодиоды зажигаются соответственно распознанному жесту.



Шаг 12: итоговые испытания и заключение






Вот как это выглядит вживую:



Я очень доволен получившимся устройством. Благодаря проекту я гораздо увереннее чувствую себя с tinyML и BLE. С тех пор я купил ещё Arduino Nano 33 IOT, и сейчас занимаюсь весьма интересным проектом, о котором напишу позже. Что бы я изменил во второй версии описанного мною устройства:

  • Крышка для «перчатки». Сейчас она держится на корпусе только за счёт того, что туго надевается. Однако как-то во время поездки я задел что-то рукой, крышка соскочила и разбилась. В следующей версии прикручу её винтами.
  • Корпус для светодиодной матрицы. Я почти сразу понял, что в моём корпусе отсутствует быстрый доступ к USB МИ. А мне хотелось бы иметь доступ, чтобы отлаживать код или менять его. Также без раскручивания корпуса нельзя зарядить внешний источник питания.
  • Больше данных для обучения. Иногда некоторые из жестов не распознаются, а иногда распознаются ошибочно. Думаю, не хватает данных (всего 20 движений для каждого жеста). Больше движений – лучше модель, меньше ошибок.

На завершение проекта и написание этого текста у меня ушло несколько месяцев. Если что-то неясно, или какого-то файла не хватает, пишите в комментариях к оригинальной статье.

См. также:

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 48

    +4

    Хорошее DIY решение.
    У него (как и у коммерческих аналогов) есть одна проблема — на расстоянии / на городской скорости автомобиля все эти стрелочки сливаются в сплошной сигнал. И даже переключение цвета (с дежурного красного на поворачивающий желтый) не спасает, потому что не видно, куда человек поворачивает. Немного спасает ситуацию вынос диодов непосредственно на перчатку — так хотя бы иногда можно заметить, что появляется какой-то свет сбоку. Как вариант улучшения светодиодной панели на рюкзаке — можно заставить оранжевую полоску бегать в направлении поворота, это будет чуть более наглядно.
    Но в целом, как велосипедист с большим стажем и в недалеком прошлом — автомобилист могу сказать, что автомобилисты не ожидают от велосипеда указания поворота световыми сигналами, поэтому это либо не воспринимается совсем, либо сбивает с толку. В потоке велосипедистов — другое дело, там эти светодиоды видно. Но там видно и просто вытянутую в сторону руку.

      +7

      А что мешает ставить на велосипед обычные переключатели поворотников, концевик стоп сигнала на рычаг тормоза?
      Или никак без ml, блокчейна и прочего?
      Я уж не говорю про готовые решения с али
      https://m.aliexpress.ru/item/4001137234006.html

        0

        Да, мне тоже кажется слегка неудобным судорожно махать рукой чтобы эта перчатка считала что-то в трафике. И я сперва подумал что это будет просто дополнение к обычным жестам — подниманием руки чтобы указать остановку, руку влево — поворот налево, разве что с поворотом направо неудобно выходит (нужна вторая перчатка).

          +5
          нужна вторая перчатка

          Не нужна
          image
            +1
            Насколько я помню своё велотуристское прошлое, жесты согнутой рукой не практикуются и, соответственно, нет уверенности, что водители их вообще знают.
            Правда, сейчас по ощущениям вообще не увидишь, чтобы велосипедист поворот показал :-(

            ЗЫ: А ещё в те времена был типовой жест – «яма». Рука вниз и в сторону, ладонью вниз. Для группы велосипедистов на наших дорогах очень полезна.
              +1
              Не могу представить, чтобы я на двух колёсах не указывал поворот. Это же отличный шанс не доехать.
                0
                Ну есть велотуризм, а есть ПДД. ЕМНИП жесты правой рукой в ПДД отсутствуют, поправьте, если ошибаюсь. Зато жесты левой обязан знать каждый водитель как резервные при отказе стандартных поворотов/стопов.
                  +1
                  Гляньте в ПДД раздел для велосипедистов, там по упомянутым McDuk причинам есть отличия от жестов для водителей.
                  0
                  Жесты согнутой рукой — пережиток тех времен, когда поворотников на авто могло и не быть, а повороты показывать как-то надо. Велосипедист может показывать повороты любой рукой, а водитель — только одной.
                    0
                    Жесты согнутой рукой — пережиток

                    И да и нет. Когда вы едете по правому краю ПЧ и хотите показать поворот направо, даже если вы вытяните правую руку направо, то из-за вашей тушки она будет частично/полностью перекрыта и абсолютно не видна водителям. То есть разницы между «показал» и «не показал» не будет.
                    Поэтому я сам практикую в таких случаях показывать правый поворот левой согнутой рукой.
                      0
                      Если у вас не работают указатели поворота, закрыты грязью или отсутствуют, но вам необходимо двигаться по дороге. За пределами МКАД (да, там есть жизнь) часто встречаю такое, особенно в сельской местности, особенно в солнечную погоду, когда старые указатели не могут обеспечить достаточный световой поток. Видите ли, в России «те времена» пока еще не прошли.
                0

                Если хочется DIY, то можно аккуратно разместить около мотоциклетные световые приборы с переключателем на руле, имхо это лучшее решение.

                +3
                Почему нельзя просто кнопочки и повторители к рулю(под сиденье) приделать?
                  +1

                  Это будет ещё и гораздо безопаснее — не глядя и не снимая руку с руля, щёлкнуть рычагом.

                    +1
                    Еще и обратная связь будет. Типа по положению переключателя видно, что «забыл» поворотник. А еще можно добавить контроль ный диодик, что сигнал вообще работает.

                    А так не понятно, ты рукой дрыгнул, а сработало оно там или нет, не ясно.
                  0
                  Почему стоп-сигнал — это 3 красных полоски? Может быть разумнее все светодиоды красным зажигать?
                    0

                    Аккумулятор будет быстрее садиться, а то и не вытянет по мощности.

                    0
                    9В питания меня удивило. Приложить сколько усилий к реализации проекта, и не решить проблему питания более изящно. :(
                    И вместо гиродатчика лучше бы смотрелся фитнес-трекер.
                    Да, продолжать показывать повороты руками, и дублировать на светодиодном табло это хорошо.
                      0
                      Динамовтулка — стандартное решение, 6В 3Вт. В Германии обязательна, вроде бы.
                      Проект интересный. И где же уже же метаткани светящиеся?

                      DH-3N72
                        0

                        Не обязательна. Обязательны фары. Поэтому у большого количества людей стоят такие втулки — это проще, чем заряжать аккумуляторы / покупать батарейки. Плюс, если все правильно сделать, можно еще и заряжать телефон, закрепленный на руле.

                          +1
                          Есть другая информация — динамка обязательна именно для гарантированной работы заднего фонаря и передней фары. А дополнительные батарейные фонари/фары — сколько угодно. Но это неточно ;)
                            +1
                            Вранье, достаточно фар. В школе проверяли велосипеды детей на соответствие нормам, обязательны фары, звонок и отражатели на колесах, все остальное — досужие домыслы про заграницу.
                              0
                              Только сейчас дошло: а разве в Германии школьникам на велосипедах движение по дорогам разрешено?
                                +1
                                С восьми лет разрешено, это как раз 3й класс обычно, тогда и сдают экзамен на вождение велосипеда. А с 10 лет даже обязательно ехать по велосипедной дорожке, если она имеется, по тротуару уже нельзя.
                                  0
                                  Всё серьёзнее, чем казалось. Т.е. не сдающие по каким-либо причинам с десяти лет переквалифицируются в пешеходов в плоть до получения автоправ?
                                    +1
                                    Нет, экзамен на самом деле для проформы, просто как часть обучения правилам дорожного движения и безопасности при езде на велосипеде. Для использования велосипеда экзамен не требуется. Хотя ввести его стоило бы, потому что ведут себя велосипедисты на дорогах иногда абсолютно неадекватно, а штрафуют их уж в совсем исключительных случаях.
                        0
                        Вот кстати да, о том же подумал. На хабре как раз была статья о написании своей прошивки для такого трекера, да и есть в продаже вообще варианты «фитнес-трекеров» для самодельщиков (отличаются от нормального лёгкой разборкой и, соответственно, не герметичным корпусом)
                        0
                        «Поворотники» сильно напоминают указатель направления объезда препятствия.
                          +1
                          сигналы поворотов и торможения не просто так сделаны моргающими в транспортных средствах. хоть сейчас и появилась мода на «бегущие» светодиодные сигналы поворота, они всё равно имеют в своем алгоритме работы паузы, когда сигнал поворота полностью потушен.

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

                          Лучше бы сделать сигналы поворотов на матрице не бегущими, а моргающими (можно скомбинировать). Стоп-сигнал тоже лучше сдать резкой вспышкой всей матрицы красным цветом.

                          Зеленая волна движения вперед тоже постоянно отображаться не должна, так как тогда будет фильтроваться водителями. Да и батареи хватит гораздо дольше, если включать светодиодное табло лишь кратковременно, когда это нужно, а не светить им постоянно.
                            0
                            Идея хорошая, когда то думал о чем то таком пока не пересел на самокаты. Но с учетом что по пдд я не имею права поворачивать налево и если правильно помню даже объезжать по полосе, а на право вроде как и так понятно, я понял что данная штука особо смысла не имеет.

                            Как выше написали, эта гирлянда на спине вряд-ли поможет быстро адекватно понять что это такое. Зачем показывать направление движения вперед? Зачем бегущая строка? Логичней была бы просто стрелка как на светофоре (узнаваемая), можно мерцающая чтобы привлечь внимание.
                            В итоге все это требует только одного — выложить из светодиодов стрелочку «влево) на случай объезда препятствия (хотя это по-моему тоже запрещено пдд) и нацепить одну кнопочку на руле.
                              0
                              Но с учетом что по пдд я не имею права поворачивать налево

                              В ПДД (по крайней мере с территории СНГ) про это нет ни слова в общем случае. Нельзя поворачивать налево, если дорога имеет более двух полос в одном направлении и/или траектория пересекает трамвайные пути.
                              если правильно помню даже объезжать по полосе

                              Про это там тем более ни слова нет, в зависимости от конкретной страны с территории СНГ в правилах будет или формулировка «не далее 1,5 метров от правого края проезжей части», до «по правому краю проезжей части». Причём в последнем случае нигде нет внятного определения «что такое правый край проезжей части»? Поэтому объезжать можно спокойно, убедившись в безопасности манёвра.
                              на право вроде как и так понятно

                              Непонятно. В РФ, к слову, водители явно обязаны пропустить велосипедистов, движущихся прямо, в случае если водителям надо повернуть направо. Далеко не все водители вообще в курсе этой обязанности, но тем не менее. Поворот направо тоже стоит показывать.
                                +1
                                ПДД для велосипедистов крайне дырявое. По крайней мере в РФ. Тем не менее, как сказали выше, поворот налево в некоторых случаях разрешен.
                                Другой вопрос, что не все водители знают про данный пункт. Некоторые даже не знают, что велосипед на проезжей части приравнивается к полноценному ТС с некоторыми ограничениями по маневрированию.
                                  +1
                                  Некоторые даже не знают, что велосипед на проезжей части приравнивается к полноценному ТС с некоторыми ограничениями по маневрированию.

                                  Я даже больше скажу: увы, некоторые участники не в курсе, что помимо них на дороге есть ещё и другие люди. Увы.
                                  Тем не менее, как сказали выше, поворот налево в некоторых случаях разрешен.

                                  Не совсем корректная формулировка: он всё-же в некоторых случаях запрещён. Потому что в ПДД есть именно запрет на поворачивать налево при определённых обстоятельствах.
                                  ПДД для велосипедистов крайне дырявое.

                                  Самая прекрасная совокупность пунктов это про «движение по правому краю проезжей части», требования к соблюдению рядности и разрешение ездить по выделенным полосам для общественного транспорта (далее ОТ):
                                  1) Необходимо есть по правому краю проезжей части. Но при этом на некоторых перекрёстках правый ряд может только поворачивать направо и требования к соблюдению рядности движения по полосам никто не отменял. Я ради интереса отправлял запросы в несколько разных ГИБДД и получал диаметрально противоположные ответы: «перестраивайтесь в тот ряд, который может ехать прямо» и «продолжайте движение по правому краю».
                                  2) В ПДД есть прямое разрешение на движение по полосам для ОТ, но при этом полоса для ОТ может быть в каком угодно ряду. В таком случае абсолютно непонятно: можно ли двигаться по полосе для ОТ, если она в крайнем левом ряду; ведь очевидно, что это не «правый край ПЧ».
                                  3) Само по себе определение «правый край ПЧ» это абсолютно неизмеримое понятие, так как нигде нет ответа на вопрос «что это вообще такое?». Если рассуждать логически, то наиболее вероятно, что «правый край» это всё то, что правее центра. Таким образом выходит, что правый край проезжей части на четырёхполосной магистрали это две правых полосы.
                                    0
                                    Давно бьюсь над этими пунктами
                                    1) Тоже встречал информацию, что для совершения маневра допускается перестроение. Также для объезда препятствия на дороге (формально ведь не вписывается «движение по правому краю»).
                                    2) Опять же искал данную информацию, хоть и выделенок у меня в городе нет. Где-то вычитал, что движение по выделенной полосе допускается. Опять же по «правому краю». Надо будет самостоятельно отправить запрос из интереса.
                                    3) Тоже кажется крайне странным определением. Это может быть чуть правее от центра, а может обочина за сплошной. Сам предпочитаю по возможности сильно не вылазить, дабы не оказаться на капоте, но вопрос открытый.
                                    Очень сильно смущают все эти «нельзя, но иногда можно». В итоге велосипедист превращается для водителей в непредсказуемый снаряд.
                                    Из хороших новостей, людей на велосипедах становится все больше. У меня на работе количество парковок увеличили вдвое. Может из-за этого займутся и созданием условий для движения. Мечтать не вредно…
                                      +1
                                      1) Не, у меня не просто информация, а ответы от двух разноуровневых ГИБДД: только они друг другу противоречат. На мой взгляд, безопаснее всё же перестраиваться. Объезд препятствия вписывается — как я и указывал, нет никакого вменяемого определения «правого края». Соответственно он всё то, что не левый край, поэтому объезжая, не заезжая в «левый край» никто ничего не нарушает :)
                                      2) Там очередная кривая формулировка "… если полоса расположена справа.". Справа от чего? От центральной линии? От встречки? От Москвы? От оси вращения Земли?
                                      3) Нет, обочина не входит в состав проезжей части. Там речь именно о проезжей части и её непонятном «правом крае».
                                      Да я тоже особо не наглею, поворотники показываю и езжу спокойно. В целом то нет абсолютно ничего страшного и сложного, на мой взгляд. Хотя у меня стаж вождения автомобиля больше 10 лет. Поэтому на многие вещи смотрю чуть по другому.
                                      0
                                      ПДД для велосипедистов крайне дырявое.
                                      А как Вам отсутствующая дорожная разметка или присутствующая, но с правой полосой шириной в две машины впритирку, куда вся пробка впритирку к обочине и въезжает?
                                      А пункт о том, что велосипедист не должен мешать пешеходам, двигающимся по встречной полосе?
                                      А пешеходы на велодорожке должны двигаться по встречной или попутной полосе?
                                        0
                                        А как Вам отсутствующая дорожная разметка или присутствующая

                                        Никак. Отсутствие дорожной разметки допускается и в таких случаях надо руководствоваться глазомером.
                                        но с правой полосой шириной в две машины впритирку, куда вся пробка впритирку к обочине и въезжает

                                        Я просто считаю что люди, жмущиеся к поребрикам, очень сильно боятся что придёт серенький волчок, укусит их за бочок и они навсегда потеряются. С юмором, короче.
                                        А пункт о том, что велосипедист не должен мешать пешеходам, двигающимся по встречной полосе?

                                        Простите, что? Велосипедисту нечего делать на встречной полосе дорожного движения.
                                        А пешеходы на велодорожке должны двигаться по встречной или попутной полосе?

                                        Как угодно. Пешеходам допускается ходить по велодорожке.
                                          0
                                          Ну вот перед за 200 м до поворота водитель джипа, пользуясь своим глазомером, подрезает велосипедиста и утыкается в тянучку. Сзади троллейбус. Жаться к обочине, к троллейбусу, или перепрыгивать джип, чтобы спокойно ехать дальше?

                                          Не велосипедист на встречной, а пешеход на встречной — имеет право. Навстречу велосипедисту.

                                          Пешеходам допускается ходить по велодорожке, причём, похоже и шеренгой во всю ширину.
                                            0
                                            Ну вот перед за 200 м до поворота водитель джипа, пользуясь своим глазомером, подрезает велосипедиста и утыкается в тянучку. Сзади троллейбус. Жаться к обочине, к троллейбусу, или перепрыгивать джип, чтобы спокойно ехать дальше?

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

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

                                            Как и велосипедистам ездить по тротуарам. Чем некоторые деятели пользуются и летают 30+, особенно с горочек. Что, на мой взгляд, значительно более опасно, чем пешеход на велодорожке. И ещё мне неизвестен ни один случай штрафов для велосипедистов, которые создали помехи движению пешеходов на тротуаре.

                                            Кстати, вы извините, я не могу уловить смысл: на что направлены ваши комментарии? Что правила дырявые? Ну да, не без этого. Что они мешают как то ездить? Ну мои несколько тысяч километров только за этот год говорят об обратном. Что правила обязательны к исполнению? Единственное за что меня, когда я был на велосипеде, хотели оштрафовать (пусть и в шутку) — за превышение скорости, когда я вместо 20 ехал 40+.
                                              0
                                              на что направлены ваши комментарии? Что правила дырявые?
                                              Именно. На то же, что и Ваши. Вроде бы удобный случай обменяться мнениями и опытом.
                                  0
                                  Как велосипедист и водитель одновременно/попеременно, хотел бы заметить, что для безопасности велосипедиста гораздо важнее был бы светящийся светодиодный пояс/жилет/рюкзак.

                                  Причем с возможностью перехода в мигающий режим и с функцией автоматического включения при снижении общей освещенности (включая и въезд велосипедиста в густую тень деревьев днем).
                                  Эта функция не должна иметь возможность отключения в принципе (сломать можно все — следовательно требуется оговорить подобные случаи самодеятельности в ПДД с соотв. оргвыводами).

                                  Для указания поворота вполне достаточно руки — все системы указателей поворота для велосипедов (а таковые есть) могут дезориентировать водителей, так как эти вещи не стандартизованы, в отличии от всем понятных (тем, кто таки учил ПДД) жестов руками.

                                  А реально «умный» велосипед должен заниматься другими вещами, например, отслеживать частоту вращения педалей и прилагаемое к ним усилие — для того что бы велосипедист не убил свои колени или просто для того, что бы давать рекомендации «переключи скорость» :)

                                    0
                                    А реально «умный» велосипед должен заниматься другими вещами, например, отслеживать частоту вращения педалей и прилагаемое к ним усилие — для того что бы велосипедист не убил свои колени или просто для того, что бы давать рекомендации «переключи скорость» :)

                                    Любой каприз за ваши деньги. Датчики каденса стоят относительно дёшево, овощемеры (ну то есть мощемеры, но на жаргоне всё же именно про «овощи») — дороже, электронные трансмиссии ещё дороже.
                                    Но всё уже давно есть на рынке.
                                      0
                                      Любой каприз за ваши деньги


                                      Статья идет в рубрике «DIY или Сделай сам».
                                      Есть небольшая разница.
                                        0
                                        Статья идет в рубрике «DIY или Сделай сам».

                                        Сделать датчик каденса самостоятельно тоже можно. Но есть вопрос «зачем?», учитывая требования к защищённости от окружающей среды, например. Да и наличии альтернатив от 400 рублей (ант+ и в Китае).
                                        Мощемеры сделать «на коленке» крайне сложно, особенно чтобы они показывали что-то действительно адекватное.
                                        Сделать электронную трансмиссию? Допускаю что это возможно, но я не уверен в том, что это не выйдет по цене как автомобиль/будет нормально работать.
                                        Ну и да, я лишь отвечал на ваш комментарий об «умном» велосипеде, а никак не на исходную статью.
                                    0
                                    Сатья шикарная, как и само устройство!
                                    Вот только рекомендую убрать анимацию — сделать более понятным (читай крупнее по размерам и стандартнее в восприятии (моргание а не слайдинг)) водителям ваш указатель поворота.
                                    Т.е. пока едете — анимация ок.
                                    Тормозите — большой красный кирпич (можно моргать им)
                                    Поворачиваете — большая мигающая стрелка в сторону поворота.
                                      0
                                      Зачетно :)

                                      Но разве не проще на велосепеде сдлать переключатели?
                                      И, ИМХО, немешалобы обратную связь добавить. Какой-нибудь вибромоторчик в перчатку, что бы было понятно, что жест сработал.
                                        0
                                        Проект отличный! Хотя соглашусь тут со многими — для поставленной задачи это оверинжиниринг.

                                        Такой вопрос — для того чтобы добиться реакции в реальном времени пришлось как нибудь возиться с TinyML?
                                        Ну и жесты выглядят довольно простыми — не пробовали их распознавать без машинного обучения?
                                          0
                                          Самое первое — влагозащита. Все это вот должно работать под проливным дождем (ну или хотя-бы не перегорать). Второе — это жесты. Если уж делать, то распознавание стандартных жестов, которые вы и так должны делать. Не знаю как у вас, а у нас обычно просто показывают паправление поворота. Т.е. обе руки задействованы. Рука ладонью вниз — тормози, если едет группа. Ну и по мелочи: никаких острых углов — при падении вообще неприятно.

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое