Оглавление:
- Шаг 1. Просверлите, подключите и установите двигатель
- Шаг 2: прикрепление контейнера
- Шаг 3: сделайте небольшое отверстие для метателя конфет
- Шаг 4: Настройка Arduino
- Шаг 5: Настройка Dlib
- Шаг 6. Подключение распознавателя лиц к вашему роботу
Видео: Робот для метания конфет с Arduino, переработанными деталями и библиотекой: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
С помощью нескольких переработанных деталей, моторного щита 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 дает на основе функциональности ориентиров на лицах.:)
Рекомендуемые:
Страшная машина для конфет из тыквы на Хэллоуин: 5 шагов
Страшная машина для конфет из тыквы на Хэллоуин: Всем привет! С праздником Хэллоуин !! Мы построили тыквенный фонарь, который будет играть музыку и плюется конфетами, когда к нему кто-нибудь подходит
Украшение диспенсера для конфет на Хэллоуин «голова в банке» с Arduino: 5 шагов
Украшение диспенсера для конфет на Хэллоуин «голова в банке» с Arduino: в этом проекте объясняется, как построить диспенсер для конфет, который будет использоваться в качестве украшения для Хэллоуина с Arduino Uno. Светодиоды загораются в последовательности назад и вперед красным цветом и будут поворачиваться становится зеленым, если ультразвуковой датчик обнаруживает руку. Затем сервопривод выключится
Рентгеновский излучатель с деталями телевизора и вакуумной трубкой: 5 шагов
Рентгеновский излучатель с деталями телевизора и вакуумной трубкой: этот труднопроходимый объект покажет вам основы создания рентгеновского аппарата своими руками из лома частей телевизора и радиоламп
Чаша для конфет с сюрпризом на Хэллоуин: 6 шагов (с изображениями)
Хеллоуин-сюрприз Candy Bowl: Итак, для моего следующего проекта я решил сделать конфетную вазу для MakerSpace нашей библиотеки! Я хотел сделать что-нибудь в тематике Хэллоуина, которое продемонстрировало бы некоторые возможности Arduino UNO. Основная идея заключается в том, что когда кто-то идет за конфетами
Автоматическая катапульта для бросания корма для домашних животных (собака, кошка, курица и т. Д.), Метания мячей и многого другого!: 4 шага (с изображениями)
Автоматическая катапульта для бросания корма для домашних животных (собаки, кошки, курицы и т. Д.), Метания мячей и многого другого !: Здравствуйте, и добро пожаловать на мой первый инструктаж! Наша собака ОБОЖАЕТ свою еду, она буквально съест ее в считанные секунды. Я придумывал способы замедлить это, от шариков с едой внутри до разбрасывания ее на задний двор. Удивительно, но она