Оглавление:

Многофункциональный робот DIY с Arduino: 13 шагов (с изображениями)
Многофункциональный робот DIY с Arduino: 13 шагов (с изображениями)

Видео: Многофункциональный робот DIY с Arduino: 13 шагов (с изображениями)

Видео: Многофункциональный робот DIY с Arduino: 13 шагов (с изображениями)
Видео: 📢 ARDUINO НАЧАЛО 🔐ЭЛЕКТРОННЫЙ ЗАМОК С БЕСКОНТАКТНЫМ КЛЮЧЕМ🔑 2024, Июль
Anonim
Многофункциональный робот DIY с Arduino
Многофункциональный робот DIY с Arduino
Многофункциональный робот DIY с Arduino
Многофункциональный робот DIY с Arduino
Многофункциональный робот DIY с Arduino
Многофункциональный робот DIY с Arduino

Этот робот был в основном построен для понимания Arduino и объединения различных проектов Arduino для создания многофункционального робота Arduino. И еще, кто не хочет иметь робота-питомца? Поэтому я назвал его BLUE ROVIER 316. Я мог бы купить красивое гусеничное шасси, но создание его с нуля научит вас большему и даст вам больше гордости после того, как вы его закончите. Робот способен понимать голосовые команды, отвечать на простые вопросы, управлять как радиоуправляемой машине и даже избегая препятствий во время движения. В основном он управляется через телефон Android, подключенный к нему через Bluetooth. На основе таких функций Android, как Google Voice Recognition и Tilt Sensing, он действительно может вести себя как милый умный робот. Я добавил СИНИЙ в его название, потому что он в основном основан на Bluetooth. На самом деле это был мой первый проект Arduino, и я хотел, чтобы он был уникальным. Если вам нравится проект, пожалуйста, проголосуйте за меня в конкурсе робототехники!

Шаг 1. Демонстрационное видео

Image
Image
История РОВЬЕРА
История РОВЬЕРА

Посмотреть демонстрацию робота можно на этом сайте:

Шаг 2: История РОВЬЕРА

История РОВЬЕРА
История РОВЬЕРА

Вы можете перейти к следующему шагу, если не хотите проходить милую маленькую историю BLUE ROVIER 316. Примерно год назад я получил Arduino UNO в подарок от моего отца. Поскольку это был мой первый шаг в области Arduino, я хотел создать что-то отличное и уникальное от общих проектов Arduino. Это должен был быть симпатичный и умный робот, который мог понимать голосовые команды и делать еще много умных вещей, таких как дистанционное управление, отслеживание линий, обход препятствий и так далее. Вопрос был в том, как их совместить. И после действительно приятного времяпровождения в сети я пришел к выводу, что Bluetooth будет самым дешевым режимом. Итак, BLUE ROVIER был запущен, но возникла ситуация, когда мне пришлось исключить многие функции робота, которые я ожидал от него, в основном из-за нехватки памяти на Arduino UNO (даже меньшее количество цифровые пины на UNO). Неважно, продолжил я. На создание финальной версии робота у меня ушло действительно хорошее время. Итак, после многих испытаний и неудач, наконец появился BLUE ROVIER, и теперь мы можем перейти к созданию робота.

Шаг 3: Компоненты и детали

Компоненты и детали
Компоненты и детали
Компоненты и детали
Компоненты и детали
Компоненты и детали
Компоненты и детали

Вам понадобятся следующие компоненты: 1. Система Android 2. Arduino Uno 3. Модуль wtv020-sd-16p и динамик на 8 Ом4. 2x L293d схема контроллера мотора 5. 4x мотора и колеса 6. Ультразвуковой датчик HC SR04 7. Сервопривод 9g8. 8 АА батарейный отсек и батарейки 9. Карта Micro SD емкостью 1 Гб 10. Маленькая коммутационная коробка для шасси.11. Модуль Bluetooth HC 05 Я знаю, что выглядит дорого! Но не волнуйтесь, это будет стоить всего около двух-трех тысяч рупий. Говоря об Android, это не будет большой проблемой, потому что у большинства он есть в настоящее время. Но наличие более новых версий (выше 5.0) может увеличить производительность. Старайтесь покупать моторы с умеренными оборотами (от 60 до 100). Это поможет держать скорость робота под контролем, поскольку никакая другая схема управления скоростью не устанавливается. А батарейки 8 аа хватит, чтобы робот мог хорошо провести время. А учитывая Bluetooth, HC 05 подходит для робота, потому что он достаточно дешевый и выдающийся. Карта Micro SD емкостью 1 ГБ необходима для хранения голосовых файлов, которые воспроизводятся, когда роботу задается какой-либо вопрос [подробно обсуждается в более поздней части подсказки]. Остальные компоненты подробно обсуждаются на соответствующем этапе.

Теперь перейдем к некоторым простым «теориям», которые используются в этом роботе.

Шаг 4: Теория голосового управления

Теория голосового управления
Теория голосового управления
Теория голосового управления
Теория голосового управления
Теория голосового управления
Теория голосового управления
Теория голосового управления
Теория голосового управления

Робот может понимать голосовые команды через телефон Android. Думаю, все знакомы с Google Voice Recognition, функцией в Android, где мы произносим слово, а Google его набирает. Эта же функция используется здесь для распознавания голосовых команд и преобразования их в текстовые команды. Приложение здесь преобразует речь в текст через Google и отправляет его роботу через Bluetooth. Робот запрограммирован на выполнение этих команд, полученных через Bluetooth. Он также может ответить на множество вопросов. Вы даже можете добавить в код еще несколько команд, чтобы робот мог делать еще несколько удивительных вещей. Вот приложение для Android:

Шаг 5: Теория управления жестами

Теория управления жестами
Теория управления жестами
Теория управления жестами
Теория управления жестами

Управление жестами или управление движением также осуществляется через Android. В этом режиме роботом можно управлять как радиоуправляемым автомобилем, используя Android в качестве рулевого колеса. Во всех устройствах Android есть датчик под названием «Акселерометр», который используется в этом режиме. Этот акселерометр может определить угол, под которым назван телефон, путем измерения сил ускорения, действующих на Android. Именно этот датчик заставляет Android поворачивать экран, когда мы наклоняем телефон. Приложение использует акселерометр телефона для определения угла наклона телефона. Затем символ (A, B….) Отправляется роботу через Bluetooth. Arduino запрограммирован на работу в соответствии с полученными данными. Если телефон наклонен вперед, отправляется символ A, и робот движется вперед. При наклоне назад отправляется символ B, и робот движется назад и так далее влево и вправо. Когда Android размещается горизонтально, отправляется символ E, и робот перестает двигаться.

Шаг 6: теория управления Bluetooth

Теория управления Bluetooth
Теория управления Bluetooth
Теория управления Bluetooth
Теория управления Bluetooth

В этом режиме робот работает как обычная радиоуправляемая машина. Ничего нового в этом режиме нет, он ничем не отличается от обычного автомобиля с дистанционным управлением, доступного на рынке, с той лишь разницей, что мы используем приложение для Android для управления роботом. В приложении есть разные кнопки, каждая из которых имеет разные символы. связанные с ним. При нажатии любой клавиши персонаж отправляется роботу через Bluetooth, как и в режиме управления жестами. Кроме того, при прикосновении к соответствующим клавишам отправляются одни и те же символы, и робот следует за входящими символами. Я использовал кнопки 360 и -360 градусов в приложении, чтобы робот смотрел направо и налево. Вы можете изменить это в коде, если хотите, чтобы робот выполнял другие действия.

Шаг 7: теория избегания препятствий

Теория избегания препятствий
Теория избегания препятствий
Теория избегания препятствий
Теория избегания препятствий

В этом режиме робот работает как робот для предотвращения препятствий, предотвращая столкновение с любым объектом. Это делается с помощью датчика HC SR04. Думаю, вы знаете о SONAR (звуковая навигация и определение дальности). Датчик HC SR04 непрерывно излучает ультразвуковые звуковые волны. Эти волны отражаются после удара о твердую поверхность и возвращаются к датчику. Регистрируется время, необходимое волнам, чтобы вернуться к датчику. Поскольку звук распространяется со скоростью приблизительно 340 м / с и мы знаем, что СКОРОСТЬ × ВРЕМЯ = РАССТОЯНИЕ, мы можем определить расстояние впереди. Например, если звук занимает 2 секунды. чтобы вернуться, мы можем определить расстояние по приведенной выше формуле, т.е. 340 × 2 = 680 м. Таким образом, робот может измерять расстояние до него с помощью датчика. Во время движения робот непрерывно измеряет расстояние впереди с помощью датчика. Если он чувствует, что перед ним свободное пространство меньше 30 см, он прекращает движение. Затем он смотрит влево и вправо и сравнивает расстояние с каждой стороны. Если левая сторона имеет большее расстояние, робот поворачивает налево. Иначе, если правая сторона больше, робот поворачивает направо. Если обе стороны имеют равные расстояния, робот поворачивает назад. Этот простой механизм помогает роботу избегать препятствий.

Шаг 8: Сборка шасси

Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси
Сборка шасси

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

Шаг 9: Подготовка голосового модуля

Подготовка голосового модуля
Подготовка голосового модуля
Подготовка голосового модуля
Подготовка голосового модуля
Подготовка голосового модуля
Подготовка голосового модуля

Режим разговора робота выполняет модуль WTV 020 SD. Модуль используется для воспроизведения голосовых файлов для робота. Когда задается какой-либо вопрос, arduino заставляет модуль воспроизводить соответствующий голосовой файл на SD-карте. На модуле есть четыре линии последовательных данных для связи с Arduino, сбросом, часами, данными и контактами занятости. Помните, что имена файлов должны быть в десятичном формате (0001, 0002…). И файлы должны быть в формате AD4 или WAV. Далее модуль работает только на карте micro SD емкостью 1 ГБ. Некоторые модули работают даже с картами емкостью 2 ГБ, и карта может содержать до 504 голосовых файлов. Таким образом, вы можете включить большое количество голосовых файлов для воспроизведения на большое количество вопросов. Вы даже можете создать свои собственные голосовые файлы AD4 (вы можете пропустить эту часть, если вы можете настроить голосовые файлы, предоставленные вместе с этой интуитивно понятной программой)., у вас должны быть две программы: программа для редактирования звука и программа под названием 4D SOMO TOOL, которая конвертирует файлы в формат AD4. Во-вторых, вы должны подготовить голоса роботов. Вы можете преобразовать текст в речь или даже записать свой собственный голос и озвучить робота. И то, и другое можно сделать в программе для редактирования звука. Но, конечно, роботы не выглядят хорошо, если они говорят человеческими голосами. Так что должно быть лучше преобразовать текст в речь. Существуют различные движки, такие как Microsoft Anna и Microsoft Sam your Computer, которые могут помочь в этом. После подготовки голосовых файлов вы должны сохранить их с частотой 32000 Гц и в формате WAV. Это связано с тем, что модуль может воспроизводить голосовые файлы с частотой до 32000 Гц. Затем используйте 4D SOMO TOOL для преобразования файлов в формат AD4. Для этого просто откройте SOMO TOOL, выберите файлы и нажмите AD4 Encode, и ваши голосовые файлы готовы. Вы можете проверить картинку выше для справки. Если вы хотите получить более подробную информацию о создании голоса роботов, вы можете перейти сюда:

[Создание голоса роботов] Вот исходные голосовые файлы и программное обеспечение:

Шаг 10: Подключение

Установление соединений
Установление соединений
Установление соединений
Установление соединений
Установление соединений
Установление соединений

Замкните все контакты Vcc соответствующих модулей вместе и подключите их к контакту 5 В на Arduino. Сделайте то же самое для контактов gnd. Вот подключения различных модулей. Модуль HC 05: вывод RX к выводу Arduino Dig 0. Контакт TX к выводу arduino 1. Датчик HC SR04: вывод Echo к выводу arduino 6. Триггерный вывод к выводу arduino 7WTV020-SD модуль: pin1 (вывод сброса) на arduino dig pin2.pin4 на динамик + pin5 на динамик -pin7 (часы) на arduino dig pin3.pin8 на gnd.pin10 (данные) на arduino dig pin4.pin15 (занят) на arduino dig pin5.pin16 к 3,3 В Затем подключите провод сервосигнала (желтый) к контакту 12. Контроллер мотора L293d: контакт A1 к контакту Dig Arduino 8. контакт A2 к контакту Dig Arduino 9. контакт B1 к контакту Arduino Dig 10. контакт B2 к выводу 11 Arduino. Помните, что в этом роботе мы используем два модуля L293d. Это связано с тем, что один модуль может питать до двух двигателей. Для управления четырьмя двигателями мы используем два привода. Так что не забудьте выполнить дублирующие подключения на обоих модулях контроллера мотора. Например, подключите контакт 8 Arduino к контакту A1 обоих модулей драйверов. Не забудьте подключить выход одного модуля к двум двигателям, а выход другого модуля - к двум другим двигателям. Для получения дополнительной информации см. Схему.

Шаг 11: Код Arduino

Код Arduino
Код Arduino
Код Arduino
Код Arduino

Это было захватывающее время создания кода. Это совсем не сложный код, он просто использует некоторые библиотеки для связи с Android и звуковым модулем. Большая часть работы выполняется в Android, а не в Arduino. Код основан на связи Bluetooth и входящих данных от Bluetooth. Код составлен таким образом, что мы должны отдавать голосовые команды роботу для выполнения различных режимов, а Arduino постоянно проверяет входящие сигналы Bluetooth. Чтобы остановить любой режим, достаточно сказать «стоп». Единственная проблема с кодом заключается в том, что мы должны вручную выключать робота, когда он находится в режиме предотвращения препятствий. В этом режиме мы не можем использовать команду «стоп». Это связано с тем, что включение этой функции влияет на скорость сканирования расстояния до объектов. Arduino должен будет одновременно считывать расстояние до объекта и входящие сигналы Bluetooth. Это мешает режиму, и робот не может полностью защитить себя от препятствий. Робот может не остановиться мгновенно, даже если расстояние впереди меньше 30 см. Поэтому было бы хорошо не включать эту функцию в этот режим, просто скачайте библиотеки и код и загрузите их в Arduino. Но не забудьте вынуть контакты TX и RX (0, 1) из Arduino перед загрузкой. Эти контакты используются для последовательной связи и используются во время загрузки кода. А в этом роботе эти пины используются для подключения модуля Bluetooth. Так что не забудьте снять их, иначе это может помешать вашему модулю Bluetooth. Вот код и библиотеки:

Шаг 12: устранение проблем и внесение улучшений

Устранение проблем и внесение улучшений
Устранение проблем и внесение улучшений

Вы можете пропустить этот шаг, потому что он касается только усовершенствований робота. В модуле WTV-020-SD-16p возникает много проблем, связанных с объемом карты памяти. Это связано с тем, что некоторые модули работают с картами емкостью 2 ГБ, а некоторые - нет. Так что лучше использовать карту microSD емкостью 1 ГБ, чтобы не было особых проблем с использованием разных версий компонентов. Можно упомянуть различные версии модуля wtv 020 sd. Это связано с тем, что между модулями существует только разница в упаковке, в то время как большинство других внутренних вещей остаются такими же. Еще одна важная вещь, использование печатной платы для робота поможет в значительной степени снизить потребление тока. Если вы подключаете различные компоненты так же, как я, это будет стоить вам некоторого тока, потому что большая его часть будет потеряна в проводах с высоким сопротивлением. Это потому, что схема достаточно большая. Эта интуитивно понятная функция не включает в себя проектирование печатной платы (потому что я ее не делал), но она может повысить энергоэффективность робота. Но BLUE ROVIER 316 еще не закончен! Я подумал о добавлении некоторых дополнительных функций, таких как следующие линии, решение лабиринтов и многое другое. Но это так и осталось мечтой из-за отсутствия контактов на Arduino UNO (BLUE ROVIER действительно съедает много контактов Arduino). Поэтому я думаю об улучшении всех функций этого робота и объединении их вместе, чтобы сформировать более сложный и полезный робот Arduino. Так что будьте готовы увидеть измененный вид РОВЬЕРА через несколько месяцев !!! Я даже хочу увидеть другие модифицированные версии робота, созданные другими людьми, обладающими большим творчеством, чем мой !!!!

Шаг 13: игра с роботом

Играя с роботом
Играя с роботом

Включите робота и посмотрите, как он вас встречает, играет с вами. Задайте любой вопрос (не дурацкий!) И посмотрите, как он ответит. Вы можете сказать следовать линиям или идти вперед. Просто скажите «стоп», когда захотите остановить робота.

Конкурс робототехники 2017
Конкурс робототехники 2017
Конкурс робототехники 2017
Конкурс робототехники 2017

Финалист конкурса робототехники 2017

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