Съдържание:

Просящ робот с проследяване на лицето и контрол от Xbox Controller - Arduino: 9 стъпки (със снимки)
Просящ робот с проследяване на лицето и контрол от Xbox Controller - Arduino: 9 стъпки (със снимки)

Видео: Просящ робот с проследяване на лицето и контрол от Xbox Controller - Arduino: 9 стъпки (със снимки)

Видео: Просящ робот с проследяване на лицето и контрол от Xbox Controller - Arduino: 9 стъпки (със снимки)
Видео: Leap Motion SDK 2024, Юли
Anonim
Image
Image
Инсталиране и конфигуриране на OpenCV и C ++
Инсталиране и конфигуриране на OpenCV и C ++

Ще направим просящ робот. Този робот ще се опита да дразни или да привлече вниманието на преминаващи хора. Той ще разпознае лицата им и ще се опита да стреля по тях с лазери. Ако дадете на робота монета, той ще изпее песен и ще танцува. Роботът ще се нуждае от 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 ++

Инсталиране и конфигуриране на OpenCV и C ++
Инсталиране и конфигуриране на 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

Настройване на Arduino
Настройване на Arduino
Настройване на Arduino
Настройване на Arduino
Настройване на Arduino
Настройване на Arduino
Настройване на Arduino
Настройване на 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 печат и усъвършенстване на печата

3D печат и усъвършенстване на печата
3D печат и усъвършенстване на печата
3D печат и усъвършенстване на печата
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 във визуално студио. И роботът ще стреля и ще събере всички монети по света !!!

Препоръчано: