Небольшой робот гоняется за лазерным зайчиком аки кот…
DIY проект.
Шустренький, веселый робот сделан из Ардуино НАНО и камеры OV 7670.
Камера в режиме VGA 640*480. 10 кадров в секунду. Скетч -1 кб.
Если скучно на локдауне, можете сами построить.
Деталюшек на 20-30$.
Собрать не сложно, но для настройки требуются некоторые познания… ;-)
Вот фотки робота.
Вариант 1. В виде неведомой зверушки.
Вариант 2. Роботенок LAHU (Laser Hanter)
Видео ролик, как они бегают.
Зверушка - шустрая и бюджетная.
Роботенок LAHU – подороже.
Заранее смотрим внимательно на фотки, может что забыл…
Чертеж шасси. Печатаем в размер на бумаге, приклеиваем на акрил и вырезаем сами. Или заказываем гравировщиков.
Базовая схема робота. Паяем на макетке.
Как это работает.
Алгоритм простой:
На самом деле, цвет зайчика для камеры – белый, так как очень яркий.
Включаем формат вывода данных с камеры YCbCr 4:2:2 YUYV.
Получаем каждый второй байт – яркость. Белый цвет – последовательность FF(hex) через байт.
Зайчик- последовательность из 4х таких байт.
Берем четыре старших бита данных с камеры + операция 4И.
Получили последовательность бит. Для зайчика будет 1x1x1x1x .
Загоняем ее в регистр сдвига. На выходах регистра ставим опять элемент 4И(Через бит).
Зайчик даст 1 на выходе.
Это - прерывание для НАНО.
Нано ведет подсчет числа строк с начала кадра. В какой строке прерывание- там и зайчик.
Поэтому скетч маленький. Пофигу, какой видеопоток с камеры. Для нано – это всего 1 бит.
Режим - 10 кадров в секунду определяется быстродействием сервомашинок и скоростью робота.
Дергать машинки быстрее не получиться. Да и реакция человека такая -же. При мощном приводе
робот кидался на зайчика и я не успевал отвести лазер.
Можно замерять и время от начала строки – будет расстояние.
Камера установлена так, что строки идут по вертикали. По центру 240 строка. Угол обзора камеры 30 градусов.
Сервой вертим камеру +-30 градусов. Всего обзор будет 3*30 =90. Поворачиваем передние колеса пропорционально номеру строки.
Ловим зайку и включаем движок на всю.
Можно еще приделать УЗ(ИФ) дальномер(чтоб не биться о табуретки) и звуки с карточки.
Места для установки – рядом с большой сервой.
Как, что собрано – смотрим на фото.
Если собираете из игрушки: Выкидываете мотор переднего привода и крепите большую серву на небольшой пластиковой панельке.
Термоклей в помощь. К серве прикрутим передний мост игрушки. Потребуется ловкость рук.
Впереди обязательно нужен выступ, чтоб не биться камерой о препятствия.
Для увеличения угла обзора пробовал объектив «рыбий глаз» - не получается. Он сжимает зайчика меньше чем 4 пикселя.
Объектив на 60 градусов работает. (Объективы для смартфонов за копейки). Только крепить сложно.
Конец первой части.
Во второй части будет про скетч.
P.S.
Этот пост и робот DIY - для тех, кто хочет сам повозиться и поглубже разобраться с электроникой.
Я не торгую набором и запчастями робота.
Пока пишу вторую часть спрашиваем, голосуем.
DIY проект.
Шустренький, веселый робот сделан из Ардуино НАНО и камеры OV 7670.
Камера в режиме VGA 640*480. 10 кадров в секунду. Скетч -1 кб.
Если скучно на локдауне, можете сами построить.
Деталюшек на 20-30$.
Собрать не сложно, но для настройки требуются некоторые познания… ;-)
Вот фотки робота.
Вариант 1. В виде неведомой зверушки.
Вариант 2. Роботенок LAHU (Laser Hanter)
Видео ролик, как они бегают.
Зверушка - шустрая и бюджетная.
Основа-шасси и движок с колесами от игрушки «Бешеный гонщик» из Fix Price за 3$
Ардуино НАНО.
Камера OV7670.
Серво типа MG995.
Серво типа MG90S-1шт. (Синенькие крайне не рекомендую.)
Драйвер для мотора.
Макетная плата 50*70мм.
Любимый регистр сдвига 74НС595.
М/с КР1533ЛИ6 (2*4И) (10руб.)
Маленький выключатель.
Немножко резисторов.
Проводочки, винтики. Термоклей. Батарейки ААА.
Шуба норковая. (Можно немного б\у.)
Ардуино НАНО.
Камера OV7670.
Серво типа MG995.
Серво типа MG90S-1шт. (Синенькие крайне не рекомендую.)
Драйвер для мотора.
Макетная плата 50*70мм.
Любимый регистр сдвига 74НС595.
М/с КР1533ЛИ6 (2*4И) (10руб.)
Маленький выключатель.
Немножко резисторов.
Проводочки, винтики. Термоклей. Батарейки ААА.
Шуба норковая. (Можно немного б\у.)
Роботенок LAHU – подороже.
Шасси- акрил (фанерка)2,5-3 мм . Чертеж – ниже.
Мотор редуктор Ардуино, с креплением.
Драйвер для мотора.
Колеса диаметром 3-5 см (4-8 шт) (Стандартные Ардуино слишком большие и тяжелые.)
Оси нержавеющие 2,5мм L=90мм 1 шт. 40 мм-2 шт.
Ардуино НАНО.
Камера OV7670 с креплением.
Разъемы 2,54.
Серво типа MG995-1шт.
Серво типа MG90S-1шт. (Синенькие крайне не рекомендую.)
Макетная плата 50*70мм.
М/с КР1533ЛИ6 и 74НС595.
Маленький выключатель.
Провод силикон AWG 30 или аналог. 2м
Отсек и аккум. 2шт. 18650(14500).
Винтики, стойки. Двухсторонний толстый скотч.
Мотор редуктор Ардуино, с креплением.
Драйвер для мотора.
Колеса диаметром 3-5 см (4-8 шт) (Стандартные Ардуино слишком большие и тяжелые.)
Оси нержавеющие 2,5мм L=90мм 1 шт. 40 мм-2 шт.
Ардуино НАНО.
Камера OV7670 с креплением.
Разъемы 2,54.
Серво типа MG995-1шт.
Серво типа MG90S-1шт. (Синенькие крайне не рекомендую.)
Макетная плата 50*70мм.
М/с КР1533ЛИ6 и 74НС595.
Маленький выключатель.
Провод силикон AWG 30 или аналог. 2м
Отсек и аккум. 2шт. 18650(14500).
Винтики, стойки. Двухсторонний толстый скотч.
Заранее смотрим внимательно на фотки, может что забыл…
Чертеж шасси. Печатаем в размер на бумаге, приклеиваем на акрил и вырезаем сами. Или заказываем гравировщиков.
Базовая схема робота. Паяем на макетке.
Как это работает.
Алгоритм простой:
На самом деле, цвет зайчика для камеры – белый, так как очень яркий.
Включаем формат вывода данных с камеры YCbCr 4:2:2 YUYV.
Получаем каждый второй байт – яркость. Белый цвет – последовательность FF(hex) через байт.
Зайчик- последовательность из 4х таких байт.
Берем четыре старших бита данных с камеры + операция 4И.
Получили последовательность бит. Для зайчика будет 1x1x1x1x .
Загоняем ее в регистр сдвига. На выходах регистра ставим опять элемент 4И(Через бит).
Зайчик даст 1 на выходе.
Это - прерывание для НАНО.
Нано ведет подсчет числа строк с начала кадра. В какой строке прерывание- там и зайчик.
Поэтому скетч маленький. Пофигу, какой видеопоток с камеры. Для нано – это всего 1 бит.
Режим - 10 кадров в секунду определяется быстродействием сервомашинок и скоростью робота.
Дергать машинки быстрее не получиться. Да и реакция человека такая -же. При мощном приводе
робот кидался на зайчика и я не успевал отвести лазер.
Можно замерять и время от начала строки – будет расстояние.
Камера установлена так, что строки идут по вертикали. По центру 240 строка. Угол обзора камеры 30 градусов.
Сервой вертим камеру +-30 градусов. Всего обзор будет 3*30 =90. Поворачиваем передние колеса пропорционально номеру строки.
Ловим зайку и включаем движок на всю.
Можно еще приделать УЗ(ИФ) дальномер(чтоб не биться о табуретки) и звуки с карточки.
Места для установки – рядом с большой сервой.
Как, что собрано – смотрим на фото.
Если собираете из игрушки: Выкидываете мотор переднего привода и крепите большую серву на небольшой пластиковой панельке.
Термоклей в помощь. К серве прикрутим передний мост игрушки. Потребуется ловкость рук.
Впереди обязательно нужен выступ, чтоб не биться камерой о препятствия.
Для увеличения угла обзора пробовал объектив «рыбий глаз» - не получается. Он сжимает зайчика меньше чем 4 пикселя.
Объектив на 60 градусов работает. (Объективы для смартфонов за копейки). Только крепить сложно.
Конец первой части.
Во второй части будет про скетч.
P.S.
Этот пост и робот DIY - для тех, кто хочет сам повозиться и поглубже разобраться с электроникой.
Я не торгую набором и запчастями робота.
Пока пишу вторую часть спрашиваем, голосуем.
Изменено: