Предлагается сделать домашнего робота, отличительными чертами которого будут:
— относительная простота создания (как по времени, так и трудозатратам),
— недорогие комплектующие,
— доступный софт,
— возможность удаленного управления, в том числе через интернет,
— возможность бесшумно передвигаться,
— наличие веб-камеры, которая (которой):
> вещает в сеть
> можно удаленно управлять(поворотная камера по осям x и y, pan-tilt)
> имеет возможность фото-, видео- съемки с сохранением на диск и скачивания данных медиа
> можно управлять настройками (экспозиция, баланс и т.п.)
> поддерживает день|ночь
> может сохранять снимки при наличии движения (motion detection).
— возможность управлять режимом работы для экономии батареи, в том числе пробуждаться и засыпать, контролировать заряд батареи.
![](https://habrastorage.org/webt/iv/lq/x2/ivlqx2sj5onotvvz6kgqex5vm34.gif)
Данный проект был создан более 3 лет назад и в течение этих 3-ти лет с ним многое происходило. Рождались и умирали ардуины, добавлялся и также отходил к праотцам речевой интерфейс, менялись драйверы двигателей, блоки питания, части советского железного конструктора, камеры для raspberry pi.
Не хватало только способа сэкономить энергию, так как работы батареи (powerbankа) робота хватало на 8-10 часов без слишком активной езды, но с постоянно работающей камерой и двигателями в режиме ready-to-go.
И вот, относительно недавно появилось решение для поставленной задачи. Данное решение потребовало в очередной раз перепахать весь проект, чтобы вспомнить что и как там реализовано.
Поэтому, пойдем по свежим следам.
Некоторые решения могут показаться странными, но к ним привела практика, поэтому будут соответствующие пояснения.
![](https://habrastorage.org/webt/fm/fv/-x/fmfv-x49oma07jdg9-g-fyujiq0.png)
— траки (chassis) — как вариант — ссылка
Лучше брать именно траки, так как колеса, а также омни-колеса в домашних условиях плохо себя проявили, проскальзывая либо застревая. Кроме того, чем шире и выше база танка, тем лучше проходимость через пороги. Плюс — возможность поместить батарею под базу, сделав танк еще более устойчивым.
Траки можно брать «голые» без всяких там ардуин, пультов и т.п.
![](https://habrastorage.org/webt/qv/g3/va/qvg3va1eyxn5tjpfj3quwa8mi64.png)
— raspberry pi 3b+
Основной одноплатник, на котором будет все работать. Желательно взять для него корпус с возможностью доступа к gpio. Без корпуса все будет значительно быстрее пылиться и ржаветь.
Сразу ответим на попутные вопросы:
Почему не raspberry pi 4? — более энергозатратная, нужен кулер, нестандартный powerbank и т.д. Почему не pi zero — видео немного подтормаживает, но, в принципе, на ней тоже должно все завестись.
Почему не другие одноплатники (бананы, оранжи, одроиды и т.п.) — так исторически сложилось.
![](https://habrastorage.org/webt/pq/qg/1q/pqqg1qkelkqe7oqxufqcv1_8iqi.png)
-гребенки для gpio raspberry pi (8PCS,2X20(40 Pin) Extra Tall Female 0.1 Inch Pitch Stacking Header for Raspberry Pi A+/B+/Pi 2/Pi 3 Extra Tall Header) — как вариант — ссылка
![](https://habrastorage.org/webt/mm/nn/zq/mmnnzqkxx1gsbu7ya9mgermon70.png)
-Witty Pi 3 Mini — как вариант — ссылка
Это единственная «шапка» для raspberry pi. Она как раз и будет отвечать за питание, а также режим работы робота.
*для шапки можно также взять LM29150 и впаять на плату. Это позволить питать raspberry не только от 5V, но и выше (до 8V). Об этом есть в инструкции в шапке.
![](https://habrastorage.org/webt/tm/e5/l1/tme5l1jmrz7is5p9xgkwy7mlcoo.png)
— csi-камера для raspberry pi. Работает быстрее, чем usb камера, занимает меньше места. Лучше брать «рыбий глаз» с автоматическим переключением день/ночь (характерный проводок от камеры на фото) — как вариант — ссылка.
![](https://habrastorage.org/webt/ki/pb/6y/kipb6y9_dm7raceq8rbbswheds8.png)
— sg-90 сервы — 2 шт. Хлипкие, но ими можно напрямую управлять с gpio raspberry pi без страха спалить пины.
![](https://habrastorage.org/webt/q4/zw/fv/q4zwfvc95kp4sojjjj0y7ncdujk.png)
— пластиковый подвес для серв (Servo bracket PT Pan/Tilt Camera Platform Anti-Vibration Camera Mount for Aircraft FPV dedicated nylon PTZ for 9G SG90) — как вариант — ссылка.
Для raspberry pi есть особые pan-tilt шапки, но они на порядок дороже.
![](https://habrastorage.org/webt/2-/jg/jg/2-jgjgfmgwbm51jazmqfh9crf9q.png)
— l298n — 1 шт. — драйвер двигателей.
![](https://habrastorage.org/webt/me/07/jw/me07jwofei4smgxso5naoyr76y4.png)
— usb повышающий преобразователь с 5V до 12V — 1шт. (DC-DC 5V to 12V 5W USB Step Up Power Supply Module Boost Converter Voltage Board 4.2V-5.2V) — как вариант — ссылка
— powerbank c 2-мя выходами usb (для питания двигателей и raspberry pi).
![](https://habrastorage.org/webt/ag/tr/xe/agtrxehfaig7xjcon_la6xmvdvg.png)
— провода, делали советского конструктора как средства крепежа, стойки.
Все. Нет никаких аккумуляторов 18650 и ардуин.
Бюджет: до 15т.р., самое дорогое — траки.
Останавливаться на том как собрать траки (chassis) мы не будем, так как, в зависимости от выбранного варианта, сборка может отличаться. Кроме того, как правило, продавец траков дает инструкцию или ссылку на нее. Например такую — посмотреть.
Единственная ремарка: от двигателей идут сразу несколько проводов. Нам понадобятся только пары красный-черный, питание и земля.
Как собирать подвес вместе с sg-90, мы также не будем останавливаться. Необходимо только иметь в виду, что перед закреплением в подвес сервы должны находиться в среднем положении (угол — 90 градусов). Это нужно для того, чтобы подвес имел ход движения во все стороны, а не имел перекос в одну из них. Так что лучше сначала выставить сервы, а потом их закреплять.
Также по поводу серв. В проекте есть возможность управлять сразу двумя сервами (влево-вправо, вверх-вниз).
Но практика показала, что лучше влево-вправо не использовать по двум причинам:
— можно потерять направление робота,
— крепежные элементы sg-90 хлипкие и быстро изнашиваются.
Взглянем на схему подключения:
![](https://habrastorage.org/webt/pc/ka/8s/pcka8safdd9cy901fwipktbcx_u.jpeg)
В принципе, ничего сложного нет. На драйвере двигателей l298n выводы ENA и ENB не задействованы и на них должны стоять перемычки.
Шим сигнал не используется и робот не сможет плавно разгоняться и тормозить. Это сделано намеренно, так как при плохом wi-fi или иных задержках робот по разному реагировал на управляющие сигналы. Вместо этого используются паузы в скриптах. Как это реализовано будет показано позднее.
Вместо блока батарей подразумевается powerbank. Здесь же пригодится usb повышающий преобразователь с 5V до 12V.
Питание на raspberry pi подается через wittypi 3 mini. Дополнительно питать одноплатник и сервы не нужно.
В завершение немного
Продолжение следует.
— относительная простота создания (как по времени, так и трудозатратам),
— недорогие комплектующие,
— доступный софт,
— возможность удаленного управления, в том числе через интернет,
— возможность бесшумно передвигаться,
— наличие веб-камеры, которая (которой):
> вещает в сеть
> можно удаленно управлять(поворотная камера по осям x и y, pan-tilt)
> имеет возможность фото-, видео- съемки с сохранением на диск и скачивания данных медиа
> можно управлять настройками (экспозиция, баланс и т.п.)
> поддерживает день|ночь
> может сохранять снимки при наличии движения (motion detection).
— возможность управлять режимом работы для экономии батареи, в том числе пробуждаться и засыпать, контролировать заряд батареи.
![](https://habrastorage.org/webt/iv/lq/x2/ivlqx2sj5onotvvz6kgqex5vm34.gif)
Небольшая вводная
.Данный проект был создан более 3 лет назад и в течение этих 3-ти лет с ним многое происходило. Рождались и умирали ардуины, добавлялся и также отходил к праотцам речевой интерфейс, менялись драйверы двигателей, блоки питания, части советского железного конструктора, камеры для raspberry pi.
Не хватало только способа сэкономить энергию, так как работы батареи (powerbankа) робота хватало на 8-10 часов без слишком активной езды, но с постоянно работающей камерой и двигателями в режиме ready-to-go.
И вот, относительно недавно появилось решение для поставленной задачи. Данное решение потребовало в очередной раз перепахать весь проект, чтобы вспомнить что и как там реализовано.
Поэтому, пойдем по свежим следам.
Некоторые решения могут показаться странными, но к ним привела практика, поэтому будут соответствующие пояснения.
Перечень комплектующих
.![](https://habrastorage.org/webt/fm/fv/-x/fmfv-x49oma07jdg9-g-fyujiq0.png)
— траки (chassis) — как вариант — ссылка
Лучше брать именно траки, так как колеса, а также омни-колеса в домашних условиях плохо себя проявили, проскальзывая либо застревая. Кроме того, чем шире и выше база танка, тем лучше проходимость через пороги. Плюс — возможность поместить батарею под базу, сделав танк еще более устойчивым.
Траки можно брать «голые» без всяких там ардуин, пультов и т.п.
![](https://habrastorage.org/webt/qv/g3/va/qvg3va1eyxn5tjpfj3quwa8mi64.png)
— raspberry pi 3b+
Основной одноплатник, на котором будет все работать. Желательно взять для него корпус с возможностью доступа к gpio. Без корпуса все будет значительно быстрее пылиться и ржаветь.
Сразу ответим на попутные вопросы:
Почему не raspberry pi 4? — более энергозатратная, нужен кулер, нестандартный powerbank и т.д. Почему не pi zero — видео немного подтормаживает, но, в принципе, на ней тоже должно все завестись.
Почему не другие одноплатники (бананы, оранжи, одроиды и т.п.) — так исторически сложилось.
![](https://habrastorage.org/webt/pq/qg/1q/pqqg1qkelkqe7oqxufqcv1_8iqi.png)
-гребенки для gpio raspberry pi (8PCS,2X20(40 Pin) Extra Tall Female 0.1 Inch Pitch Stacking Header for Raspberry Pi A+/B+/Pi 2/Pi 3 Extra Tall Header) — как вариант — ссылка
![](https://habrastorage.org/webt/mm/nn/zq/mmnnzqkxx1gsbu7ya9mgermon70.png)
-Witty Pi 3 Mini — как вариант — ссылка
Это единственная «шапка» для raspberry pi. Она как раз и будет отвечать за питание, а также режим работы робота.
*для шапки можно также взять LM29150 и впаять на плату. Это позволить питать raspberry не только от 5V, но и выше (до 8V). Об этом есть в инструкции в шапке.
![](https://habrastorage.org/webt/tm/e5/l1/tme5l1jmrz7is5p9xgkwy7mlcoo.png)
— csi-камера для raspberry pi. Работает быстрее, чем usb камера, занимает меньше места. Лучше брать «рыбий глаз» с автоматическим переключением день/ночь (характерный проводок от камеры на фото) — как вариант — ссылка.
![](https://habrastorage.org/webt/ki/pb/6y/kipb6y9_dm7raceq8rbbswheds8.png)
— sg-90 сервы — 2 шт. Хлипкие, но ими можно напрямую управлять с gpio raspberry pi без страха спалить пины.
![](https://habrastorage.org/webt/q4/zw/fv/q4zwfvc95kp4sojjjj0y7ncdujk.png)
— пластиковый подвес для серв (Servo bracket PT Pan/Tilt Camera Platform Anti-Vibration Camera Mount for Aircraft FPV dedicated nylon PTZ for 9G SG90) — как вариант — ссылка.
Для raspberry pi есть особые pan-tilt шапки, но они на порядок дороже.
![](https://habrastorage.org/webt/2-/jg/jg/2-jgjgfmgwbm51jazmqfh9crf9q.png)
— l298n — 1 шт. — драйвер двигателей.
![](https://habrastorage.org/webt/me/07/jw/me07jwofei4smgxso5naoyr76y4.png)
— usb повышающий преобразователь с 5V до 12V — 1шт. (DC-DC 5V to 12V 5W USB Step Up Power Supply Module Boost Converter Voltage Board 4.2V-5.2V) — как вариант — ссылка
— powerbank c 2-мя выходами usb (для питания двигателей и raspberry pi).
![](https://habrastorage.org/webt/ag/tr/xe/agtrxehfaig7xjcon_la6xmvdvg.png)
— провода, делали советского конструктора как средства крепежа, стойки.
Все. Нет никаких аккумуляторов 18650 и ардуин.
Бюджет: до 15т.р., самое дорогое — траки.
Как все собрать.
Останавливаться на том как собрать траки (chassis) мы не будем, так как, в зависимости от выбранного варианта, сборка может отличаться. Кроме того, как правило, продавец траков дает инструкцию или ссылку на нее. Например такую — посмотреть.
Единственная ремарка: от двигателей идут сразу несколько проводов. Нам понадобятся только пары красный-черный, питание и земля.
Как собирать подвес вместе с sg-90, мы также не будем останавливаться. Необходимо только иметь в виду, что перед закреплением в подвес сервы должны находиться в среднем положении (угол — 90 градусов). Это нужно для того, чтобы подвес имел ход движения во все стороны, а не имел перекос в одну из них. Так что лучше сначала выставить сервы, а потом их закреплять.
Также по поводу серв. В проекте есть возможность управлять сразу двумя сервами (влево-вправо, вверх-вниз).
Но практика показала, что лучше влево-вправо не использовать по двум причинам:
— можно потерять направление робота,
— крепежные элементы sg-90 хлипкие и быстро изнашиваются.
Взглянем на схему подключения:
![](https://habrastorage.org/webt/pc/ka/8s/pcka8safdd9cy901fwipktbcx_u.jpeg)
В принципе, ничего сложного нет. На драйвере двигателей l298n выводы ENA и ENB не задействованы и на них должны стоять перемычки.
Шим сигнал не используется и робот не сможет плавно разгоняться и тормозить. Это сделано намеренно, так как при плохом wi-fi или иных задержках робот по разному реагировал на управляющие сигналы. Вместо этого используются паузы в скриптах. Как это реализовано будет показано позднее.
Вместо блока батарей подразумевается powerbank. Здесь же пригодится usb повышающий преобразователь с 5V до 12V.
Питание на raspberry pi подается через wittypi 3 mini. Дополнительно питать одноплатник и сервы не нужно.
В завершение немного
фото
:
![](https://habrastorage.org/webt/oq/qi/7s/oqqi7szf9i-kic56y4q_wzfo_ji.jpeg)
![](https://habrastorage.org/webt/ht/hg/mj/hthgmjwyhny0wj6pezyacenlyvy.jpeg)
![](https://habrastorage.org/webt/_1/va/cq/_1vacqullv9e1ouxrbdgdzsfwn8.jpeg)
![](https://habrastorage.org/webt/ry/uk/8q/ryuk8qxr2jbygewuxjui2haa_sk.jpeg)
![](https://habrastorage.org/webt/we/fa/4c/wefa4cluaccaag4takyajfusjb0.jpeg)
![](https://habrastorage.org/webt/nj/a4/qh/nja4qhfqkrrkoejmicvrykqlqys.jpeg)
![](https://habrastorage.org/webt/p3/nj/e1/p3nje137m60lxl2dxolyitqhme4.jpeg)
![](https://habrastorage.org/webt/oq/qi/7s/oqqi7szf9i-kic56y4q_wzfo_ji.jpeg)
![](https://habrastorage.org/webt/ht/hg/mj/hthgmjwyhny0wj6pezyacenlyvy.jpeg)
![](https://habrastorage.org/webt/_1/va/cq/_1vacqullv9e1ouxrbdgdzsfwn8.jpeg)
![](https://habrastorage.org/webt/ry/uk/8q/ryuk8qxr2jbygewuxjui2haa_sk.jpeg)
![](https://habrastorage.org/webt/we/fa/4c/wefa4cluaccaag4takyajfusjb0.jpeg)
![](https://habrastorage.org/webt/nj/a4/qh/nja4qhfqkrrkoejmicvrykqlqys.jpeg)
![](https://habrastorage.org/webt/p3/nj/e1/p3nje137m60lxl2dxolyitqhme4.jpeg)
Продолжение следует.
densss2
Большое спасибо за статью! Pi-tank — это интересно. Только не делайте Pi-stolet! :)