Оглавление:

Raspberry Pi 3 FPV Lego Tank: 5 шагов (с изображениями)
Raspberry Pi 3 FPV Lego Tank: 5 шагов (с изображениями)

Видео: Raspberry Pi 3 FPV Lego Tank: 5 шагов (с изображениями)

Видео: Raspberry Pi 3 FPV Lego Tank: 5 шагов (с изображениями)
Видео: Посылка с кучей мелочи охладитель платы заряда боксы ардуино гопро фпв 2024, Ноябрь
Anonim
Raspberry Pi 3 FPV Lego Танк
Raspberry Pi 3 FPV Lego Танк

Lego отлично подходит для обучения детей принципам работы вещей, позволяя им одновременно развлекаться. Я знаю, что в детстве мне всегда нравилось «играть» с лего. В этом руководстве описывается, как я построил бак FPV (вид от первого лица) из lego и Raspberry Pi 3 (Raspi 3). Я постарался сделать это как можно проще, только шаг, на котором вы адаптируете моторы для работы с лего, требует инструментов и немного навыков.

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

### Этот проект в основном является версией 1, поэтому, если вы хотите его улучшить (для чего есть много возможностей), оставьте комментарий. Также весь код будет доступен на моей странице Github, ссылки в шагах

Вам понадобятся:

  • Я использовал Lego Technic Arctic Truck, который у меня лежал. Однако используйте свое воображение, в этом наборе были треки и все необходимое, чтобы они работали, поэтому он был хорош для этого проекта.
  • Raspberry Pi, я использовал Raspberry Pi 3, потому что это то, что у меня было, если у вас есть другая модель, вы можете заставить ее работать, но контакты GPIO будут отличаться.
  • Карта micro SD с установленным Raspian для Raspi 3.
  • Камеры Pi, Adafruit продает несколько, а также различные ленточные кабели разной длины. Купленная мина на Алиэкспресс, с линзой «рыбий глаз» и стоила дешево. Возможно, вы сможете использовать веб-камеру, но камера Pi работает из коробки.
  • USB Power Bank для питания Raspi 3, я думаю, мой стоит 8 долларов, его 2000 мАч, так что Raspi 3 какое-то время работает.
  • Батарея для питания двигателей, я использовал батарею, которую вытащил из дешевой радиоуправляемой машины, она 7,2 вольт, 500 мАч, перезаряжаемая, поэтому работает очень хорошо. Батарея 9 В была бы хороша, но тогда вам также понадобится разъем.
  • Кабели-перемычки для соединения контактов GPIO, минимум 5 розеток на розетки.
  • Плата драйвера двигателя L298N, это довольно дешево и позволяет управлять двигателями отдельно. Они также довольно стандартны для приложений такого типа.
  • 2 x мотор-редуктор постоянного тока, эти от Adafruit хороши, точно такой же можно купить и на Aliexpress

Разное

  • Двусторонняя лента из вспененного материала
  • провод
  • термоусадка
  • Лента
  • резинки
  • кабель micro USB

Если вы собираетесь адаптировать мотор-редукторы постоянного тока, как я, вам понадобятся:

  • канцелярский нож
  • дремель с дисковой пилой
  • мини-файлы
  • 5-минутная эпоксидная смола

Вам также понадобится собственный компьютер / ноутбук для управления и программирования Raspi 3.

Шаг 1: построить резервуар

Построить танк
Построить танк
Построить танк
Построить танк
Построить танк
Построить танк

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

  1. Сначала соберите задние оси

    1. и не забудьте оставить достаточно места для двигателей и сделать их достаточно широкими, чтобы в них поместились ваши компоненты. Я хотел, чтобы мой был достаточно широким, так как я хотел, чтобы все находилось внутри осей, это позволяло танку довольно низко помещаться под предметами и преследовать кошку.
    2. В колесах на гусеницах есть отверстие, которое подходит для поперечной оси Lego, поэтому имейте в виду, что именно здесь будут крепиться ваши моторы.
    3. Вам понадобится достаточно места для гусеницы спереди и сзади. Вы можете заметить на рисунке 2, что элементы «L» не являются семетрическими, это необходимо для обеспечения места для треков. Изначально они были семетрическими, но гусеница продолжала тереться и в какой-то момент заклинила и сломала адаптер двигателя.
  2. После того, как вы построили оси, вы можете их соединить.

    1. регулярное использование длинных бит с крестообразными опорами. Убедитесь, что вы разместили поперечные опоры так, чтобы компоненты поместились между ними, это помогает сохранить низкий профиль.
    2. длина будет зависеть от того, сколько у вас треков. Эта дорожка не имеет растяжения, поэтому необходимо немного провисать. Если у вас есть резиновая гусеница, вы можете сделать ее более плотной. Также ходовое колесо - хорошая идея, но в целом она не нужна.
    3. Этот шаг был мелочью и потребовал всего лишь небольшого количества проб и ошибок.
  3. Моторы, по сути, наклеены двусторонней лентой из вспененного материала, поэтому обеспечьте большую поверхность для их приклеивания.
  4. Изготовленное мной крепление для камеры - довольно хлам, вы обязательно должны попробовать сделать свое собственное. Мне нравится низко, так как на камеру похоже, что ты быстро путешествуешь. Это было бы классное место для обновления с сервоприводом или двумя, чтобы сделать камеру подвижной.

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

Шаг 2: от двигателя коробки передач постоянного тока до адаптера Lego

Мотор-редуктор постоянного тока для адаптера Lego
Мотор-редуктор постоянного тока для адаптера Lego
Мотор-редуктор постоянного тока для адаптера Lego
Мотор-редуктор постоянного тока для адаптера Lego
Мотор-редуктор постоянного тока для адаптера Lego
Мотор-редуктор постоянного тока для адаптера Lego

Опять же, я сделал это перед написанием и не делал никаких фотографий. Я думаю, что для этого существует множество различных руководств. Adafruit на самом деле продает адаптеры, это лучший способ, к тому же вам не нужно разрушать крепления двигателя. Я нахожусь в Новой Зеландии, поэтому Adafruit недоступен, но DIY есть:-). Вот что я сделал (извините за плохие диаграммы):

  1. Подготовьте все свои инструменты, мы будем резать пластик, так что это будет несложно. Я использовал очки для мастерской, потому что лично я ненавижу маленькие кусочки пластика по всему глазу. Я также использовал одну из тех зеленых разделочных досок, чтобы не испортить свой стол.
  2. Итак, на схеме показан вид сверху и сбоку. По сути, серая - это маленькая белая часть двигателя коробки передач постоянного тока, а красная - это место, где мы разрезали. Красный цвет на виде сверху на самом деле должен быть поперечным сечением поперечной оси Lego. Мы собираемся удалить этот материал, чтобы ось плотно вошла внутрь. Постарайтесь обрезать его как можно ближе к центру и почти вплотную к низу. Я начал сначала с грубой резки дисковой пилой на моем дремеле, а затем начал стригать кусочки ножом, пока не получил идеальную подгонку.
  3. После того, как вы отрежете бит и ось станет более или менее прямой (она должна выглядеть как странно сложенная пополам вилка), вы можете смазать поперечную ось Lego эпоксидной смолой. Прежде чем наносить эпоксидную смолу, убедитесь, что вы наклеили малярную ленту на желтый футляр. двигателя, чтобы вы не приклеили вал к корпусу. Хорошо перемешайте 5-минутную эпоксидную смолу и нанесите толстым слоем на белую насадку и поперечную ось, мы ищем слой толщиной 1-2 мм. Эпоксидная смола за 5 минут становится липкой и непригодной для использования довольно быстро, поэтому работайте быстро.
  4. После того, как у вас есть надлежащее покрытие, а эпоксидная смола не растеклась, все готово. Он немного работает, так что будьте осторожны. Как только он станет резиноподобной консистенции, вы можете легко обрезать излишки эпоксидной смолы, так у меня получился красивый плоский конец.
  5. Оставьте его сохнуть на ночь, а к утру у вас должен быть мотор-редуктор Lego DC.

Шаг 3: Подключение

Подключение его
Подключение его
Подключение его
Подключение его
Подключение его
Подключение его

Электромонтаж для этого проекта довольно прост. Мы будем использовать 4 соединительных кабеля «мама-гнездо» для подключения наших контактов GPIO к контроллеру двигателя L298N и соединительный кабель «штекер-гнездо» для подключения заземления Raspi 3 к земле контроллера мотора L298N. Мы также будем использовать провод для подключения двигателей к контроллеру двигателя L298N.

Я решил использовать эту комбинацию контактов на Распи, потому что они сгруппированы вместе. Не стесняйтесь использовать любой набор контактов GPIO и GND. Только не забудьте изменить это в коде.

Вы можете использовать схему подключения или выполнить следующие действия:

Распи 3 L298N

GND (контакт 14) GND

GPIO27 (вывод 13) IN1

GPIO22 (вывод 15) IN2

GPIO23 (вывод 16) IN3

GPIO24 (вывод 18) IN4

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

Out2, Out3 отрицательный

Out1, Out4 положительный

По существу отрицательный был направлен назад, а положительный - вперед. Если вы сделаете их наоборот, танк просто движется в противоположном направлении, что легко исправить с помощью программного обеспечения.

Шаг 4: Программирование

Итак, для этого шага нам нужно будет настроить несколько вещей, если вы еще этого не сделали.

  • Распиан
  • Python 2 или 3
  • Git
  • MJPG-Streamer

Установка Raspian

Во-первых, нам нужно иметь Raspian на карте micro SD, поэтому подготовьте отформатированную SD объемом не менее 8 ГБ (вы также можете установить NOOBS lite, если у вас есть карта только на 4 ГБ).

Для установки Raspian я бы рекомендовал использовать NOOBS. Официальная ссылка здесь. Загрузите zip-файл на свой компьютер и извлеките файлы на SD-карту. Убедитесь, что файлы и папки находятся там, а не в папке noobs.

Как только вы это сделаете, вставьте SD-карту в Raspi 3, подключите экран (телевизор с HDMI отлично подойдет, если у вас нет монитора), а также клавиатуру и мышь.

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

Настройка безголового режима

Итак, как только Raspian установлен и вы вошли в Raspi 3, вы можете начать настраивать Raspi 3 для работы в автономном режиме (то есть использовать SSH вместо экрана и клавиатуры). Просто примечание, что вам нужно будет использовать sudo, поэтому убедитесь, что вы знаете пароль root.

Откройте терминал и введите «sudo raspi-config», у вас должен быть сине-серый экран, как на изображениях. Перейдите к «Параметры взаимодействия», нажмите «Ввод», затем перейдите к «P2 SSH», нажмите «Ввод» и снова введите «да», снова для «ОК».

Теперь вернитесь в «Параметры интерфейса» и включите камеру.

Вернувшись в меню, нажмите вправо и введите, чтобы выбрать «Готово».

Затем нам нужно найти наш IP-адрес, вы можете сделать это, набрав ifconfig в терминале. Найдите блок, начинающийся с wlan0 (обычно последний), и запишите свой IP-адрес. Он должен быть во второй строке и выглядеть примерно так: 192.168.1. XX, если вы используете домашний Wi-Fi.

Отлично, это конец конфигурации

Установка дополнительного ПО

Итак, для запуска имеющихся у меня скриптов вам потребуется установить python 2 или 3. Если вы хотите изучить python, я бы порекомендовал изучить python 3, различия незначительны, но python 3 теперь используется более широко. Он должен быть предустановлен с Raspian, но мы должны просто дважды проверить.

Введите «python --version», вы должны получить результат вроде «Python 2.7.13», что означает, что у вас установлен python 2. Чтобы проверить, есть ли у вас python 3, просто введите python3 --version, и вы должны получить аналогичный результат. Если у вас нет Python 2 или 3, вы можете ввести «sudo apt-get install python» или «sudo apt-get install python3» соответственно.

Вам также понадобится Git, чтобы получить код, опять же, он должен быть предустановлен. Введите git --version, чтобы проверить и использовать sudo apt-get install git, если у вас его нет.

Установка MJPG-Streamer

MJPG-Streamer - один из способов получить доступ к Picamera. Это позволяет вам получить доступ к камере через браузер и управлять изображением. Вероятно, это более приятный и простой способ использовать камеру, если вам неудобно работать с кодом.

  1. Мы снова собираемся использовать Git. Введите git clone https://github.com/jacksonliam/mjpg-streamer.git в терминал Raspi 3. Программное обеспечение будет загружено, это не займет много времени.
  2. Вероятно, лучшее, что можно сделать на этом этапе, - это просмотреть файл README.md и следовать инструкциям по установке. У меня они безупречно сработали. Если у вас есть вопросы, оставляйте их в комментариях, и я постараюсь помочь

После установки вы можете запустить его. Я расскажу, как это сделать, ниже.

Собираем все вместе

Отлично, теперь мы должны быть готовы к работе. Убедитесь, что ваш Raspi 3 включен. На вашем ПК / ноутбуке откройте терминал (я предполагаю, что вы используете Linux или Mac, если вы используете Windows, вам придется загрузить шпатлевку. В Интернете есть множество руководств о том, как использовать это, не волнуйтесь, это просто) и введите ssh [email protected]. XX (при условии, что вы не изменили имя пользователя по умолчанию) или любой другой IP-адрес, который мы нашли ранее. Введите свой пароль (он определенно не должен быть паролем по умолчанию). Отлично, теперь вы находитесь в терминальном сеансе на Raspi 3 через свой компьютер / ноутбук.

Итак, в терминале введите git clone https://github.com/astrobenhart/Raspi-3-FPV-Lego-T … Это займет всего несколько секунд, так как файлы действительно маленькие. Затем вы можете перейти в каталог с помощью «cd Raspi-3-FPV-Lego-Tank», теперь введите «ls» и убедитесь, что вы видите эти 5 файлов: «demo.py», «drive.py», «Picamera_tank». py, "finished.jpg" и "README.md". Убедитесь, что вы просматриваете файл readme на предмет обновлений.

demo.py

Этот скрипт py отлично подходит для проверки работоспособности вашей проводки. Он просто проходит через различные комбинации движения двигателей вперед и назад.

используйте python demo.py для запуска. На выполнение потребуется полминуты или около того.

drive.py

Это py-скрипт, который вы запустите для управления танком. Он настраивает отображение контактов GPIO и создает определения для перемещения. Он также фиксирует нажатия клавиш для управления танком.

Для запуска используйте python drive.py. Подождите секунду, ваш терминал должен погаснуть.

используйте 'w, a, s, d' для перемещения и пробел для остановки. Когда вы будете готовы закрыть программу, нажмите «n».

Picamera_tank.py

Это моя версия стримера для камеры. Это работает только с python 3 (т.е. для запуска используйте python3 Picamera_tank.py). Это можно запустить во втором окне терминала, или вы можете нажать ctrl-z и ввести bg, чтобы запустить его в фоновом режиме на том же терминале. Лично мне нравится использовать отдельный терминал.

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

Как только это будет запущено на Raspi 3, войдите в браузер своего ПК / ноутбука и перейдите по адресу 192.168.1. XX: 8000 (IP-адрес, который мы нашли ранее). Вы должны увидеть изображение с камеры. Если изображение нужно повернуть, вам нужно будет отредактировать скрипт py. Внизу находится комментарий, ниже введите нужные вам градусы поворота. Для меня это было 180, так как моя камера перевернута.

Для запуска MJPG-Streamer

Чтобы запустить MJPG-Streamer, я перехожу к 'mjpg-streamer / mjpg-streamer-experimental' и запускаю './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.

Как только это будет запущено, перейдите к 192.168.1. XX: 8080 (IP-адрес, который мы нашли ранее) и нажмите на потоковую передачу. Поиграйте с другими вариантами, они могут быть вам полезны.

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

Шаг 5: Готовый продукт

А вот видео, как все работает.

Просто обратите внимание, что у меня есть Raspi 3, подключенный к моему ноутбуку, чтобы включить его в видео, так как во время некоторых тестов заряд аккумулятора закончился. Это длилось почти час, чему я был очень доволен.

Пожалуйста, оставляйте комментарии, если они у вас есть, и я надеюсь, вам понравится создавать этот Raspberry Pi 3 FPV Lego Tank, если вы его попробуете.

Спасибо, Бен

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