Создайте своего робота для видеостриминга, управляемого через Интернет, с помощью Arduino и Raspberry Pi
<Инструктаж и код готовы. Наслаждаться! Оставьте комментарий с вашим отзывом!>
Я @RedPhantom (он же LiquidCrystalDisplay / Itay), 14-летний студент из Израиля, который учится в средней школе высших наук и математики им. Макса Шейна. Я делаю этот проект, чтобы все могли учиться и делиться!
Вы, наверное, подумали:хм… Я компьютерщик… И мои дети хотят, чтобы я сделал с ними проект…
Он хотел построить робота. Она хотела нарядить его как маленького щенка. Хороший проект на выходных!
Raspberry Pi идеально подходит для любого использования:сегодня мы продемонстрируем возможности этого микрокомпьютера по созданию робота. Этот робот может:
- Управляйте поездкой по локальной сети (WiFi) с любого компьютера, подключенного к той же сети Wi-Fi, что и Raspberry Pi.
- Потоковая передача видео в прямом эфире с помощью модуля камеры Raspberry Pi
- Отправлять данные датчиков с помощью Arduino
Чтобы увидеть, что вам нужно для этого красивого светового проекта, просто прочтите следующий шаг (предупреждения), а затем шаг «Требуются:компоненты».
Вот репо на GitHub:GITHUB REPO BY ME
Вот сайт проекта:САЙТ ПРОЕКТА МНОЙ
Шаг 1. Предупреждение:будьте осторожны, пытаясь выполнить это дома
ВНИМАНИЕ:АВТОР ДАННОГО РУКОВОДСТВА ПРИНИМАЕТ ВАС ДОСТАТОЧНЫЕ ЗНАНИЯ ОБ ЭЛЕКТРИЧЕСТВЕ И ОСНОВНЫХ ФУНКЦИЯХ ЭЛЕКТРИЧЕСКОГО ОБОРУДОВАНИЯ. ЕСЛИ ВЫ НЕ ОСТОРОЖНЫ И НЕ СЛЕДУЕТЕ ИНСТРУКЦИЯМ ДАННОГО РУКОВОДСТВА, ВЫ МОЖЕТЕ:ПОВРЕДИТЬ ЭЛЕКТРОННОЕ ОБОРУДОВАНИЕ, ПОЖЕГАТЬ СЕБЯ ИЛИ ВЫЗВАТЬ ПОЖАР. Пожалуйста, будьте осторожны и руководствуйтесь здравым смыслом. Если у вас нет знаний, необходимых для этого руководства (пайка, основы электроники), обратитесь к специалисту, у которого есть знания. Спасибо. И:
АВТОР ДАННОЙ ИНСТРУКЦИИ СНИМАЕТ С СЕБЯ ЛЮБУЮ ОТВЕТСТВЕННОСТЬ ЗА УЩЕРБ, ПРИЧИНЕННЫЙ ИЛИ ПОТЕРЮ ИМУЩЕСТВА ИЛИ ФИЗИЧЕСКИЙ УЩЕРБ. ИСПОЛЬЗУЙТЕ ОБЩИЙ СМЫСЛ.
И:
Это запись в конкурсе Raspberry Pi. Буду более чем благодарен, если вы проголосуете за меня в правом углу. Спасибо! Наслаждайтесь.
ЛИЦЕНЗИРОВАНИЕ
Программа, входящая в состав данного Руководства, находится под лицензией GPL v3.
Лицензия GPL дает вам:
- свободу использовать программное обеспечение для любых целей,
- свободу изменять программное обеспечение в соответствии со своими потребностями,
- свобода делиться программным обеспечением с друзьями и соседями,
- и свободу делиться внесенными вами изменениями.
Шаг 2:Требуются:компоненты
Все, что вам нужно для этого легкого проекта выходного дня, это:
- Raspberry Pi
Подойдет любая модель:мы будем использовать два порта USB:один для адаптера WiFi, а другой для Arduino.
Я использую Raspberry Pi 2 Model B
- Адаптер Wi-Fi для вас, Raspberry Pi. Занимает 1 порт USB Pi. (Подключен к Raspberry Pi)
- Короткий кабель USB-A - USB-B. Занимает 1 порт USB Pi. (Подключен к Raspberry Pi)
- Arduino
(подключена к Raspberry Pi)
Опять же, подойдет любая модель. Этот маленький микроконтроллер будет получать выходной сигнал от наших датчиков и отправлять сигналы нашим двигателям постоянного тока.
Я использую Arduino Uno. - Датчики (необязательно). (Подключено к Arduino)
Они будут получать информацию из среды и собирать ее для нас.
- Двойной H-мост
H-мост используется для управления двигателями, как большой транзистор. Arduino отправляет импульсы (ШИМ, см. Последний шаг для объяснения) на H-мост, который питает двигатели постоянного тока от внешнего источника. (См. ЛОГИЧЕСКОЕ НАПРЯЖЕНИЕ и РАБОЧЕЕ НАПРЯЖЕНИЕ на последнем этапе (Пояснения).
Я использую двойной H-мост на базе L298N.
(Подключен к Arduino)
- Двигатели постоянного тока
Примечание. Они должны быть одной модели, чтобы скорость у них была одинаковой. Также можно использовать серводвигатели:подключите провод GND (заземление) к Arduino и источнику питания. Сигнал на вывод PWN на микроконтроллере и провод PWR к внешнему источнику питания. Для этого метода не требуется H-мост.
- Аккумулятор для Pi и Arduino.
Я рекомендую аккумуляторный аккумулятор, поскольку он поставляется со схемой зарядки и может заряжаться от любого компьютера.
Я использую аккумуляторный аккумулятор 5 В, 5000 мАч, 1 А.
Примечание:для нормальной работы робота требуется минимум 1 А. Меньше этого вызовет нагрев и может повредить аккумулятор.
(подключен к H-мосту)
- Перемычки на макетной плате
Они очень полезные маленькие ублюдки. Они соединяют все ваши компоненты вместе без пайки - идеальное решение для создания прототипов.
- 6v Аккумулятор / Аккумулятор для ваших двигателей
Поскольку я использую 4 батарейки типа AA, вам следует использовать аккумулятор, который подходит для ваших двигателей постоянного тока. Примечание. В отличие от других компонентов, двигатели постоянного тока (например, светодиоды) используют весь подаваемый на них ток, поэтому вам следует использовать обычные щелочные батареи, а не перезаряжаемые элементы. Только будьте осторожны |
(подключен к H-мосту)
- Платформа
Поскольку Raspberry Pi - отличная платформа для создания этого робота, нам нужна физическая платформа для размещения всех компонентов. Вы можете использовать все, что захотите:дерево и алюминий - отличный материал.
ПРИМЕЧАНИЕ. Если вы решите построить своего робота из металла или проводящего материала, покройте его слоем прозрачного пластика или любого другого материала. проводящий материал, так как когда вы кладете на него доску, штифты в сквозных отверстиях могут закоротить и разрушить вашу доску. Плохо.
Я использую пластиковую основу, которую купил в E-Bay за 12 долларов. Есть много вариантов, из которых можно выбрать. Даже те, которые идут с моторами (как у меня). - Знания
В основном вам нужны простые знания программирования и базовые навыки работы со средой Linux. Их легко приобрести - я изучил Python и другие языки программирования с помощью электронной книги!
Шаг 3. Материалы для чтения
Рекомендуется перейти:
- H-образный мост L298N
- Базовая электроника
- Учебное пособие по ультразвуковому датчику расстояния
И посетите:
- сайт Raspberry Pi
- сайт Arduino
- сайт Python
Репозиторий GitHub и сайт этого проекта доступны на первой странице!
Напишите нам форк на GitHub!
Шаг 4. Управление мощностью
Во-первых, нам нужно взглянуть на энергопотребление нашего компонента. Обычно все они работают от 5В.
Raspberry Pi 2 B (подойдет любая модель):~ 500 мА
Модуль камеры:~ 250 мА
Arduino (Uno):~ 150 мА
Ультразвуковой датчик расстояния:~ 50 мА
Сумма:950 мА. Моя батарея способна выдавать до 1 А, так что все в порядке. Если ваша установка требует более 10% мощности батареи, рассмотрите возможность подключения двух параллельно или покупки батареи с большей силой тока.
Важное примечание относительно H-моста:если вашим двигателям требуется более 6 В, подключите питание H-моста к выводу 12 In DC, а не к входу 5V. В этом случае вход 5 В действует как выход 5 В. См. Свое техническое описание и / или инструкции.
Шаг 5. Подключения
Прежде чем нагревать паяльник, нужно разобраться, что к чему подключать. Я сделал эту простую диаграмму (MS Paint никогда меня не подводит), которая описывает, где в этом роботе расположены части занавеса (кстати, моя младшая сестра называет его FartBot из-за забавных шумов, которые производят шины. Мама убедила меня изменить имя на SmartBot )
Изображение построено так, что вы можете увеличивать масштаб и видеть его в полном разрешении, а также читать небольшие сообщения, которые я там оставил.
Шаг 6. Адрес для Pi
Arduino разговаривает с Pi согласно плану. И Pi общается с компьютером, так как же все это работает?
Давайте посмотрим на нашу CIS (последовательность инициации соединения):
- Запускается Raspberry Pi.
- Запуск Arduino
- Raspberry Pi запускает TCP-клиент. Он выдает свой IP-адрес через светодиод.
- Raspberry Pi запускает службу последовательной связи и подключается к Arduino.
Поэтому мы наладили своего рода общение:
Компьютер <-> Raspberry Pi <-> Arduino
Я использовал Visual Basic .NET (сообщество Microsoft Visual Studio 2013), чтобы написать программу, которая взаимодействует с Raspberry Pi и Python для написания протокола Arduino / Raspberry Pi.
Все, что вам нужно сделать, чтобы узнать свой IP-адрес Pi, - это подключить его к экрану HDMI, войти в оболочку и ввести команду:
имя хоста -I
Обязательно используйте заглавную «I» (букву «Глаз»), чтобы команда работала.
Шаг 7. План
Теперь, когда у нас есть IP-адрес Pi, мы подключимся к нему по SSH (получим доступ к файлам, SSH - это Secure Shell) и напишем файл, содержащий IP-адрес сервера. Пи при запуске сделает то же самое и запишет порт, который он слушает. Здесь я приведу только несколько примеров из кода, но его можно загрузить с этого шага и из созданной мной ветки github. Подробности позже.
Работает это так:
- Запускается RPi.
- RPi запускает программу Tcp на своем локальном IP-адресе и назначенном порту.
- RPI начинает потоковую передачу видео
- RPI отключается.
Шаг 8. Переход на физический уровень
Теперь мы готовы начать физически строить все это. Если вы не прочитали шаг 1 (текст предупреждения и лицензирование), сделайте это, прежде чем продолжить. Я не несу ответственности за причиненный ущерб. И в случае сомнений, этого робота нельзя использовать в военных целях, если это не зомби-апокалипсис. И даже тогда руководствуйтесь здравым смыслом.
Предлагаем вам прочитать инструкции и прослушать их в Списке для чтения.
Загрузите схему подключения из шага «Подключения».
МОТОРЫ
Моторы, которые вы купили, вероятно, выглядят так, и ничего страшного, если это не так:если у них только два провода (в большинстве случаев черный и красный), все должно работать. Посмотрите их техническое описание в Интернете, чтобы узнать их рабочее напряжение и ток. Не стесняйтесь задавать вопросы в разделе комментариев. Я всегда их читаю.
H-BRIDGE
Я никогда раньше не работал с Н-мостом. Я немного погуглил и нашел хорошее руководство, объясняющее принципы HB. Вы также можете посмотреть туда (см. Этап «Список для чтения») и зацепить свой тоже. Я не буду много объяснять. Вы можете прочитать там и узнать все, что вам нужно об этой схеме.
Светодиод
Эта маленькая лампочка может работать от логического напряжения только потому, что она почти не требует тока, а напряжение составляет 3–5 В, 4–18 мА. Необязательно.
ARDUINO
Arduino будет получать сигналы и команды через последовательное соединение от Raspberry Pi. Мы используем Arduino для управления нашими двигателями, потому что Raspberry Pi не может выводить аналоговые значения через GPIO.
Подробнее:Создайте своего робота для потоковой передачи видео, управляемого через Интернет, с помощью Arduino и Raspberry Pi
Производственный процесс
- Создайте пожарный извещатель за считанные минуты с помощью Samsung SAMIIO, Arduino UNO и Raspberry Pi
- Создайте свой первый IOT с помощью Raspberry Pi, датчика DHT11 и Thingspeak.
- Аэропоника с Raspberry Pi и датчиком влажности
- XMOS startKIT:создание XMOS и Raspberry Pi Robot XMP-1
- Создание роботов с Raspberry Pi и Python
- Робот Raspberry Pi, управляемый через Bluetooth
- Робот, управляемый жестами, использующий Raspberry Pi
- Робот Raspberry Pi с веб-управлением и видео
- Робот, управляемый Wi-Fi и использующий Raspberry Pi
- Интернет-радио Pi-Arduino