Идея простая, мы хотим, чтобы машинка подключалась к домашнему роутеру и могла управляться со смартфона из любой точки планеты где есть интернет. Причем не просто управлялась, а еще транслировала видео с бортовой камеры в реальном времени, а может ещё и звук.
Закупаться с компонентами будем конечно же на Алиэкспресс. Список необходимы компонентов найдете на странице проекта.
Это кусок оргстекла, 2 мотора и колеса. По-хорошему, такой проект делается на Raspberry Pi, к которой также нужно докупить камеру и драйверы для управления моторами.
Ну и само собой, придется потратить кучу времени на настройку и написание скриптов под саму Raspberry и еще столько же на разработку «веб морды», с которой все будет управляться. Не так давно автор делал довольно интересный проект с использованием вот такой IP камеры.
Сама камера очень клевая, поворачивается по 2-ум осям, имеет очень большую зону обзора (практически полную сферу), позволяет записывать видео на карту памяти с разрешением 720p, имеет полноценный режим ночного видения с инфракрасной подсветкой, а также у нее есть режим «радио-няня», то есть, помимо наблюдения в реальном времени, можно говорить и слушать из любой точки земного шара соответственно. Ну и собственно эта камера полностью заменит нам Raspberry Pi и ее камеру, и стоит она значительно дешевле. Также у этой камеры уже есть готовое приложение для управления всей кучей ее функций, и ничего нового разрабатывать не придется, остается только сделать так, чтобы при управлении со смартфона мы могли управлять не поворотом камеры, а движением колесной платформы.
Используя родное приложение камеры, двигаться мы сможем пошагово, чуть проехали, повернули, поехали дальше. Не очень впечатляет, но это плата за простоту и доступность.
Голову камеры поворачивают 2 невероятно медленных шаговых моторчика без концевиков. Поэтому сразу после включения, камера вслепую определяет свое положение весьма интересным способом: крутится до упора в одну сторону и продолжает пытаться крутится еще какое-то время чтобы голова камеры точно повернулась максимально в край. То есть, сигнал на мотор идет, он пытается крутится, но конструкция не дает ему повернуться дальше. Затем голова двигается в противоположный край, потом встает по центру и то же самое делает с вертикальной осью, то есть, поворачивается вниз и продолжает пытаться повернуть.
То есть, таким весьма топорным способом, камера определяет нули положения головы. И вот теперь мы можем ею управлять со смартфона, но тут тоже есть любопытный момент. В правом крайнем положении, которое мы назвали нулем, сигнал на мотор продолжает поступать. То есть, мотор пытается крутиться несмотря на то, что ему просто некуда. А вот в левом положении сигнал уже не поступает, то есть, контроллер мотора знает насколько повернулся мотор и не дает ему крутиться дальше. И вот эта недоработка китайцев поможет нам дальше. Давайте уже наконец разберем камеру.
Нет, эти моторы для движения использовать не получится, так как они ну очень медленные. Так что за скорость будут отвечать коллекторные моторы с колесами. Теперь давайте соберем китайскую колесную платформу.
Крепим моторы вместе с креплениями. И вот здесь желательно подлить немного горячего клея, иначе моторы шатаются. Сажаем колеса на оси и машина готова.
Теперь нам нужно придумать, как передать сигналы управления шаговыми движками на коллекторные. Автор не нашел более удобного и гибкого способа, чем использовать платформу arduino.
Она позволит управлять скоростями и временными задержками, что очень удобно. Аrduino nano прибавит к бюджету проекта стоимость одной шаурмы в Москве, или шавермы, если вы из Питера.
Типичный сигнал шаговика выглядит вот так:
Автор подключил все 5 проводов к arduino и решил в цифровом виде посмотреть состояние контактов. И что вы думаете, закономерность переключения контактов отлично прослеживалась и можно было без проблем ее распознать, чтобы определить направление вращения мотора.
Оставим 3 провода с каждого мотора, этого будет более чем достаточно. Будем рассматривать вот такое состояние контактов, потому что при изменении его в любую сторону будет понятно, в какую сторону камера хочет вращать мотор.
Самое сложное позади, осталось подключить моторы с драйверами в единую схему и машинка готова. Собственно, для тех, кто захочет повторить проект, вот схема подключения компонентов:
Запаиваем схему. Паяем аккуратно, чтобы нигде не было «соплей». Самое главное, не допустить их при пайке проводов к драйверу шаговиков. Для надежности также заливаем всё термоклеем.
Конденсаторы на моторах необязательны, но без них может глючить, автор не проверял, но вероятность весьма высокая.
Далее, по инструкции на сайте загружаем в arduino прошивку, которая будет получать сигналы от драйверов и вращать наши моторчики.
Перед загрузкой прошивки можно настроить некоторые параметры, такие как: скорость в разных режимах и тайм-ауты.
Собираем бутерброд из плат, прокладывая каждый слой двухсторонним скотчем. Можно также горячего клея подлить.
Выводим все провода и питание как на схеме и собираем камеру. Провода пропускаем через стойку камеры.
Ну что ж, все работает отлично. Собственно, все работает так, как и должно работать, может даже чуточку лучше. Единственное, что powerbank все-таки тяжеловат, к тому же автор планировал сделать базу для подзарядки машинки, так что будем использовать 1 литиевый аккумулятор и вот такой модуль, который защищает аккумулятор от переразряда, умеет заряжать его от usb и повышает напряжение до 5В, позволяя снять максимальный ток в районе 500мА, нам этого вполне хватит.
От модуля автор отпаял usb разъем, и на всякий случай повесил конденсатор на выход линии 5В для фильтрации помех от преобразователя.
И собственно от него же пойдут провода 5-вольтовой линии питания всех остальных компонентов. Родные крепежные отверстия камеры идеально подошли под прорези на корпусе платформы, так что крепим. Осталось закрепить батарейный отсек, также закрепляем антенны и камеру. Автор зафиксировал ее резиночкой. Это «колхозно», но весьма надежно и позволяет настроить угол камеры над горизонтом.
Все, готова наша IP-машинка. Аккумулятора хватит в лучшем случае на 6 часов. Это если чередовать движение и просто наблюдение через камеру. Так что идея такая: у машинки должна быть база, находясь на которой, она заряжается.
На этой машинка можно неспешно катать по квартире, наблюдать, например, за домашними животными и даже с ними играть, находясь в любом месте на планете где есть интернет. Главная фишка этой схемы в ее доступности и дешевизне.
Благодарю за внимание. До новых встреч!
Видео:
Источник