Оглавление:
- Шаг 1. Необходимые компоненты
- Шаг 2: Соедините двигатели с помощью кожуха двигателя L293D
- Шаг 3: Arduino Uno, сборка моторного щита
- Шаг 4: Подключите питание к Banana Pi и Arduino
- Шаг 5. Поместите Banana Pi в чехол с 3D-принтом, соберите остальную часть вездехода
- Шаг 6: Сборка оборудования завершена
- Шаг 7: Конфигурация системы
- Шаг 8: Запуск программного обеспечения
- Шаг 9: кредиты
Видео: Banana / Raspberry Pi + Arduino Rover с веб-камерой: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Проект, над которым я работал в свободное время. Это полноприводный 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
Подключите каждый двигатель с помощью винтовых клемм для экрана двигателя. Вот схема подключения. Если у вас только два двигателя и вы не хотите менять код, подключите их к ДВИГАТЕЛЮ 1 и ДВИГАТЕЛЮ 3.
ПРИМЕЧАНИЕ. Для тех, кто использует другие двигатели с более высоким номинальным током, вам может потребоваться другой драйвер двигателя. В качестве альтернативы, я недавно узнал, что вы можете добавить еще два драйвера L293D поверх существующего (это средний чип на плате)!
Шаг 3: Arduino Uno, сборка моторного щита
Поместите Arduino Uno в корпус и установите поверх него Motor Shield. Есть только один способ сделать это, если он не подходит, вы делаете что-то вонг!
Чехол Arduino Uno Snug
Вот случай, который я использовал, модель, созданная Эскило.
Шаг 4: Подключите питание к 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 от 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
Рекомендуемые:
Веб-симулятор Arduino от Wokwi-2020: 5 шагов
Веб-симулятор Arduino из Wokwi-2020: Wokwi Arduino Simulator работает на платформе AVR8js. Это веб-симулятор Arduino Simulator. Симулятор Arduino работает в веб-браузере. следовательно, он привлекает больше внимания и, честно говоря, имеет много положительных моментов по сравнению с другими доступными симуляторами
Тестер батарей Arduino с веб-интерфейсом пользователя: 5 шагов
Тестер батарей Arduino с веб-интерфейсом пользователя. Сегодня электронное оборудование использует резервные батареи для сохранения состояния, в котором была оставлена операция, когда оборудование было выключено или когда оборудование было выключено случайно. Пользователь при включении возвращается к той точке, где остановился
Веб-сервер монитора погоды ESP8266 (без Arduino): 4 шага
Веб-сервер ESP8266 Weather Monitor (без Arduino): «Интернет вещей» (IoT) становится все более популярной темой для разговоров с каждым днем. Это концепция, которая может повлиять не только на то, как мы живем, но и на то, как мы работаем. От промышленных машин до носимых устройств - с помощью встроенных
Проект Arduino: управление электроникой через Интернет с помощью базы данных и веб-сайта Nodejs + SQL: 6 шагов
Проект Arduino: Управление электроникой через Интернет с помощью базы данных и веб-сайта Nodejs + SQL .: Проект Автор: Mahmed.tech Дата создания: 14 июля 2017 г. Уровень сложности: Новичок с некоторыми знаниями программирования. Требования к оборудованию: - Arduino Uno, Nano, Mega (я думаю, что большинство микроконтроллеров с последовательным подключением будут работать) - Один светодиод & Ограничение тока res
Загрузите веб-страницу конфигурации Arduino / ESP из облака: 7 шагов
Загрузите веб-страницу конфигурации Arduino / ESP из облака: при создании проекта Arduino / ESP (ESP8266 / ESP32) вы могли просто жестко все кодировать. Но чаще всего что-то обнаруживается, и вы снова подключаете свое IoT-устройство к своей среде IDE. Или у вас просто больше людей обращаются к конфигурации