Оглавление:

Робот для метания конфет с Arduino, переработанными деталями и библиотекой: 6 шагов
Робот для метания конфет с Arduino, переработанными деталями и библиотекой: 6 шагов

Видео: Робот для метания конфет с Arduino, переработанными деталями и библиотекой: 6 шагов

Видео: Робот для метания конфет с Arduino, переработанными деталями и библиотекой: 6 шагов
Видео: Дельта робот FANUC на сортировке конфет 2024, Ноябрь
Anonim
Робот для метания конфет с Arduino, переработанными деталями и Dlib
Робот для метания конфет с Arduino, переработанными деталями и Dlib

С помощью нескольких переработанных деталей, моторного щита Arduino + и компьютерного программного обеспечения Dlib вы можете создать работающий метатель конфет с распознаванием лиц.

Материалы:

  • Деревянная рамка
  • Ноутбук / компьютер (желательно на один более мощный, чем Raspberry Pi!).
  • Arduino (желательно Uno или тот, который подходит к вашему моторному щиту).
  • Моторный щит Arduino (я использовал старый щит Adafruit, который до сих пор продается здесь)
  • Любая стандартная веб-камера
  • Маленькая шайба

Переработанные детали:

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

Внутреннее строение готового продукта будет чем-то напоминать прилагаемый обзор.

Предупреждение

Убедитесь, что вы отключили питание от Arduino / настройки двигателя перед подключением / изменением проводки. Убедитесь, что подключили питание с соблюдением полярности!

Это проект среднего уровня с использованием Arduino и программного обеспечения, которое необходимо установить или скомпилировать на свой компьютер. Инструкции могут отличаться и были протестированы на Ubuntu.

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

Шаг 1. Просверлите, подключите и установите двигатель

Просверлить, подключить и установить двигатель
Просверлить, подключить и установить двигатель
Просверлить, подключить и установить двигатель
Просверлить, подключить и установить двигатель

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

Шаговые двигатели могут двигаться с небольшими приращениями (4 провода), в отличие от двигателей постоянного тока (2 провода), которые работают назад / вперед, а не ступенчато.

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

Если вы используете старый экран Adafruit, как в моем примере, вам следует подключить двигатель спиннера постоянного тока к двигателю № 3, а шаговый двигатель - к первым двум двигателям (№ 1, № 2), как описано в их документации.

После подключения подключите двигатели к Arduino Motor Shield, подключенному к Arduino. Для достижения наилучших результатов рекомендуется иметь второй источник питания для двигателей, который вы можете подключить к выходу постоянного тока на настенной бородавке за 2 доллара из магазина подержанных вещей.

Шаг 2: прикрепление контейнера

Присоединение контейнера
Присоединение контейнера
Присоединение контейнера
Присоединение контейнера
Присоединение контейнера
Присоединение контейнера
Присоединение контейнера
Присоединение контейнера

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

Прикрепите контейнер к коробке с помощью небольшой шайбы - Krazy-приклейте ее к дну контейнера и к шпинделю электродвигателя.

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

Шаг 3: сделайте небольшое отверстие для метателя конфет

Сделайте небольшое отверстие для метателя конфет
Сделайте небольшое отверстие для метателя конфет

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

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

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

Шаг 4: Настройка Arduino

Если вы еще не установили программное обеспечение Arduino, загрузите его с

www.arduino.cc/en/Main/Software

Любая последняя версия должна работать.

Протестируйте двигатель постоянного тока / шаговый двигатель с помощью примеров, приведенных в примере кода вашего Arduino Shield.

Если вы используете этот щит (все еще доступен у некоторых реселлеров), вы можете использовать мой код напрямую:

github.com/programmin1/HowToTrainYourRobot…

После того, как вы протестировали и можете раздавать конфеты, введя "d" в окне последовательного порта Arduino, самое время подключить это к распознавателю Dlib.

Шаг 5: Настройка Dlib

Dlib (https://dlib.net/) предоставляет простую в использовании библиотеку с открытым исходным кодом для распознавания изображений. Установите модуль Python Dlib, используя:

sudo pip установить Dlib

- или -

sudo easy_install Dlib

Подождите, пока Dlib установится и скомпилируется. (Вам понадобится компьютер, желательно с парой гигабайт оперативной памяти, или вам придется долго ждать и расширять пространство подкачки). Код также использует OpenCV для модуля веб-камеры, поэтому запустите:

sudo apt-get install python-opencv

Действия по установке могут отличаться, если вы используете MacOS или другие операционные системы.

Теперь возьмите данные об ориентирах обнаружения лиц из

dlib.net/files/shape_predictor_68_face_land…

Разархивируйте его (с помощью Archive Manager / 7zip) и поместите в HOME / Downloads / shape_predictor_68_face_landmarks.dat

Шаг 6. Подключение распознавателя лиц к вашему роботу

Подключение распознавателя лиц к вашему роботу
Подключение распознавателя лиц к вашему роботу

Подключите USB-порт, управляющий Arduino, к компьютеру и убедитесь, что существует файл «/ dev / ttyACM0» (это устройство, на которое отправляются последовательные команды). Если это не работает и в / dev появляется другой каталог с таким же именем, когда вы его подключаете, замените / dev / ttyACM0 в файле faceDetectThreadCorrelationCV2FaceSmile.py в репозитории.

Подключите веб-камеру (если на используемом вами компьютере нет встроенной веб-камеры) и запустите этот файл.py в командной строке или с помощью команды «Выполнить / F5» в текстовом редакторе Geany. Если вы хотите использовать вторую / внешнюю веб-камеру на ноутбуке, вы можете изменить «VideoCapture (0)» на «VideoCapture (1)», чтобы использовать вторую веб-камеру, которую можно разместить на шаговом двигателе в верхней части корпуса робота..

Если все пойдет хорошо, вы увидите контур улыбки, когда лицо окажется перед веб-камерой.

Прочтите обзор и исходный код файла.py, чтобы увидеть математику того, как работает обнаружение улыбки, исходя из баллов, которые Dlib дает на основе функциональности ориентиров на лицах.:)

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