Как стать автором
Обновить

Ожерелье OwlEye — помощь слабовидящим

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.2K

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

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

Все началось еще в 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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 18: ↑18 и ↓0+18
Комментарии16

Публикации

Истории

Ближайшие события

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань