Съдържание:
- Стъпка 1: Материалите
- Стъпка 2: Инсталиране и конфигуриране на OpenCV и C ++
- Стъпка 3: Настройка на Arduino
- Стъпка 4: C ++ кодът
- Стъпка 5: Кодът на Arduino
- Стъпка 6: 3D печат и усъвършенстване на печата
- Стъпка 7: Изграждане на кутията
- Стъпка 8: Завършване
- Стъпка 9: Стартирайте програмата
Видео: Просящ робот с проследяване на лицето и контрол от Xbox Controller - Arduino: 9 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Ще направим просящ робот. Този робот ще се опита да дразни или да привлече вниманието на преминаващи хора. Той ще разпознае лицата им и ще се опита да стреля по тях с лазери. Ако дадете на робота монета, той ще изпее песен и ще танцува. Роботът ще се нуждае от arduino, емисия на живо от камера и компютър, за да работи с openCV. Роботът също ще може да се управлява от xBox контролер, ако е свързан към компютъра.
Стъпка 1: Материалите
Електронен хардуер
- Arduino NANO или UNO
- USB 2.0 камера
- Джъмперни кабели (мъжки и женски)
- 2 x серво - общ (под -микро размер)
- 2 x LED - RGB КАТОД 5 мм
- 2 x 5mW лазери
- 1 x червен светодиод 5 мм
- 1 x Платка
- 4 x 220Ω резистор
- 1 x 1KΩ резистор
- 1 x протоборд
- 1 x Сонарен сензор 4 пина
- Xbox контролер
Хардуерен аналог
- Дървена кутия (15 x 15 x 7 см)
- Лепило
- Електрическо тиксо
Софтуер
- Arduino IDE
- Визуално студио 2017
- 3Ds Max (или друг софтуер за 3D моделиране)
- Преформа 2.14.0 или по -нова
- OpenCV 3.4.0 или по -нова версия
Инструменти
- Оборудване за запояване
- Видял и пробил
- Резачка за тел
Стъпка 2: Инсталиране и конфигуриране на OpenCV и C ++
Стъпка 2.1: Получаване на софтуера
Visual studio 2017: Изтеглете Visual studio Comunity 2017openCV 3.4.0 Win pack: Отидете на официалната страница за изтегляне
Стъпка 2.2: Инсталиране на OpenCV2.2.1: Извлечете zip файла на вашето устройство с Windows (: C). 2.2.2: Отидете на разширените си системни настройки. Това може да бъде намерено във вашата функция за търсене win10.2.2.3: Трябва да настроим нови променливи на околната среда. Намерете околната среда "Path" и натиснете edit.2.2.4: Сега трябва да добавим местоположението на "bin map" към нова променлива в околната среда на Path. Ако сте инсталирали openCV на вашето устройство C, пътят може да изглежда така: C: / opencv / build / x64 / vc14 / bin Поставете пътя и натиснете "OK" във всички прозорци, които може да сте отворили по време на този процес.
Стъпка 2.3: Конфигуриране на визуално студио C ++ 2.3.1: Направете нов визуален C ++ проект. Направете го празен проект на приложение за конзола на win32.2.3.2: В раздела Изходни файлове щракнете с десния бутон и добавете нов C ++ файл (.cpp) и го наречете "main.cpp".2.3.3: Щракнете с десния бутон върху проекта- име в Explorer Explorer и изберете Properties.2.3.4: Трябва да добавим допълнително Directory Include. Това може да се намери в раздела C/C ++ като цяло. Копирайте следния път: C: / opencv / build / include и го поставете зад „AID“и щракнете върху Apply. 2.3.3: В същия прозорец трябва да изберете раздела „Linker“. като цяло трябва да направим други допълнителни библиотечни директории. Поставете следния път зад "AID" C: / opencv / build / x64 / vc14 / lib и натиснете отново Apply.2.3.6: Под същия раздел Linker изберете раздела "Input". И натиснете „Допълнителни зависимости> редактиране“и поставете следния файл opencv_world320d.lib и xinput.lib (За контролера) и натиснете отново приложи. Затворете прозореца. Сега вашият C ++ файл е готов за работа.
Стъпка 3: Настройка на Arduino
Среща със сервомоторите: Сервомоторите могат да се въртят ~ 160 ° Те трябва да имат между 4, 8 и 6, 0 волта, за да работят нормално. Сервото има 3 пина: земя, 4, 8 - 6, 0 волтов щифт и данни щифт. За нашия проект ще настроим щифтовете за данни за сервомоторите на DigitalPin 9 и 10.
Среща с RGB светодиодите: RGB светодиодите имат 4 пина: червен, зелен, син и заземен щифт. За да спестим малко място на arduino, можем да свържем 2 -те RGB светодиода заедно. Ще използваме само 3 пина. Можем да свързваме и запояваме RGB светодиодите на протоборд като на изображението. Червен щифт => DigitalPin 3 (PWM) Зелен щифт => DigitalPin 4Blue щифт => DigitalPin 7
Среща с пиезо зумера: Нашият малък робот ще вдигне шум. За да направим това, трябва да му дадем глас! Можем да изберем да го направим наистина силен. Или можем да поставим 220Ω резистор пред пиезо зумера, за да го направим малко по -малко неприятен. Оставяме пиезо зумера на дъската. Така че няма нужда от запояване. Свързваме щифта за данни (+) към DigitalPin 2 и заземяващия щифт към земята на макета.
Среща със сонара: За да предпазите робота от опит да се насочи към човек, който е на 10 метра разстояние. Можем да дадем на робота разстояние от разстояние, от което той ще може да се насочи към хората. Правим това със сонарен сензор. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => мас
Среща с детектора за монети: Ще направим детектор за монети. Детекторът на монети ще работи, като установява дали веригата е затворена или прекъсната. Почти ще работи като превключвател. Но трябва да бъдем внимателни. Ако направим това погрешно, това ще ни струва arduino. Първо: Свържете AnalogPin A0 към 5 -волтов кабел. Но не забравяйте да поставите 1KΩ резистор между него. Второ: Свържете проводник към земята. Можем веднага да запояваме проводниците и резистора към същата протоборда като RGB светодиодите. Сега, ако докоснем 2 -те проводника, то arduino ще открие затворена верига. Това означава, че има монета! Среща се с лазерите на обречеността. Роботът се нуждае от оръжия, за да стреля! За да спестя малко място, споявах двата лазера заедно, които идеално се вписват в рамката на камерата. Свържете ги към DigitalPin 11 и към земята.
Може да поставим червен светодиод под слота за монети. Това ще бъде забавен трик, когато е тъмно. Свържете проводник към DigitalPin 8 и поставете 220Ω резистор между светодиода и проводника, за да предотвратите взривяването му. Свържете късия щифт на светодиода към земята.
Стъпка 4: C ++ кодът
Стъпка 4.1: Настройване на кода main.cpp 4.1.1: Изтеглете „main.cpp“и копирайте кода на собствения си main.cpp.4.1.2: На ред 14 променете „com“на com, който използва arduino. "\. / COM (променете това)" 4.1.3: На ред 21 и 22 задайте правилния път към файловете "haarcascade_frontalface_alt.xml" и "haarcascade_eye_tree_eyeglasses.xml" Ако openCV е инсталиран на C устройството, тези файлове могат да се намират тук: "C: / opencv / build / etc / haarcascades \" Запазете двойните обратни наклонени черти или добавете такъв, където има само един.
Стъпка 4.2: Добавете tserial.h и Tserial.cpp Тези 2 файла ще се погрижат за комуникацията между arduino и компютъра. 4.2.2: Изтеглете tserial.h и Tserial.cpp. директория. В Explorer Explorer щракнете с десния бутон върху проекта и изберете добавяне> съществуващ елемент. В изскачащия прозорец изберете двата файла за добавяне.
Стъпка 4.2: Добавяне на CXBOXController.h и CXBOXController.h Тези файлове ще поемат контролерната част на проекта. 4.2.2: В Explorer Explorer щракнете с десния бутон върху проекта и изберете добавяне> съществуващ елемент. В изскачащия прозорец изберете двата файла за добавяне. Файловете на C ++ са настроени.
Стъпка 5: Кодът на Arduino
Стъпка 5.1: Библиотека NewPing 5.1.1: Изтеглете ArduinoCode.ino и го отворете в arduino IDE.5.1.2: Отидете на „Скица> Включване на библиотека> Управление на библиотеки“.5.1.3: Потърсете във филтърното поле до „NewPing“и инсталирайте тази библиотека.
Стъпка 5.2: Библиотека на пичове 5.2.2: Изтеглете pitches.txt и копирайте съдържанието на pitches.txt. 5.2.2: В IDE на Arduino натиснете CTRL+Shift+N, за да отворите нов раздел. 5.2.2: Поставете кода от pitches.txt в новия раздел и го запазете като „pitches.h“. Кодът на Arduino е настроен
Стъпка 6: 3D печат и усъвършенстване на печата
Стъпка 6.1: Отпечатайте 3D файла Отворете printfile.form и проверете дали всичко е наред. Ако всичко изглежда добре, изпратете заданието за печат до принтера. Ако нещо изглежда или искате да промените модела. Включих файловете 3Ds Max и OBJ файлове, които можете да редактирате.
Стъпка 6.2: Прецизиране на модела 6.2.1: След приключване на отпечатването накиснете двата модела в 70% алкохол, за да премахнете остатъците от печат. 6.2.2: След отпечатване оставете модела на слънце за няколко часа, за да оставите UV-светлината втвърдява модела. Или можете да използвате UV лампа, за да втвърдите модела. Това трябва да се направи, защото моделът ще бъде лепкав.
6.2.3: Премахване на рамката за поддръжка. Това може да стане с нож за тел. Или всеки друг инструмент, който може да реже пластмаси. 6.2.4: Някои части от 3D отпечатването все още могат да бъдат меки. Дори ако моделът е бил в много UV светлина. Частите, които могат да бъдат меки, са частите, които са близо до опорните рамки. Поставете модела на повече слънце от UV светлина, за да се втвърди. Можете да опитате да монтирате сервомоторите в рамката. Ако те не пасват, можете да използвате Dremel за шлайфане на материал. направете го подходящ.
Стъпка 7: Изграждане на кутията
Стъпка 7.1: Пробиване на дупките Включих чертеж на въпросната кутия. Планът не е в мащаб, но всички размери са правилни. 7.1.1: Започнете, като маркирате всички отвори на правилните места. 7.1.2: Пробийте всички отвори. По -големите отвори могат да бъдат направени с размер с Dremel.7.1.3: Квадратните дупки също могат да бъдат пробити. Но за да ги направите квадратни, можете да поставите Dremel с малък файл и да изрежете остри ъгли. 7.1.4: Опитайте се да поставите всички компоненти. 7.1.5: Внимавайте за дървени трески. Използвайте шкурка, за да се отървете от тях.
Стъпка 7.2: Боядисване 7.2.1: Започнете с шлайфане на капака. Трябва ни боята да залепне. 7.2.2: Вземете кърпа и поставете върху нея малко терпентин, за да почистите кутията.
Стъпка 8: Завършване
Сега трябва да поставим всичко на място и да го оставим да прави нещата. Стъпка 8.1: Детекторът на монети 8.1.1: Залепете някои метални скоби за детектора на монети. 8.1.1: Запоявайте всеки проводник от конектора към скоба..3: Тествайте връзката с монета. Ако няма затворена верига, запоявайте проводниците повече до ръба. 8.2.3: Свържете всички проводници от протоборда към arduino. Стъпка 8.3: Сонарният сензор 8.3.1: Поставете сензора в отворите, които сме направили за него. 8.3.28.3.2: Нарежете някои мъжки и женски проводници наполовина и запоявайте женските и мъжките проводници заедно, за да направите един кабел, който можем да използваме за свързване на сензора към arduino.
Стъпка 8.4: Лазери и камера 8.4.1: Залепете малката рамка към камерата. Уверете се, че е изправен. 8.4.2: Поставете и лазерите в рамката. Залепете ги, за да не ги открадне врагът!
Стъпка 8.5: Сервомоторите и 3D печат 8.5.1: Залепете серво в отвора на капака 8.5.2: Качете arduino файла в arduino (това прави сервомоторите да стоят в правилната позиция) 8.5.3: Сървото дойде малко кръгло плато. Поставете това върху сервото в капака. 8.5.4: Поставете големия 3D печат върху сервото и платото и ги завийте плътно заедно с винт. 8.5.5: Поставете втория серво върху малкия 3D печат и ги залепете заедно. 8.5.6: Поставете камерата на място и всичко е готово за работа!
Стъпка 9: Стартирайте програмата
За да стартирате робота, отворете файла C ++ във Visual studio. Уверете се, че сте в режим на отстраняване на грешки. Качете файла arduino в arduino. След като това бъде качено, натиснете play във визуално студио. И роботът ще стреля и ще събере всички монети по света !!!
Препоръчано:
Контрол на щорите с ESP8266, Google Home и Openhab интеграция и уеб контрол: 5 стъпки (със снимки)
Контрол на щори с ESP8266, интегриране и уебконтрол на Google Home и Openhab: В тази инструкция ще ви покажа как добавих автоматизация към моите щори. Исках да мога да добавя и премахвам автоматизацията, така че цялата инсталация е закрепена. Основните части са: Стъпков двигател Стъпков шофьор, управляван от bij ESP-01 Gear и монтаж
Проследяване и проследяване за малки магазини: 9 стъпки (със снимки)
Проследяване и следене за малки магазини: Това е система, създадена за малки магазини, която трябва да се монтира на електронни велосипеди или електронни тротинетки за доставки на къси разстояния, например пекарна, която иска да доставя сладкиши. Какво означава Track and Trace? Проследяване и проследяване е система, използвана от ca
Направи си сам интелигентен робот за проследяване на комплекти за кола Проследяване на фоточувствителна кола: 7 стъпки
DIY Smart Robot Tracking Car Kits Проследяване на автомобил Фоточувствителен: Дизайн от SINONING ROBOT Можете да закупите от проследяващ робот car Теорът LM393 сравнете двата фоторезистора, когато има един страничен фоторезистор LED на БЯЛО, страната на двигателя ще спре веднага, другата страна на двигателя завърти се, така че
Променяща се маска за промяна на лицето - Бъдете всичко: 14 стъпки (със снимки)
Променяща се маска за промяна на лицето - бъдете каквото и да е: Какво правите, когато не можете да решите какво искате да бъдете за Хелоуин? Бъди всичко. Прожекционната маска се състои от бяла 3D отпечатана маска, малиново пи, малък проектор и батерия. Той е способен да проектира всичко и всичко
Контрол на яркостта ШИМ базиран LED контрол с помощта на бутони, Raspberry Pi и надраскване: 8 стъпки (със снимки)
Контрол на яркостта PWM управление на LED управление с помощта на бутони, Raspberry Pi и Scratch: Опитвах се да намеря начин да обясня как PWM работи на моите ученици, затова си поставих задачата да се опитам да контролирам яркостта на светодиода с помощта на 2 бутона - единият бутон увеличава яркостта на светодиода, а другият го затъмнява. Към програмата