Оглавление:

Собака-бот: робот-вездеход Lego с веб-камерой: 17 шагов (с изображениями)
Собака-бот: робот-вездеход Lego с веб-камерой: 17 шагов (с изображениями)

Видео: Собака-бот: робот-вездеход Lego с веб-камерой: 17 шагов (с изображениями)

Видео: Собака-бот: робот-вездеход Lego с веб-камерой: 17 шагов (с изображениями)
Видео: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Июль
Anonim
Image
Image

Вот как сделать робота Lego, которым можно управлять с любого экрана по Wi-Fi. В нем также есть веб-камера, чтобы вы могли видеть, куда вы собираетесь, и светодиодные фонари для глаз! Это отличный проект для ваших детей, так как они могут создавать логотипы, и вы можете вовлекать их в столько электроники, сколько им нравится. Существует большая гибкость в том, как вы реализуете этот проект, а это означает, что вы легко разобрать на части и заново перепроектировать. Я нашел полезным, когда я застрял, просто начать заново. После того, как вы проделаете это несколько раз, его довольно легко и быстро восстановить с нуля. Самое замечательное в этом то, что вам не нужно беспокоиться о «поломке» чего-либо, поскольку вы разовьете навыки, позволяющие легко восстанавливать.

Что вам нужно

  • Малина Pi B +
  • Базовый и моторный комплект
  • Опорная плита Lego
  • Промышленный суперклей
  • Дрель
  • Ремесленный нож
  • Паяльное оборудование
  • SD Card
  • Устройство чтения SD-карт
  • Комплект контроллера мотора
  • 2 светодиода
  • веб-камера по средней цене (вы можете попробовать дешевую)
  • ПК и планшет / телефон
  • Wi-Fi роутер, к которому у вас есть доступ администратора
  • Много кусочков Лего
  • Аварийное зарядное устройство для телефона
  • 4 соединительных провода, каждый с как минимум 1 гнездовой клеммой
  • 4 батарейки типа АА (хорошо заряжаются)

Шаг 1: Подготовьте основу

Я начал с базы и двух двигателей, подобных этому, установленному на Amazon.

Возьмите основу из плексигласа и приклейте на нее тонкую пластину из лего. Для этого я использовал промышленный суперклей, который сохнет за считанные минуты и очень прочный. Когда клей закрепится, отрежьте лишнюю опорную пластину Lego, чтобы она следовала линии опорной пластины из плексигласа. затем просверлите отверстия в пластине Lego, соответствующие основе из плексигласа. Я просверливал отверстия по мере необходимости. Теперь у вас есть фундамент для построения вашей конструкции Lego.

Шаг 2: соберите колеса

Соберите колеса
Соберите колеса

Теперь соберите колеса. Следуйте инструкциям производителя здесь. На купленных мною колесах были все инструкции на китайском языке, которые я не мог прочитать, но это было довольно легко понять по фотографиям. После сборки прикрепите провода к двигателям с помощью небольшой капли припоя.

Шаг 3: прикрепите колеса к основанию

Прикрепите колеса к базе
Прикрепите колеса к базе

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

Шаг 4: приготовьте Pi

Подготовьте Пи
Подготовьте Пи

Теперь приготовьте PI. Я использовал модель B + с USB-ключом Wi-Fi. Я использовал образ полного рабочего стола на основе Debian Jessie, который вы можете скачать с сайта Raspbian Pi. Стоит создать SD-карту с нуля и держать образ диска под рукой, так как вы можете легко начать заново. Возможно, вам придется немного погуглить, чтобы выяснить, как создать образ диска на вашем ПК. Я создал свой образ с помощью Ubuntu следующим образом: щелкните правой кнопкой мыши образ диска и выберите «Открыть с помощью средства записи образа диска». Запишите образ на SD-карту. Образ диска довольно мал, поэтому, если у вас есть SD-карта большего размера (например, 30 ГБ), вы можете использовать программное обеспечение для разбиения на разделы, такое как GParted, чтобы использовать все доступное пространство. Как только вы поймете, как это сделать, это займет около 5 минут и действительно того стоит, как будто вы испортили программное обеспечение, которое можно просто переустановить снова.

Шаг 5: Установите плату контроллера

Установите плату контроллера
Установите плату контроллера

Далее вам понадобится плата контроллера мотора. Я использовал комплект от RyanTek. Он поставляется с отличным руководством по пайке, но я думаю, что вы также можете его предварительно припаять. Если вы раньше не паяли, не волнуйтесь, просто сделайте это медленно и немного потренируйтесь, прежде чем приступить к работе с моторной платой.

Теперь прикрепите батарейный блок (с 4 батареями AA) и двигатели к плате контроллера, затем прикрепите плату контроллера к контактам GPIO Pi. Опять же, плата контроллера предоставит вам более подробную информацию. Не беспокойтесь о том, чтобы правильно вставить провода двигателя в нужные гнезда, если они не подключены к гнездам питания постоянного тока. Я не приклеиваю и не прикручиваю Pi или аккумулятор к доске Lego, так как это дает вам больше гибкости при проектировании корпуса Lego. Вы также можете легко изменить свой дизайн по мере продвижения.

Шаг 6: приступайте к созданию тела Lego

Начать конструирование тела Lego
Начать конструирование тела Lego
Начать конструирование тела Lego
Начать конструирование тела Lego

Пришло время построить немного Lego. На этом этапе вы можете вовлечь в игру очень маленьких детей, если они могут держать в руках часть Lego! Мы начали с простого квадратного корпуса, пока все не заработало, а затем стали более смелыми с собачьим ботом. Самое замечательное здесь то, что вы можете сколько угодно перестраивать корпус робота. Начните с создания дома для Пи. Не забудьте оставить место для USB-портов и кабелей питания. Сделайте изрядное количество рыхлости в любом построенном вами доме. Это нормально, если вещи будут немного болтать, и вы не можете быть слишком точными с Lego.

Мы использовали окна Lego, чтобы обеспечить доступ к USB-портам, которые вам понадобятся позже.

Шаг 7: приготовьте Pi

Сейчас хорошее время, чтобы запустить Pi и заставить робота двигаться.

Я разрабатываю код для использования с этим проектом в Git Hub. Прочтите меня на страницах Git Hub, вы ознакомитесь с инструкциями по установке всего программного обеспечения на Pi, но я также проведу вас по шагам здесь.

Сначала запустите Pi, подключив кабель питания. Вам нужно будет подключить кабель HDMI к телевизору и использовать USB-клавиатуру и мышь. Первым делом необходимо подключиться к вашему Wi-Fi. вы делаете это, щелкнув значок в правом верхнем углу рабочего стола Raspian и подтвердив детали. После подключения к Wi-Fi вы можете делать все остальное из командной строки, поэтому, если вы предпочитаете, вы можете подключиться к Pi с помощью ssh, но пока, поскольку мы подключены к телевизору, мы можем открыть терминал с рабочего стола Raspian.

Шаг 8: установите программное обеспечение на Pi

Откройте терминал на Pi и введите следующие команды.

sudo apt-get update

Это обновит Raspian последней версией программного обеспечения.

Затем установите программное обеспечение веб-камеры.

sudo apt-get install motion

На этом этапе вам также необходимо настроить движение. Я перечислил, что и какие файлы нужно обновить, на страницах github. Также есть инструкция о том, как заставить веб-камеру работать на вашем Pi. Изучите настройки и поэкспериментируйте с ними, как только вы освоитесь с настройкой.

sudo apt-get install python-dev python-pip

Это устанавливает библиотеки Python, а также диспетчер пакетов программного обеспечения Python.

sudo pip install 'pubnub> = 4.1.2'

Устанавливается Pubnub, программное обеспечение, которое управляет обменом сообщениями между панелью управления и вашим беспроводным роботом.

Установка этой детали займет некоторое время, так что идите и сделайте чашку чая !!

Шаг 9: Установите программное обеспечение робота

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

git clone

это создаст папку lego-robot в вашем домашнем каталоге.

Прежде чем вы сможете запустить код робота, вам необходимо создать учетную запись PubNub и получить ключ публикации и подписки. вы можете сделать это, следуя инструкциям по началу работы на PubNub. После настройки вам нужно открыть два файла:

  • лего-робот / сервер / keys.py
  • лего-робот / клиент / keys.js

и замените ключи pub и sub своими ключами, которые вы можете получить на панели управления pubnub.

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

Шаг 10: Установите программное обеспечение контроллера и проверьте, что все работает

Установите программное обеспечение контроллера и проверьте, все ли работает
Установите программное обеспечение контроллера и проверьте, все ли работает
Установите программное обеспечение контроллера и проверьте, все ли работает
Установите программное обеспечение контроллера и проверьте, все ли работает

На ПК клонируйте код git-хаба так же, как мы это делали на роботе.

git clone

Возможно, на вашем компьютере не установлен git. В противном случае следуйте инструкциям на сайте git hub.

У вас также есть возможность загрузить код в виде zip-файла, хотя я бы посоветовал установить GIT и скопировать файлы путем клонирования репозитория.

вам необходимо обновить файл lego-robot / client / keys.js с вашими личными ключами публикации и подписки.

Когда вы закончите, откройте файл lego-robot / client / buttons.html в веб-браузере. Теперь вы должны иметь возможность управлять своим роботом с помощью кнопок управления.

На схеме выше показано, что происходит:

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

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

Вы можете покопаться в коде клиента и сервера и увидеть отправляемые сообщения, используя простые ключи, такие как «вперед» и «назад».

Контроллер в стиле джойстика также находится по адресу lego-robot / client / joystick.html.

Я буду улучшать эти контроллеры и постоянно добавлять новые, поэтому, если вы когда-нибудь захотите обновить программное обеспечение, вы можете использовать команду «git pull». Также не стесняйтесь вносить свой вклад в репозиторий git и создавать более удобные элементы управления.

Теперь все готово для проверки работоспособности механизма. На терминале Pi перейдите в каталог lego-robot / server и введите:

sudo python robot.py

это запускает скрипт python для прослушивания входящих сообщений от Pubnub.

Теперь попробуйте нажать несколько кнопок на контроллере, вы должны увидеть эти ответы, полученные на терминале Pi (как показано на рисунке выше), и robot.py переводит эти сообщения в движения, сопоставляя их с сигналами на Pi GPIO.

Вы должны иметь возможность перемещать робота.

Шаг 11. Подготовьте веб-камеру и светодиодные индикаторы

Подготовьте веб-камеру и светодиодные фонари
Подготовьте веб-камеру и светодиодные фонари
Подготовьте веб-камеру и светодиодные фонари
Подготовьте веб-камеру и светодиодные фонари

Вы можете использовать любую веб-камеру, совместимую с Linux (большинство из них). Я бы выбрал средний (около 15 фунтов стерлингов), так как я попробовал очень дешевый и не смог получить от него четкое изображение. Первый шаг - разобрать веб-камеру, чтобы у вас остались только основная плата и камера.

Если вы хотите установить фонари, то возьмите светодиодный фонарь и подключите два соединительных провода к каждой клемме. Я использовал соединительные провода, у которых на одном конце есть клемма-мама, поэтому вы можете легко подключить ее к контактам Pis GPIO позже. Другой конец провода нужно зачистить, чтобы снять клемму. Здесь вы также можете припаять, чтобы обеспечить безопасное соединение. Я также использовал термоусадочную пленку, которую вы можете использовать, чтобы закрыть каждый провод, хотя я бы не стал беспокоиться о том, чтобы сделать с ней слишком хорошую работу, пока вы не будете довольны, что все работает, а затем вы можете закончить и улучшить. Также неплохо использовать резистор, чтобы предотвратить горение светодиода.

Здесь подробно описано, как подключать светодиоды.

Как показано на рисунке, я использую блок Lego с отверстием в нем как простой способ установить светодиод на голову робота.

Шаг 12: Создайте голову с помощью носовой камеры и света

Создайте голову с помощью носовой камеры и фонарей
Создайте голову с помощью носовой камеры и фонарей
Создайте голову с помощью носовой камеры и фонарей
Создайте голову с помощью носовой камеры и фонарей
Создайте голову с помощью носовой камеры и фонарей
Создайте голову с помощью носовой камеры и фонарей

Сделайте головной корпус для камеры. Я не буду здесь слишком конкретным, потому что вам пора проявить творческий подход. Однако вам нужно строить вокруг камеры. Робот-собака интегрирует камеру в нос и имеет глаза как светодиоды. Убедитесь, что вы оставили отверстие на затылке для вывода проводов.

Шаг 13: Завершите тело

Завершить тело
Завершить тело
Завершить тело
Завершить тело
Завершить тело
Завершить тело

Теперь, когда вы довольны тем, что робот-собака в основном движется, вы можете создать корпус для аккумуляторных батарей. Я использовал комплект из 4 батареек AA (поставляемых с колесами и основанием) и комплект аварийного зарядного устройства для телефона. Батарейки AA предназначены для двигателей постоянного тока для колес, а комплект мобильного телефона - для Pi. Хорошая идея - сделать батареи легкодоступными, поскольку вам нужно будет получить к ним доступ для подзарядки и замены.

Как только вы будете счастливы, накройте Пи крышей. Я не слишком беспокоюсь о том, чтобы спрятать провода и схемы, поскольку это часть изображения робота. Однако на этом этапе все зависит от вас. Вы можете подумать, насколько тяжелым становится ваш бот, чем он тяжелее, тем медленнее он движется.

Шаг 14: Установите голову

Установите голову
Установите голову
Установите голову
Установите голову
Установите голову
Установите голову

Пришло время все связать.

Подключите USB-кабель веб-камеры к передней части бота, используя созданные вами отверстия для доступа. Вы можете закрепить провод к роботу, сделав какой-нибудь корпус из конструктора Лего. Я также сократил USB-шнур, отрезав и перепаяв его, но делайте это только в том случае, если вам действительно хочется спаять 4 крошечных провода вместе. Возможно, будет проще купить короткий USB-кабель и снова подключить его к задней части камеры.

Вам также необходимо подключить светодиодные индикаторы к контактам Pis GPIO, которые не используются контроллером платы мотора. Это контакты 20 и 21 GPIO и два запасных контакта заземления рядом. Используйте запасные контакты заземления поблизости. Если индикатор не работает, попробуйте переключить круглую землю с помощью выхода GPIO. Чтобы решить, какие контакты подключить к Google, используйте хорошую схему GPIO.

Шаг 15: проверьте светодиоды и носовую камеру

Проверьте светодиоды и носовую камеру
Проверьте светодиоды и носовую камеру

Чтобы запустить программное обеспечение веб-камеры, введите:

sudo движение

Также убедитесь, что вы запустили скрипт robot.py (как описано в предыдущей инструкции):

sudo python robot.py

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

Веб-камера должна транслироваться на ваш IP-адрес Pis на порт 8080, поэтому, например, введите следующее в свой веб-браузер.

192.168.1.2:8081

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

вы можете изучить параметры конфигурации программного обеспечения управления движением, как описано в предыдущем шаге. Я обнаружил, что иногда потоковая передача приостанавливается, но в целом все работает нормально.

Вы можете получить доступ к этому видеопотоку из любого браузера, подключенного к вашей сети Wi-Fi.

Шаг 16: Завершение

Доступ онлайн

Теперь вы должны иметь возможность управлять роботом из браузера на ПК. Однако приятно иметь возможность управлять ботом с любого сенсорного устройства, такого как iPad или телефон.

Для этого вам необходимо разместить клиентские файлы (buttons.html и т. Д.) На веб-сервере.

Я начал с установки веб-сервера на Pi, который работает нормально. Однако проще просто загрузить HTML-файл на любой другой веб-сервер. Я просто скопировал HTML-файл в свою общедоступную синюю учетную запись хоста. Возможно, вы захотите защитить доступ к этим файлам, поскольку они содержат подключаемые ключи pub к вашему каналу pub nub. Как только вы это сделаете, вы получите доступ к контроллеру с любого устройства, даже вне вашего дома.

Автозапуск

Еще одна полезная вещь - обновить скрипт / etc / rc.local на вашем raspberry Pi; добавив эти две строки:

  • sudo движение
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Они будут запускаться каждый раз при запуске Pi, поэтому вам не нужно запускать команду вручную.

Шаг 17: получайте удовольствие

Повеселись !
Повеселись !

Это все.

Пожалуйста, не стесняйтесь оставлять комментарии, если вы застряли, и если вы хотите улучшить какое-либо программное обеспечение, пожалуйста, внесите свой вклад в репозиторий github. Я продолжу работу над этим проектом и вот несколько идей:

  • Контроллер в стиле «большой трек», где вы программируете последовательность команд, например «влево 10, вперед 6, назад 2…», а затем нажимаете «бег», и робот выполняет команды.
  • Наклоняющаяся шея, чтобы вы могли смотреть вверх с помощью веб-камеры
  • Спикер, который переводит текст с контроллера в речь
  • Голосовое управление

Ваше здоровье

Питер

Рекомендуемые: