Найти в Дзене

👁️Кибер глаз своими руками!

Хэлоу ребят, я тут решил немного поразвлечься и сделать спецвыпуск по поводу праздника, который у нас не особо любят. Значит что мы будем сегодня делать: есть у адафрутов проект бионический глаз, который вставляется в наши с доктором дью любимые очки газосварщика. С точки зрения кода этот готовый проект мне абсолютно не интересен, мне интересен механизм, а именно – его система координат. К этому мы вернёмся позже, для начала давайте соберём всю механику и подключим электронику. Ссылку на оригинальный проект я оставлю в описании под видео. Нам понадобятся очки газосварщика, вот такие металлические, или вот такие пластиковые, пластиковые подходят лучше но они конечно хлам, у меня сразу же отвалились боковушки и пришлось их приклеить. Брал в магазине всеинструменты, ссылочки оставлю на странице проекта. Понадобятся вот такие напечатанные на 3д принтере запчасти, я печатал белым пла. Файл содержит сразу все три модели, печатаем с поддержками. Печатал кстати на новом 32 битном flyingbear

Хэлоу ребят, я тут решил немного поразвлечься и

сделать спецвыпуск по поводу праздника, который у нас

не особо любят.

Значит что мы будем сегодня делать: есть у адафрутов

проект бионический глаз, который вставляется в наши

с доктором дью любимые очки газосварщика.

С точки зрения кода этот готовый проект мне абсолютно

не интересен, мне интересен механизм, а именно – его

система координат.

К этому мы вернёмся позже, для начала давайте соберём

всю механику и подключим электронику.

Ссылку на оригинальный проект я оставлю в описании

под видео.

Нам понадобятся очки газосварщика, вот такие металлические,

или вот такие пластиковые, пластиковые подходят лучше

но они конечно хлам, у меня сразу же отвалились боковушки

и пришлось их приклеить.

Брал в магазине всеинструменты, ссылочки оставлю на странице

проекта.

Понадобятся вот такие напечатанные на 3д принтере запчасти,

я печатал белым пла.

Файл содержит сразу все три модели, печатаем с поддержками.

Печатал кстати на новом 32 битном flyingbear ghost 4s, обзор

на него выйдет через несколько дней.

Принтер наконец допилили до состояния конфетки,

за исключением пары поправимых моментов, и на грядущей

распродаже 11 ноября он будет стоить 19 тысяч, напомню

самая первая кривая версия принтера стоила 24 тысячи,

так что люто безумно рекомендую медведа 4S к приобретению.

Кто считает что дорого – скажите это своему смартфону.

Напомню, лично я хожу с редми 4 про, который стоил

8 тысяч, и хожу я с ним уже почти 4 года и менять особо

не собираюсь.

Помимо принтера на распродаже можно будет выгодно взять

много крутых железок, у меня на канале есть обзоры

на различные китайские инструменты, ну и на сайте

у меня не забывайте есть подборки инструментов

и всяких интересных электронных штук, начиная от вайфай

розеток и заканчивая всякими модулями для робототехнических

самоделок и прочих крутых хобби.

На распродаже будет действовать система купонов, поэтому

прямо сейчас переходите по ссылке в описании, получайте

купоны и набивайте корзинку.

Вернёмся к очкам.

Нам понадобится платформа ардуино модели нано.

Литиевый пакетик, аккумулятор, повышающий до 5 вольт преобразователь,

и выключатель.

Сервомашинки микро микро, не стандартные 9 граммовые,

а ещё меньше.

Ссылки на алик я оставлю на странице проекта у себя

на сайте.

Первым делом нам нужно закрепить приводы вот таким

образом, вот более понятная картинка.

Сдираем наклейку.

И при помощи суперклея всё это дело соединяем.

Кстати китайские сервы видимо чуть отличаются,

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

Ушки лучше отрезать, они будут мешать.

Далее к нижнему приводу, вот как я держу, цепляем

качалку и проворачиваем вал против часовой стрелки.

Вставляем в глаз.

Упираем торчащий привод в самый край вот так вот

и вставляем выходной вал в отверстие внутри глаза.

Длинный комплектный винтик чуть укорачиваем при помощи

кусачек.

И закручиваем, закрепив таким образом внутренний

привод.

Если имеется сервотестер, то можно проверить работоспособность

механизма.

Насаживаем вторую часть на вал второго привода.

И тоже прикручиваем.

Должны совместно работать.

Я написал простенький код, который плавно поворачивает

приводы на случайный угол, собственно вот так всё

работает.

Центр глаза оказался чуть смещённым, поэтому находим

фактический центр и рисуем зрачок.

Ух ну давайте пострашнее сделаем.

Деталь вставляется в очки.

Не вставляется.

Нужно чутка снять фаску.

И собираем.

Соединяем компоненты по схеме, схема есть на странице

проекта у меня на сайте, там же есть все исходники

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

в описании под видео.

Тестировать очки нам поможет серёга.

Серёга, моргни если тебя обижают.

Сейчас каждый привод просто встаёт на случайный угол,

и в принципе можно уже так и оставить, но помните я

говорил про механизм и систему координат?

Щас будем дисерт писать.

Значит механизм вращается по двум осям, но не по тем,

по которым вращается человеческий глаз.

То есть заставить такой механизм вести себя именно

как человеческий глаз невозможно, но можно попробовать попытаться

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

было поставить зрачок в любое желаемое положение.

Итак, у нас есть два угла, назовём их х и у.

У это малый угол наклона глаза, а х – угол поворота

глаза на 180 градусов.

Для достижения всех возможных положений нам нужно управлять

обоими углами, и тут есть своя специфика.

Давайте рассмотрим самое простое, движение по окружности

с максимальным радиусом.

Как вы можете видеть, всё не так просто.

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

в которой можно задать угол поворота глаза и радиус,

то есть удаление зрачка от центральной точки, 0

0.

В верхней полуокружности мы работаем от половины

угла у до его максимального значения, а в нижней – от

минимального до половины.

Ну и как вы можете видеть, у серёжи всё получается.

Теперь движение глаза можно запрограммировать более

интересным образом.

Ну и давайте уже спаяем электронику, всё как на

схеме.

Всё это дело запрячем в коробочку из под тик так.

Ну и раз у нас всё таки киберглаз, давайте сменим огонь на

синий.

Вот такой вот прикол.

Продолжим теоретические изыскания.

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

позже расскажу зачем.

Здесь всё просто, нам поможет сишная функция атан2, которая

возвращает угол в радианах от –п до п, и функция hypot,

которая посчитает длину гипотенузы по тем же двум

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

предыдущей функции.

И таким вот нехитрым образом серёга теперь может поворачивать

глаз именно туда, куда я попрошу.

Я попросил вверх вниз вправо влево.

Зачем это нужно?

Я как увидел этот проект на сайте адафрутов, сразу

понял, что хочу добавить гироскоп, при помощи которого

глаз будет поворачиваться туда же, куда голова, что

возможно будет очень забавно выглядеть.

Собственно добавил я гироскоп, вот так оно выглядит на

схеме, это mpu6050.

И в коде я делаю так, чтобы показания с гироскопа отклоняли

глаз.

Через фильтр естественно.

И что мы получаем в итоге?

Глаз чуть запаздывает за поворотом головы, и создаётся

эффект, что он вот прям поворачивается и смотрит

на тебя.

По вертикали работает чуть хуже, но это уже особенность

кинематики глаза.

В общем вот такой немного математический вышел проект,

лично мне было жутко интересно с этим ковыряться и надеюсь

роботизированных штук на канале будет со временем

больше.

Если вы хотите так же лихо программировать всякие

штуки – жду вас на своём втором канале заметки ардуинщика,

там уже давно вышел базовый курс по программированию

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

и расширенных текстовых уроков, и уроки там продолжат

выходить в ближайшее время.

Читайте, учитесь, присоединяйтесь к этому невероятно интересному

хобби, на канал только не забудьте подписаться.

С вами был алекс гайвер, до скорой встречи!