[Перевод] Создание Strider Walker V6 — шагающего робота с камерой
В этом материале речь пойдёт о создании шагающего робота Strider Walker V6, оснащённого камерой.
Шагающий робот
Материалы
- Плата разработчика TTGO T-Journal ESP32.
- Модуль камеры OV2640 или OV3660 с немного более длинным, чем обычно, соединителем.
- Два сервопривода 4.3g с возможностью вращения на 360 градусов.
- Два литий-полимерных аккумулятора 801525.
- Две скрепки для бумаг.
- Коаксиальный соединитель с разъёмом SMA для установки на печатную плату.
- Короткая SMA-антенна.
- 60–100 винтов M1.2 (3,6 мм).
Шаг 1. Изготовление осей из скрепок
Выравниваем скрепки и режем их на две части
Участок скрепки длиной 24 мм оставляем прямым, а из оставшейся части скрепки формируем ушко
Изготовим четыре таких оси
Шаг 2. Доработка сервоприводов
Сервопривод
Наметим линии резки
Разберём корпус сервопривода
Разрежем корпус сервопривода
Завершим резку корпуса
Соберём подготовленный сервопривод
Завершим сборку
Обрежем ось сервопривода
Шаг 3. Замена антенны на плате TTGO T-Journal
Отпаяем антенну с платы и припаяем коаксиальный разъём
Установим в разъём короткую антенну
Шаг 4. 3D-печать
Необходимые STL-файлы размещены на Thingiverse. Их надо загрузить и напечатать детали робота.
Шаг 5. Сборка ножек робота
Нам нужны 6 пар ножек. Мы называем их детали leg1, leg2, leg3 и leg4. Эти же названия применяются и при именовании STL-файлов с моделями ножек. Рассмотрим процедуру их сборки.
Детали leg1, leg2, leg3 и leg4
Соединяем детали leg2 и leg3 с помощью винта
Прикручиваем то, что получилось, к leg1
Соединяем винтом leg3 и leg4
Соберём ещё одну ножку, повторив вышеописанные действия
Соединим винтом детали leg2 и leg4 двух ножек
Соединим другие детали leg2 и leg4 двух ножек
Шаг 6. Установка сервоприводов
Сервопривод и внутренняя часть корпуса робота
Поместим провода в отверстие на корпусе
Поместим сервопривод в отверстие на корпусе
Прикрутим сервопривод с наружной стороны корпуса
Прикрутим сервопривод со внутренней стороны корпуса
Шаг 7. Установка кривошипного механизма и ножек
Здесь используются детали, называемые axis1, axis2 и axis3. Эти же названия используются в именах соответствующих STL-файлов.
Присоединим деталь axis1 к сервоприводу
Установим пару ножек на axis1
Установим axis2
Установим следующую пару ножек на axis2
Установим ещё одну деталь axis2
Установим последнюю пару ножек на axis2
Установим деталь axis3
Шаг 8. Установка осей, изготовленных из скрепок
Перед установкой осей нужно выровнять все детали ножек leg1, после чего оси пропускают через отверстия в корпусе и через отверстия в деталях leg1.
Начало установки первой оси
Начало установки первой оси, вид сбоку
Продолжение установки первой оси
Установка первой оси почти завершена
Завершение установки первой оси, вид сбоку
Завершение установки первой оси, вид спереди
Завершение установки двух осей, вид спереди
Шаг 9. Проверка сервопривода
Испытание сервопривода с целью проверки правильности перемещения ножек
Шаг 10. Сборка и установка второй стороны робота
Повторим шаги 6–9 для сборки второй стороны робота
Шаг 11. Подключение сервоприводов к плате TTGO T-Journa
Робот, готовый к установке платы TTGO T-Journal
Обрежем провода сервоприводов
Припаяем провода левого сервопривода к контактам GPIO 2, 3V3 и GND, а провода правого сервопривода — к контактам GPIO 4, 3V3 и GND.
Шаг 12. Установка аккумуляторов
Поместим два аккумулятора в корпус робота
Соединим аккумуляторы параллельно для того чтобы в нашем распоряжении оказалось больше энергии
Завершим подключение аккумуляторов
Шаг 13. Взвешивание робота
Взвешивание робота
Шаг 14. Программирование робота
Этот материал ориентирован, в основном, на описание новой аппаратной части шагающего робота. Программной части робота посвящены шаги 26 — 28 этого материала.
Приведём здесь их краткое описание.
Вот какие программы и библиотеки вам понадобятся:
В файле FSBrowserPlus.ino
нужно раскомментировать строку, соответствующую модели вашей камеры. Остальные строки, имеющие отношение к другим камерам, должны быть закомментированы. Например, для CAMERA_MODEL_ESP32_CAM_ROBOT
это выглядит так:
// Select camera model
// #define CAMERA_MODEL_WROVER_KIT // Has PSRAM
// #define CAMERA_MODEL_ESP_EYE // Has PSRAM
// #define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
// #define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
// #define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
// #define CAMERA_MODEL_ESP32_CAM // Has PSRAM
#define CAMERA_MODEL_ESP32_CAM_ROBOT // Has PSRAM
// #define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
// #define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
// #define CAMERA_MODEL_JSZWY_CYIS
#include "cameraAPI.h
Обратите внимание на то, что в нашем случае раскомментированной должна быть следующая строка:
#define CAMERA_MODEL_TTGO_T_JOURNAL_ROBOT
В camera_pins.h
должны быть описаны выводы, управляющие сервоприводами. В случае с CAMERA_MODEL_ESP32_CAM_ROBOT
это выглядит так:
#define MOTOR
#define MotorL_A_Pin 13
#define MotorL_B_Pin 12
#define MotorR_A_Pin 2
#define MotorR_B_Pin 14
Для настройки светодиода используется файл camerarobot.htm
, там, в районе строки 616, можно настроить пин, к которому подключён светодиод:
const query = `${baseHost}/gpio?pin=4&val=${value}`;
Готовый код компилируют и загружают на устройство. Теперь с роботом можно поэкспериментировать.Планируете ли вы создать собственного шагающего робота?