Оглавление:

Робот Raspberry Pi Zero, напечатанный на 3D-принтере: 12 шагов
Робот Raspberry Pi Zero, напечатанный на 3D-принтере: 12 шагов

Видео: Робот Raspberry Pi Zero, напечатанный на 3D-принтере: 12 шагов

Видео: Робот Raspberry Pi Zero, напечатанный на 3D-принтере: 12 шагов
Видео: Timelapse Final Fantasy Gunblade Printed on a CR-30 2024, Июль
Anonim
Image
Image
Робот Raspberry Pi Zero, напечатанный на 3D-принтере
Робот Raspberry Pi Zero, напечатанный на 3D-принтере
Робот Raspberry Pi Zero, напечатанный на 3D-принтере
Робот Raspberry Pi Zero, напечатанный на 3D-принтере

Вы когда-нибудь хотели построить робота, но у вас просто не было всех материалов, чтобы построить его, не получив излишне громоздкого шасси? 3D-принтеры здесь, чтобы спасти положение! Они не только могут создавать детали, совместимые практически с любым оборудованием, но и занимать очень мало места. Здесь я покажу вам, как создать очень простого робота, который включает детали, напечатанные на 3D-принтере, Raspberry Pi Zero и камеру Pi. Я бы посоветовал вам взять и изменить то, что я сделал, в соответствии с вашими практическими потребностями или потребностями в развлечениях. Чтобы управлять роботом и просматривать изображение с камеры, я создал приложение для iOS (приложение PiBotRemote), которое вы можете свободно использовать и изменять. Однако реальная сила в таких проектах, как этот, проистекает из разнообразия возможностей как в аппаратном, так и в программном обеспечении. Поэтому я бы посоветовал вам проявить творческий подход и добавить к тому, что я сделал, в зависимости от того, что вы умеете делать. Например, я думаю, что было бы круто заставить этого робота использовать машинное зрение, чтобы распознавать свое окружение и ориентироваться так же, как в беспилотном автомобиле.

Шаг 1. Требования

Требования
Требования
  • Материалы

    • Требуется (примерно 75 долларов США)

      • Raspberry Pi Zero W (10 долларов)
      • Карта Micro SD (8,25 доллара США)
      • 40-контактный разъем ($ 3,25)
      • Провода перемычки ($ 6,86)
      • USB-аккумулятор (5 долларов США)
      • 2 микро-мотор-редуктора 900 об / мин (12,95 долл. США каждый)
      • Драйвер мотора (4,95 доллара США)
      • Колеса (6,95 $)
      • 14-миллиметровый стальной шарикоподшипник (0,62 доллара США)
      • Винты, гайки и стойки (см. Ниже)
    • Необязательно (примерно 45 долларов США)

      • Светодиоды
      • Камера Raspberry Pi (29,95 долларов США)
      • Адаптер для камеры Pi Zero ($ 5,95)
      • Серводвигатель (8,95 долл. США)
    • Инструменты

      • 3D-принтер и нить
      • Компьютер (я буду использовать Mac, и он вам понадобится, если вы хотите использовать приложение PiBot Remote)
      • iPhone / iPad / iPod Touch (если вы будете использовать приложение)
      • Дрель
      • Отвертка со сменными наконечниками

Подробнее о деталях

  • Pi Zero: если вы хотите использовать Pi Zero только для этого проекта, вам будет все время работать без головы. В противном случае, если вы когда-нибудь захотите подключить выход HDMI или периферийное устройство USB, вам придется приобрести дополнительные адаптеры. В этом случае, скорее всего, это наиболее экономичный вариант купить комплект Pi Zero, такой как этот (24 доллара США), который я купил у Amazon. Хотя мне все равно пришлось купить карту micro SD, этот комплект шел с Pi Zero, обоими необходимыми адаптерами и множеством различных разъемов. Все это может быть полезно.
  • Карта Micro SD: вы можете использовать любую карту Micro SD, если на ней есть минимум 8 ГБ памяти.
  • Провода перемычки: мне нравятся такие перемычки, потому что они идут в виде связки. Это позволяет мне отделить, скажем, 9-проводную секцию и аккуратно соединить Pi и драйвер двигателя.
  • USB-аккумулятор: аккумулятор, который я купил у Sparkfun, с тех пор снят с производства. В результате вам нужно будет найти его в другом месте. Тот, который я связал, был похож на мой, но я его не покупал, и вам может потребоваться изменить файлы печати, чтобы они соответствовали вашей батарее. Обязательно найдите аккумулятор с подключенным кабелем micro USB, так как он позволяет подключаться непосредственно к пи без лишнего провода.
  • Драйвер мотора: я бы порекомендовал использовать дайвера, с которым я связался, так как он довольно дешев, а печать разработана так, чтобы точно соответствовать этой плате. Кроме того, другие доски могут работать по-другому, и результаты могут отличаться.
  • 14-миллиметровый стальной шар: Я использовал этот шар просто потому, что один у меня случайно лежал. Не стесняйтесь использовать другие размеры, но вам может потребоваться изменить размер гнезда. Мяч будет третьим колесом для нашего робота. Это одна из областей дизайна моего робота, которая сейчас является наиболее проблемной, и ее можно было бы улучшить. Хотя он отлично работает на гладких твердых поверхностях, он вызывает проблемы на коврах и более грубых поверхностях. Не стесняйтесь изменять эту область вашего дизайна.
  • Винты, гайки, стойки: вам может потребоваться немного поработать, чтобы найти винты, которые вам подходят. Я просто нашел винты, крепящие Pi, а также винты, удерживающие крепление камеры Pi, в коллекции винтов моего отца. Для крепления двигателя и разъемов я использовал эти винты (2,95 доллара США) и эти гайки (1,50 доллара США), которые можно приобрести в Sparkfun. Стойки и 8 винтов (я случайно включил только 4 на картинке), которые удерживают робота вместе, я взял из неиспользованных комплектов VEX в моей школе.
  • Светодиоды: я уверен, вы знаете, где можно легко найти светодиоды. Выберите, какими цветами вы хотите обозначить функции: питание, соединение, путь воспроизведения робота и получение инструкции роботом.
  • Камера и сервопривод: в зависимости от того, что вы хотите делать со своим роботом, вы можете не включать камеру и сервопривод, поскольку они не нужны для базового движения, и добавить 45 долларов к стоимости робота.

Шаг 2: Настройка Pi Zero

Настройка Pi Zero
Настройка Pi Zero

Перейдите по этой ссылке, чтобы настроить автоматическую установку на Raspberry Pi Zero W.

  • Не забывайте, что Pi Zero не может подключиться к сети Wi-Fi 5 ГГц.
  • Обязательно следуйте инструкциям для Raspbian Stretch или более поздней версии.

После того, как вы успешно подключились через SSH к своему пи, запустите

sudo raspi-config

и измените следующие конфигурации:

  • Измените свой пароль. Оставлять пароль по умолчанию raspberry очень опасно. Убедитесь, что вы помните этот пароль.
  • В параметрах сети измените имя хоста с raspberrypi на что-то более короткое, например pizero или pibot. В оставшейся части этого урока я буду использовать pibot. Обязательно запомните, что вы здесь написали.
  • В параметрах загрузки -> Рабочий стол / интерфейс командной строки выберите Автологин консоли.
  • Перейдите к параметрам интерфейса и включите камеру

Выберите Готово и перезагрузите устройство.

Шаг 3. Настройте сеть AdHoc

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

Сначала вам нужно будет скачать и распаковать все необходимые файлы с GitHub. В терминале перейдите в загруженную папку и отправьте папку PiBotRemoteFiles на пи с помощью команды:

scp -r PiBotRemoteFiles / [email protected]: Рабочий стол /

Это отправит все необходимые файлы роботу, который будет управлять им и настраивать сеть AdHoc. Убедитесь, что файлы находятся в папке «PiBotRemoteFiles» на рабочем столе; иначе многие вещи в будущем не сработают. Если вы будете использовать приложение PiBot Remote, вы можете переключаться между обычным Wi-Fi и сетью AdHoc в настройках приложения. В противном случае вы можете вручную изменить его через SSH с помощью одной из следующих команд:

sudo bash adhoc.sh

sudo bash wifi.sh

Конечно, убедитесь, что вы перешли в папку PiBotRemoteFiles, прежде чем запускать предыдущие команды. Любое изменение между AdHoc и Wi-Fi вступит в силу только после следующего перезапуска. Если настроен AdHoc, при загрузке Pi Zero вы должны увидеть сеть PiBot.

Шаг 4: Добавьте индикатор питания

Добавить индикатор питания
Добавить индикатор питания

Хотя это, конечно, не обязательно, но может быть полезно иметь индикатор питания. Чтобы активировать это, подключитесь к Pi Zero по SSH и выполните команду:

судо нано /etc/bash.bashrc

И добавьте в конец файла следующую строку:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Позже мы изменим вывод GPIO, связанный со светодиодом питания.

Шаг 5: Настройка веб-интерфейса RPi Cam

Настройка веб-интерфейса RPi Cam
Настройка веб-интерфейса RPi Cam
Настройка веб-интерфейса RPi Cam
Настройка веб-интерфейса RPi Cam

Чтобы подключиться к видеопотоку Raspberry Pi Cameras, мы будем использовать RPi-Cam-Web-Interface. Информацию об этом модуле можно найти здесь, а их код - на GitHub. Чтобы установить модуль, нам сначала нужно обновить наш Pi. Это может занять до 10 минут.

sudo apt-get update

sudo apt-get dist-upgrade

Затем нам нужно установить git:

sudo apt-get install git

И мы наконец можем установить модуль:

git clone

RPi_Cam_Web_Interface / install.sh

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

Теперь, если вы зайдете в браузер на устройстве в той же сети, что и Pi, и если камера подключена к пи, вы можете получить поток, перейдя по адресу https://pibot.local/html/#. Интерфейс RPi позволяет легко управлять камерой, и, нажав или щелкнув видео, он может перейти в полноэкранный режим. Мы будем использовать это позже с удаленным приложением PiBot.

Мы закончили настройку Pi Zero, перейдем к интересным вещам!

Шаг 6. Распечатайте все

Распечатать все
Распечатать все
Распечатать все
Распечатать все

Хотя я использовал 3D-принтер Dremel с нитью PLA, не стесняйтесь использовать свои собственные принтеры и материалы. Все файлы STL находятся в папке, которую вы скачали с GitHub. Я смог распечатать все четырьмя партиями: верхнюю пластину, нижнюю пластину, все крепления и гнезда и кольцо. Подходите к выбору цвета творчески и в полной мере используйте возможности 3D-принтеров. У моего принтера не было двойной экструзии или каких-либо подобных необычных функций, но если у меня есть доступ к такому принтеру, я бы порекомендовал распечатать украшения на верхней части верхней пластины контрастным цветом. Вам, вероятно, потребуется подпилить и просверлить, чтобы некоторые детали подошли.

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

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

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

Шаг 7: припаяйте разъемы

Припой к заголовкам
Припой к заголовкам
Припой к заголовкам
Припой к заголовкам
Припой к заголовкам
Припой к заголовкам

Хотя я решил припаять разъемы к PiZero, вы можете припаять провода прямо к пи. Если вы решите припаять разъемы, как я, я бы порекомендовал использовать один с прямым углом, как у меня. Это позволяет скрыть провода и делает все более аккуратным.

Пришло время припаять драйвер мотора. Нижняя пластина разработана специально для этого драйвера двигателя Sparkfun, и на ней есть место для выступа штыря из нижней части. Это позволяет легко менять штифты двигателя, так что вы можете менять местами влево и вправо, вперед и назад. Хотя сейчас я включаю следующий шаг, я настоятельно рекомендую подождать несколько шагов, пока вы точно не узнаете, какой длины должны быть ваши провода. Отрежьте 9-проводную часть контактов перемычки, которые совместимы с контактами заголовка, которые вы только что припаяли к пи. Тщательно припаяйте каждый провод, чтобы группа могла вместе лежать ровно и оборачиваться вокруг батареи. Заранее измерьте длину проволоки, чтобы не получилось слишком мало или слишком много.

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

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

Шаг 8: привинтите мотор и розетку

Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке
Винт на двигателе и розетке

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

Шаг 9: подготовьте камеру и сервопривод

Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод
Подготовьте камеру и сервопривод

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

Шаг 10: Собираем все вместе

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

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

Вкрутите каждую стойку в нижнюю пластину, чтобы каждая была надежно закреплена. Вставьте аккумулятор и убедитесь, что кабель питания может пройти через слот и в порт питания Pi Zero. Оберните вокруг него провода привода мотора и оберните все вокруг кольцом. После того, как вы зажали все провода в пространстве между батареей и верхней пластиной, небольшой выступ на нижней пластине в кольцо и две высокие точки на кольце в верхнюю пластину. Теперь вы можете плотно прикрутить верхнюю пластину, и вы создали своего робота!

Шаг 11: Откройте проект Xcode

Откройте проект Xcode
Откройте проект Xcode
Откройте проект Xcode
Откройте проект Xcode
Откройте проект Xcode
Откройте проект Xcode

Следующие несколько шагов применимы только в том случае, если вы будете использовать приложение PiBot Remote, для которого требуется Mac и устройство IOS.

Поскольку я дешев и у меня нет платной учетной записи Apple Developer, я могу поделиться только проектом Xcode, а не самим приложением. Затем вы можете открыть проект самостоятельно, изменить подпись и запустить его на своем устройстве.

Если у вас еще нет Xcode, загрузите его из магазина приложений на свой Mac. После загрузки Xcode выберите «Открыть другой проект» в правом нижнем углу и перейдите в папку «PiBot Remote» в загружаемом GitHub файле.

Когда проект откроется, щелкните корневой файл в крайнем левом виде под названием «PiBot Remote».

Измените «Идентификатор пакета» на что-нибудь уникальное. Вы можете заменить мое имя на свое или добавить что-нибудь в конце.

Измените Команду на свой личный кабинет. Если у вас его нет, выберите «Добавить учетную запись».

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

Нажмите command-R, и приложение должно запуститься на вашем устройстве. Возможно, вашему устройству потребуется подтвердить личность перед запуском, и доступ к Интернету потребуется только в это время.

Шаг 12: Окончательные настройки

Окончательные корректировки
Окончательные корректировки

Вы можете настроить номера контактов для всего, кроме светодиода питания в приложении PiBot Remote. Чтобы изменить вывод светодиода питания, SSH на PI и выполните команду:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Измените два экземпляра 36 на любой контакт GPIO, который вы использовали. Затем нажмите Ctrl-X, y, введите.

И приложение, и сервер подвержены ошибкам. Используйте консоль в режиме отладки, чтобы выяснить, что происходит. Если сомневаетесь, попробуйте перезапустить Pi и / или перезапустить приложение. Иногда после сбоя кода приложение не может повторно подключиться, потому что адрес уже используется. В этом случае просто измените порт, и приложение должно подключиться.

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

  • Калибровка: нажмите и удерживайте двумя пальцами в течение 0,5 секунды (если ваше устройство поддерживает это, вы почувствуете тактильную обратную связь после калибровки устройства.
  • Регулировка камеры: самый сложный жест, сделайте то, что было описано ранее, для калибровки, затем проведите пальцами вверх, чтобы переместить камеру вверх, и потяните вниз, чтобы переместить камеру вниз. Регулировка будет произведена, когда вы поднимете пальцы.
  • Переключатель «Стоп / Старт»: когда вы переходите в режим просмотра акселерометра, робот изначально настроен на игнорирование команд движения. Чтобы переключить этот параметр, дважды коснитесь двумя пальцами.
  • Показать / скрыть панель вкладок: чтобы включить полноэкранный просмотр при вождении с помощью акселерометра, панель вкладок автоматически скроется через несколько секунд. Чтобы показать его снова, смахните вверх. Чтобы скрыть это, проведите пальцем вниз.

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

Если я внесу какие-либо изменения в GitHub, примените их к роботу, загрузив файлы и отправив их через рекурсивный SCP на Pi в соответствующем месте. Если вы клонировали проект Xcode, просто потяните изменения. В противном случае вы можете загрузить проект и выполнить шаг 11, чтобы открыть приложение на своем устройстве.

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

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