Оглавление:

Banana / Raspberry Pi + Arduino Rover с веб-камерой: 9 шагов
Banana / Raspberry Pi + Arduino Rover с веб-камерой: 9 шагов

Видео: Banana / Raspberry Pi + Arduino Rover с веб-камерой: 9 шагов

Видео: Banana / Raspberry Pi + Arduino Rover с веб-камерой: 9 шагов
Видео: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, Июль
Anonim
Banana / Raspberry Pi + Arduino Rover с веб-камерой
Banana / Raspberry Pi + Arduino Rover с веб-камерой

Проект, над которым я работал в свободное время. Это полноприводный 4-колесный робот, управляемый через веб-интерфейс. Если у вас есть какие-либо комментарии или вопросы, пожалуйста, свяжитесь со мной. Сам этот проект использует детали, напечатанные на 3D-принтере, и определенные фрагменты кода, созданные другими людьми. Вы можете найти кредиты и взглянуть на оригинальные произведения в конце Instructuble.

Начнем?

Шаг 1. Необходимые компоненты

Компоненты, которые вам нужны
Компоненты, которые вам нужны
Компоненты, которые вам нужны
Компоненты, которые вам нужны
Компоненты, которые вам нужны
Компоненты, которые вам нужны

Вот список компонентов, которые я использовал со ссылками и альтернативами. Я живу в Шэньчжэне, Китай, и я покупал запчасти прямо на Taobao.

4-моторное шасси робота. Альтернатива: подойдет любое достаточно большое шасси. У этого есть 4 двигателя для некоторого дополнительного крутящего момента. Моторы - обычные дешевые моторы желтого цвета, оцененные за

Альтернатива клону L293D Arduino Motor Shield rev.1: лучший моторный щит, рассчитанный на больший ток

Альтернатива клону Arduino Uno: вы можете использовать любую другую плату Arduino без значительных изменений кода.

6V 4.5Ah Pb батарея Альтернатива: можно поэкспериментировать с меньшими LiPo батареями, если вы хотите более легкий робот / использовать только два двигателя.

Альтернатива Banana Pi: можно заменить на Raspberry Pi 1/2/3 или Orange Pi без значительных изменений кода. Я использовал Banana Pi только потому, что один у меня валялся.

Альтернатива веб-камере: используйте камеру CSI для Raspberry Pi / Banana Pi / Orange Pi

Крепление для панорамирования / наклона камеры с сервоприводами sg60 Альтернатива: например, для крепления на наклонно-поворотном устройстве 3D Print можно использовать его.

3D-печатные детали Альтернатива: позвольте своему воображению и талантам 3D-дизайна руководить вами! Также Thingverse:)

Шаг 2: Соедините двигатели с помощью кожуха двигателя L293D

Соедините двигатели с помощью щитка двигателя L293D
Соедините двигатели с помощью щитка двигателя L293D
Соедините двигатели с помощью щитка двигателя L293D
Соедините двигатели с помощью щитка двигателя L293D

Подключите каждый двигатель с помощью винтовых клемм для экрана двигателя. Вот схема подключения. Если у вас только два двигателя и вы не хотите менять код, подключите их к ДВИГАТЕЛЮ 1 и ДВИГАТЕЛЮ 3.

ПРИМЕЧАНИЕ. Для тех, кто использует другие двигатели с более высоким номинальным током, вам может потребоваться другой драйвер двигателя. В качестве альтернативы, я недавно узнал, что вы можете добавить еще два драйвера L293D поверх существующего (это средний чип на плате)!

Шаг 3: Arduino Uno, сборка моторного щита

Arduino Uno, моторный щит в сборе
Arduino Uno, моторный щит в сборе

Поместите Arduino Uno в корпус и установите поверх него Motor Shield. Есть только один способ сделать это, если он не подходит, вы делаете что-то вонг!

Чехол Arduino Uno Snug

Вот случай, который я использовал, модель, созданная Эскило.

Шаг 4: Подключите питание к Banana Pi и Arduino

Подключите питание к Banana Pi и Arduino
Подключите питание к Banana Pi и Arduino

Я использовал интерфейс SATA для подачи питания на Banana Pi (6 В). Если у вас такая же плата, вы также можете это сделать, просто убедитесь, что напряжение составляет 5-6 В. Это нерегулируемый источник питания, поэтому я предполагаю, что на Banana Pi M1 есть схема защиты для питания SATA.

ВНИМАНИЕ: для Raspberry Pi у вас есть несколько вариантов: безопасный (с использованием разъема USB для обеспечения 5 В) и небезопасный (с использованием контактов GPIO). Вот ссылка, чтобы прочитать о подключении питания к контактам Raspberry Pi GPIO. Убедись, что ты

1) Используйте регулируемый источник питания

2) Установите напряжение на 5В

Схема защиты выводов GPIO отсутствует! Если вы сделаете что-то не так, есть серьезный шанс повредить электронику на плате.

Для Arduino просто подключите питание к входным винтовым клеммам на щите двигателя. Может потреблять до 12 В.

Шаг 5. Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода

Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода
Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода
Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода
Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода

Я использовал этот чехол для Banana Pi от thingverse, созданного GermanRobotics. Обложку для нее сделал сам.

Поместите Banana Pi в корпус, накройте его крышкой, с помощью клеевого пистолета прикрепите Arduino Uno к корпусу Banana Pi.

Закройте аккумулятор этой крышкой и прикрепите к верхней части кронштейн для панорамирования / наклона веб-камеры.

Если вы используете Banana Pi, вам понадобится USB-концентратор, так как у него всего два USB-разъема (у Raspberry 2, 3 их четыре). Чисто из эстетических соображений я решил использовать USB-концентратор OTG 1-2 и спрятать провода внутри корпуса Banana Pi.

Шаг 6: Сборка оборудования завершена

Сборка оборудования завершена!
Сборка оборудования завершена!

Давайте быстро подведем итоги того, что мы уже сделали.

Мы собрали платформу робота, подключили питание к Banana Pi, Arduino Uno, подключили двигатели и сервоприводы к драйверу двигателя и использовали USB-концентратор для подключения USB-камеры и Arduino Uno к Banana Pi. Теперь вы можете тестировать и устранять неполадки оборудования. Схема подключения, показывающая все подключения, представлена на рисунке для этого шага.

Шаг 7: Конфигурация системы

Конфигурация системы
Конфигурация системы

Я использовал образ Raspbian Lite для системы на моем пи. Облегченная версия не имеет графического интерфейса и поставляется с установленными только базовыми пакетами. Но он занимает гораздо меньше места, а это значит, что мы можем использовать SD-карту меньшего размера. Если вам неудобно без графического интерфейса, вы также можете установить полный образ.

Подключите ваш Pi к Интернету с помощью кабеля Ethernet. После загрузки первым шагом будет подключение к Wi-Fi.

Выполните следующую команду в терминале

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Отредактируйте файл конфигурации, указав свои учетные данные WiFi.

сеть = {ssid = "testing" psk = "testingPassword"}

Перезагрузите пи. Вуаля! Теперь вы подключены к Wi-Fi.

Далее нам нужно установить pip (диспетчер пакетов Python)

sudo apt-get install python-setuptools

sudo easy_install pip

Теперь мы используем pip для установки Flask для запуска веб-сервера и pyserial для pi для связи с Arduino через последовательное соединение.

sudo pip установить колбу

sudo pip установить pyserial

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

Для этого следуйте этой великой инструкции.

Теперь мы готовы к бою!

Шаг 8: Запуск программного обеспечения

Запуск программного обеспечения
Запуск программного обеспечения
Запуск программного обеспечения
Запуск программного обеспечения

Помните, как я сказал, что мы готовы к бою?

Хорошо, еще немного измельчения, и тогда мы можем начать грохотать:)

Скачиваем все необходимые файлы из моего репозитория на github.

git clone

Загрузите rover.ino в Arduino Uno. Если вы вносили изменения в оборудование (например, используя другой моторный щит), вам необходимо изменить эскиз.

Если вы используете веб-камеру, измените строку в нижней части файла index.html в папке шаблона. Измените URL-адрес в строке IFRAME, чтобы он соответствовал URL-адресу src для вашего видеопотока.

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

sudo python pi_rover.py

Если вы внимательно следили за моей сборкой и подключили Arduino, вы увидите следующее (первое изображение) в терминале.

Введите IP-адрес вашего робота в веб-браузере (например, в моем случае это был 192.168.1.104), вы можете проверить IP-адрес с помощью команды $ ifconfig в Linux.

/ танцуй здесь праздничный танец! /

Если у вас есть вопросы, не стесняйтесь задавать их мне в комментариях. Это руководство предназначено для начинающих, но не для начинающих, поэтому я был довольно краток о вещах, которые вы можете просто использовать в Google (например, записать образ системы на SD-карту, загрузить эскиз Arduino и т. Д.).

Шаг 9: кредиты

Идея и код веб-сервера взяты из этого замечательного руководства от jscottb. Я модифицировал его, чтобы использовать более обычное оборудование, например Arduino Uno.

Детали, напечатанные на 3D-принтере от Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

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