Как все начиналось

Прототип устройства с хакатона
Прототип устройства с хакатона

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

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

Конечно, как и с железячной точки зрения, так и со стороны кода проект достаточно прост (с щепоткой художественной составляющей в виде ожерелья\подвески), но с другой стороны это и упрощает повторение устройства, создание своих версий, их улучшение да и вообще все что угодно. 

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

Понятное дело красивее для прототипа с хакахона понятие относительное ???? 

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

Что же было под рукой

У нас было 2 пакетика травы. Страх и ненависть в Лас-Вегасе. 1998 - YouTube
У нас было 2 пакетика… а нет, все-таки что-то другое
  • Arduino nano 

  • Немного eva foam чтобы собрать «корпус» для прототипа, оставшиеся от моих косплей-проектов 

  • HC-SR04 ультразвуковой дальномер 

  • HW-131 power board 

  • Биппер для того чтобы пищать о дистанции 

  • Таки пакетики светодиодов 

  • Несколько мини вибро-моторчиков 

  • Провода, паяльник и компания 

  • И прочие мелочи 

Сразу замечу, что мои навыки пайки весьма печальны, что вы еще увидите дальше, поэтому держитесь.

Эскизы

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

Затем я сделал фотографию наброска, очистил и поправил контраст, чтобы облегчить последующую работу по моделированию корпуса в Fusion 360. 

Вариант эскиза
Вариант эскиза

Создание первой версии «корпуса» 

Так как дело было во время хакатона, и ждать завершения печати было бы слишком долго (да и принтера под рукой все равно не было, а ездить за ним было бы тоже не особо нужно), то я решил достать из загашника остатки EVA foam и сделать прототип из нее. 

Базовая форма
Базовая форма

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

Докидываем чуток деталей
Докидываем чуток деталей

Дальше с помощью чуть более острого скальпеля удалось вырезать немного деталей, а как финишный этап при помощи паяльника нанести борозды-«перья» (если будете работать c eva foam, паяльник отличный вариант для придания текстуры дерева, чешуек, «органических» текстур и так далее). 

Базовая покраска
Базовая покраска

После чего я быстро нанес базовый слой «грунта» с помощью столярного ПВА (который закрывает поры и образует пленку на еве – бюджетный способ ее «грунтовки» и подготовки к окраске если у вас под рукой нет латексного грунта, plastidip и прочих гибких аналогов). 

После высыхания слоя опять таки на скорую руку сделал покраску – базовый черный цвет акрилом и поверх используя технику «dry brush» (хотя тут скорее была сухая губка для мытья посуды) нанес слой серебряного акрилового металика. 

3d печатный корпус

Также я, естественно, подумал о том, чтобы сделать 3d модельку для «корпуса», но в рамках хакатона удалось сделать только базовую модельку. Естественно для моделирования я использовал Fusion 360 – благо уже был опыт моделирования, да и сделать модельку по скетчу и нужным размерам. 

И естественно в рамках хакатона времени на то, чтобы уже напечатать вариант «корпуса», а потом и сделать еще несколько итераций исправляя ошибки и экспериментируя уже и не было, так что это отложим ближе и к настоящему времени, и к концу статьи. 

Ссылка на модель - https://a360.co/3eIkNEf

Рисуем схему подключения датчиков к Arduino Nano

Как видно из схемы, все просто и в лоб решается – пищалка, ультразвуковой дальномер, Arduino nano, питание и светодиодик. 

Также по мере работы было решено докинуть простейшие вибро-моторчики (крайне-маленького размера)

Лирическое отступление про превращение в более-менее реальное устройство

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

Пишем код 

Хакатон-стиль написания кода – то еще приключение, поэтому стиль и красота там обычно весьма сомнительна. 

Код лежит на github - https://github.com/m0rg0t/OwlEye/ 

По константам по коду все ясно, видно к каким пинам ардуинки что подключено

const int VIBRO_PIN = 2; //Digital pin where vibro attahed
const int LED_PIN = 3; //Digital pin where led attached
const int BUZZER_PIN = 4; //Digital pin where buzzer sound stuff is attached
const int HC_TRIG_PIN = 12; //Triger pin of HC-SR04 sensor
const int HC_ECHO_PIN = 13; //Echo pin of HC-SR04 sensor

Так же, как и с переменными, регулирующими длительность сигналов пищалки и вибро

const int MIN_TIME = 10; //minimal amount of time we use
const int SIGNAL_INCREMENT_TIME = MIN_TIME * 3;
const int SIGNAL_PLAY_TIME = 20;

const int VIBRO_ADDITIONAL_TIME = 10;

Сборка устройства

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

Ну и термо-сопли были моим лучшим другом чтобы зафиксировать все что я наворотил. 

Тестирование

Следующим этапом шло непосредственное тестирование устройства и отладка для более-менее полноценной работы 

И конечно уличные тесты

Попытки печати мини версии корпуса

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

И, собственно, вот и пример такого фейла:

Успешно была напечатана только “голова” совы, но из-за невнимательности я не проверил корректность размеров модели, и получил в итоге вот такую вот разницу

Немного выводов и пара слов про хакатоны

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

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

И как и говорил, простота в данном случае является и плюсом - если кто-то захочет попробовать сделать похожее устройство и оно кому-то поможет - это будет великолепно

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

Всем добра и интересных экспериментов!

Комментарии (16)


  1. VT100
    12.08.2023 16:45
    +5

    Так-то — плюс.
    Но "HW-131 power board" с линейными стабилизаторами — не место в мобильном устройстве.


    1. m0rg0t Автор
      12.08.2023 16:45

      Насколько припоминаю из-за того что он большую часть энергии тратит по сути на тепло? (Прощай батарейка на бесполезные дела)

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

      Спасибо за информацию


      1. VT100
        12.08.2023 16:45
        +2

        Всё верно, низкий КПД.


      1. GennPen
        12.08.2023 16:45
        +2

        Насколько припоминаю из-за того что он большую часть энергии тратит по сути на тепло? (Прощай батарейка на бесполезные дела)

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


      1. MountainGoat
        12.08.2023 16:45
        +3

        Тут на хабре лет пять назад была эпичная статья про заряжание мобильника от Кроны (спойлер: хрен там). Так вот в комментах вопросы КПД преобразователей обсудили очень подробно.


  1. Elmot
    12.08.2023 16:45
    +2

    Затея отличная, но я бы реализовал это на датчиках time of flight и более умственном вибромоторе. Некоторые датчики матричные, а разные вибрации могут более точно подсказать, в каком секторе препятствие.
    Плюс КПД будет куда лучше.


    1. m0rg0t Автор
      12.08.2023 16:45

      Да, тоже хороший вариант для теста

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


      1. m0rg0t Автор
        12.08.2023 16:45

        А с учетом их цены и размера можно насыпать их и больше, главное чтобы вибрация считывалась более-менее однозначно


    1. NNMTM
      12.08.2023 16:45

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


      1. m0rg0t Автор
        12.08.2023 16:45
        +1

        Собственно вибромоторы и использую (битер больше для себя закинул для упрощения тестирования)


  1. bazilevichla
    12.08.2023 16:45
    +1

    На канале "Stuff Made Here" видел проект, где автор использовал камеры планшета для определения расстояний до объектов (через параллакс, если правильно помню) в своём приложении, которое потом передавало эту информацию человеку через сомнительный но самодельный физический интерфейс (можете посмотреть, если интересно)

    Так вот, мне кажется, что камера смартфона для подобной задачи перспективнее, потому что даже слепые ими могут пользоваться (да, я не ошибаюсь, видел, как это делает The Blind Surfer) благодаря специальным возможностям устройств.

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


    1. m0rg0t Автор
      12.08.2023 16:45

      Про наушник - мне говорили что для улицы это не очень хорошо, так как перерывает доступный канал информации для человека

      С камерой конечно в той же тесле делают определение препятствий и их классификацию, но полагаются только на нее было бы пока рискованно. А так да, в смартфонах различных accessibility возможностей хватает для использования их «на слух», но часто бывает (особенно в наших реалиях, особенно если человек с нарушениями зрения в возрасте) что у людей есть только кнопочные телефоны.

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


  1. remzalp
    12.08.2023 16:45
    +1

    На что только не пойдёшь, лишь бы не реализовать прибор из "Чужих"
    На что только не пойдёшь, лишь бы не реализовать прибор из "Чужих"

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


    1. m0rg0t Автор
      12.08.2023 16:45

      Я если честно для косплея как-нибудь хочу более-менее рабочее собрать :)


  1. Vsevo10d
    12.08.2023 16:45
    +2

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


    1. m0rg0t Автор
      12.08.2023 16:45

      Согласен что не решение для всех случаев.

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

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