Оглавление:

ARCA (Очаровательный Android с дистанционным управлением): 4 шага (с изображениями)
ARCA (Очаровательный Android с дистанционным управлением): 4 шага (с изображениями)

Видео: ARCA (Очаровательный Android с дистанционным управлением): 4 шага (с изображениями)

Видео: ARCA (Очаровательный Android с дистанционным управлением): 4 шага (с изображениями)
Видео: Замок чёрного железа. Автор: Drunken Tiger. Главы: 1177-1201 2024, Ноябрь
Anonim
ARCA (Очаровательный Android с дистанционным управлением)
ARCA (Очаровательный Android с дистанционным управлением)
ARCA (Очаровательный Android с дистанционным управлением)
ARCA (Очаровательный Android с дистанционным управлением)
ARCA (Очаровательный Android с дистанционным управлением)
ARCA (Очаровательный Android с дистанционным управлением)

Это руководство было создано во исполнение требований проекта Makecourse в Университете Южной Флориды (www.makecourse.com).

ARCA - это очаровательная Android-система с дистанционным управлением, которую невероятно интересно создавать и с которой играть. Цель этого проекта состояла в том, чтобы создать что-то, что каждый сможет понять и связать, создав очаровательного и функционального робота.

Робот функционирует, отображая различные эмоции на светодиодной матрице 8 на 8, эти эмоции включают радость, сон, любовь, гнев, глупость и взгляд вверх, влево и вправо. Робот также работает как радиоуправляемая машина и может двигаться вперед и поворачивать налево или направо. Робот движется вперед, активируя оба колесных мотора, поворачивает налево, включая правый мотор, и поворачивает вправо, включая левый мотор. Дизайн очень упрощен, но он просто работает, и я хотел сосредоточиться на программировании Arduino, поскольку в душе я программист.

Последние версии всех файлов, используемых в этом руководстве, можно найти в моем репозитории Github ARCA.

Шаг 1: список деталей и 3D-печать

Список деталей и 3D-печать
Список деталей и 3D-печать
Список деталей и 3D-печать
Список деталей и 3D-печать

Детали для этого проекта можно напечатать на 3D-принтере или купить в Интернете. Думая о сборке, я хотел сделать ключ к эффективности, а также попытаться (в буквальном смысле) не изобретать велосипед. В этом проекте использовался 3D-принтер Makerbot Replicator. Если вы хотите убедиться, что ваши 3D-отпечатки соответствуют моим, используйте этот принтер.

Структурные компоненты

  • Коробка с отверстиями по бокам для колес и рычагов
  • Крышка ящика с отверстиями для задних колес и отверстием для ИК-датчика
  • Левая рука
  • Правая рука
  • Ось для двух задних колес
  • два соединителя оси для соединения крышки с осью
  • 4 колеса (моторы также включены в эту ссылку)
  • Маленькие винты (для установки в двигатели)

Электрические компоненты

  • Ардуино Уно
  • Небольшая макетная плата (я купил комплект Arduino, и он пришел с ним)
  • Две матрицы MAX7219 с красными точками с управлением от микроконтроллера
  • Инфракрасный приемник и пульт
  • Два транзистора TIP 120
  • Соединительные провода (я использовал много проводов «папа-мама», а также «папа-папа», и рекомендую использовать длинные провода вместо коротких).
  • один резистор 220 Ом
  • Два мотор-редуктора
  • Подключаемые через USB блоки питания (портативные, используемые для сотовых телефонов)

Шаг 2: Сборка

сборка
сборка
сборка
сборка
сборка
сборка

Структурная сборка

Детали, напечатанные на 3D-принтере, скорее всего, потребуют некоторой очистки, и я рекомендую отшлифовать их мелкой зернистостью и использовать ацетон (жидкость для снятия лака), чтобы удалить любые остатки клея, использованного в процессе 3D-печати. Некоторые детали могут не подходить идеально, и мне пришлось отшлифовать ось, чтобы она была идеально круглой и правильно проходила через отверстия.

Колеса нуждаются в небольшой регулировке, их нужно было просверлить больше, чтобы соответствовать размерам оси сзади и винтов спереди. Используйте сверло диаметром 6 мм, чтобы просверлить отверстия в колесах, чтобы просверлить отверстия большего размера в колесах.

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

Остальная часть сборки довольно проста:

  1. Прикрепите держатели оси к задней части крышки коробки, используя эпоксидную смолу для герметизации.
  2. Пропустите ось через держатели оси.
  3. Приклейте колеса к оси жидким бетоном.
  4. Проденьте руки в верхние отверстия и приклейте к держателю руки эпоксидной смолой.
  5. Вкрутите крышку коробки в коробку.
  6. Оберните изолентой дно коробки, где находятся колеса.

Электрическая сборка

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

Задняя часть моей макетной платы имела липкую основу, но вы можете использовать изоленту, чтобы приклеить ее, если у вас ее нет. Из соображений безопасности также использовалась изолента для крепления электрических компонентов не на плате. Микроконтроллеры со светодиодными дисплеями были прикреплены к задней части глазниц с помощью изоленты, а двигатели также были прикреплены к бокам коробки рядом с отверстиями с помощью изоленты. Я использовал красную изоленту, чтобы сделать ее более незаметной, на всякий случай, и рекомендую использовать изоленту того же цвета, что и ваша версия ARCA.

Макетная плата и контакты расположены так, как показано на изображении Fritzing. Если вы хотите добавить что-то к этой диаграмме для настройки ARCA, вы можете загрузить файл Fritzing в моем репозитории Github и отредактировать его так, как вам нравится.

Я прикрепил провода к петлям в мотор-редукторах, согнув провода вокруг петель, чтобы они оставались прикрепленными. Вероятно, было бы лучше припаять эти соединения, если у вас есть доступ к паяльнику, но это простое решение, если у вас его нет.

Блок питания подключается к тому же шнуру, который используется для подключения Arduino к компьютеру для загрузки вашей программы, и он просто незакреплен в роботе, поэтому его можно легко снять и зарядить.

Шаг 3: программирование

Программирование
Программирование

Вот код, который вы можете загрузить в свой ARCA, чтобы он работал точно так же, как мой, вам также понадобятся следующие две библиотеки для использования кода.

Однако для ясности и настройки я проведу вас через свой код. Не стесняйтесь пропустить этот шаг, если вы не настраиваете своего робота или не планируете менять эмоции.

Во-первых, я включаю две библиотеки для использования в моем коде, что позволяет мне использовать функции и объекты этих библиотек. Я также определяю здесь свои булавки. Если вы решили сделать свои пины отличными от моих настроек на предыдущем шаге, внесите здесь изменения в свой код с помощью соответствующих пинов.

Затем я определил эмоции, объявил необходимые объекты для ИК-датчика и светодиодных дисплеев 8 на 8, а также определил некоторые глобальные переменные. Эмоции объявляются в байтовом массиве, где каждое из шестнадцатеричных чисел в массиве представляет строки в результирующем отображении 8 на 8. Чтобы создать свои собственные эмоции, я рекомендую нарисовать эмоцию, которую вы хотели, в сетке 8 на 8, а затем записать каждую строку 8-битного двоичного числа, где выключенный свет равен 0, а свет включен - 1, а затем создать шестнадцатеричное число из этого и поместите его в массив длиной 8. Я также определил некоторые глобальные переменные для использования в цикле; переменные для механизма мигания и указатели для хранения эмоций и установки их на нейтральное начало.

Теперь мы переходим к циклу настройки, в котором я включаю последовательный мониторинг для тестирования, и это должно быть полезно для тестирования вашего кода с различными ИК-пультами. Затем я инициализировал объекты для левого и правого глаза, используя функции из библиотеки управления светодиодами. Я также установил контакты мотор-редуктора на выход и включил ИК-приемник.

В цикле он, по сути, ожидает ИК-сигнала, который изменит статус-кво робота. Таким образом, если получен ИК-сигнал и он совпадает с одним из кодов от определенной кнопки, то этот оператор if запускается и устанавливает значения для левого и правого глаза соответственно для эмоций. Если кнопка перемещения нажата, например, влево, вправо, вперед и ОК, то контакты записываются в цифровом виде, чтобы они были включены или выключены в зависимости от нажатой кнопки. Просто обратите внимание на коды ИК-приемника: в библиотеке ИК-пульта есть образец кода, который предоставит вам шестнадцатеричные коды для вашего пульта дистанционного управления, если при нажатии кнопок ничего не происходит, откройте эту программу, чтобы убедиться, что коды верны. Все, что вам нужно сделать, это изменить шестнадцатеричное число, которое идет с каждой кнопкой.

Наконец, у вас есть функция, которая выводит эмоции на дисплеи 8 на 8. При этом используются функции setRow из библиотеки управления светодиодами, просто просматриваются массивы, которые вы создали, и соответственно устанавливаются строки. Он принимает два параметра: массив для левого глаза и массив для правого глаза. Это может быть либо байтовый указатель, либо сам байтовый массив (то есть имя «нейтральный»), который действует как указатель.

Шаг 4: Дополнительные советы и хитрости

Бонусные советы и хитрости
Бонусные советы и хитрости

Конечно, я многому научился во время этого проекта, и я хотел бы поделиться здесь некоторыми дополнительными советами, которые применимы как для этого проекта, так и для других проектов, использующих Arduino.

  • Есть много онлайн-ресурсов по Arduino, и, на мой взгляд, наиболее полезными являются веб-сайты Arduino из-за их четких и лаконичных примеров кода.
  • Не изобретайте велосипед - существует множество наборов и готовых деталей, которые можно использовать, чтобы упростить свой проект. Я программист, а не инженер-механик, и мне было трудно понять, как я собираюсь заставить этого робота работать, но было легко найти что-то, что можно купить в Интернете и реализовать в своем дизайне, по сравнению с буквально изобретением нового колесо
  • Библиотеки - ваш друг в Arduino, а также во всех объектно-ориентированных языках, и они существуют не зря. Соедините это с микроконтроллерами, и программирование светодиода 8 на 8 очень просто. Я программировал один из них вручную раньше, и только один использует почти каждый вывод в Arduino и требует тонны кода. Очень грязно и не очень весело.
  • 3D-принтеры - это круто, но не идеально, и можно что-то шлифовать. По этой причине вы бы предпочли увеличить размер при 3D-печати, потому что в большинстве случаев вы можете немного отшлифовать его, чтобы получить идеальную посадку.
  • Питание может быть проблемой, потому что я подумал об энергопотреблении в последнюю минуту и подумал, что батарея 5 В сделает свое дело. Тогда, казалось бы, случайным образом, иногда двигатель или светодиодный дисплей не работали. После того, как я перешел на блок питания, проблем больше не было, несмотря на то, что робот был более громоздким.

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