Мазмуну:

Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)

Video: Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)

Video: Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Июль
Anonim
Image
Image
OpenCV жана C ++ орнотуу жана конфигурациялоо
OpenCV жана C ++ орнотуу жана конфигурациялоо

Биз кайыр суроочу роботту жасайбыз. Бул робот кыжырдантууга же өтүп бараткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. OpenCVди иштетүү үчүн роботко ардуино, камеранын түз берүүсү жана компьютер керек болот. Робот, эгерде ЖКга туташса, xBox контроллери тарабынан башкарыла алат.

1 -кадам: материалдар

Электрондук жабдуу

  • Arduino NANO же UNO
  • USB 2.0 камерасы
  • Өткөргүч кабелдер (эркек жана аял)
  • 2 х Servo - Generic (Sub -Micro Size)
  • 2 х LED - RGB CATHODE 5мм
  • 2 x 5 мВт лазер
  • 1 х Кызыл LED 5мм
  • 1 х нан тактасы
  • 4 x 220Ω каршылыгы
  • 1 x 1KΩ каршылыгы
  • 1 x protoboard
  • 1 x Sonar сенсор 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 пакетин жүктөп алыңыз: Расмий жүктөө барагына өтүңүз

2.2 -кадам: OpenCV2.2.1 орнотуу: ZIP файлын Windows (: C) драйвыңызга чыгарыңыз.2.2.2: Өркүндөтүлгөн тутум жөндөөлөрүңүзгө өтүңүз. Бул win10 издөө функциясынан табууга болот.2.2.3: Биз жаңы Экологиялык өзгөрмөлөрдү орнотушубуз керек. "Path" экологиясын табыңыз жана edit.2.2.4 прессин басыңыз: Эми биз "бин картасынын" жайгашкан жерин Path чөйрөсүндөгү жаңы өзгөрмөгө кошушубуз керек. Эгерде сиз C дискте openCV орноткон болсоңуз, анда жол мындай болушу мүмкүн: C: / opencv / build / x64 / vc14 / bin Жолду чаптаңыз жана бул процессте ачылган бардык терезелерде "OK" баскычын басыңыз.

2.3 -кадам: C ++ визуалдык студиясын конфигурациялоо 2.3.1: Жаңы визуалдык C ++ долбоорун жасаңыз. Аны бош win32 Console Application Project.2.3.2 кылыңыз: Булак файлдары өтмөгүндө, оң баскычын чыкылдатып, жаңы C ++ файлын кошуңуз (.cpp) жана ага "main.cpp" деп ат бериңиз. Чечим изилдөөчүсүнүн атын тандап, Properties.2.3.4 тандаңыз: Биз кошумча Директорияларды кошушубуз керек. Бул C/C ++ өтмөгүнөн тапса болот. Төмөнкү жолду көчүрүңүз: C: / opencv / build / include жана "AID" артына чаптап, Apply.2.3.5 чыкылдатыңыз: Ошол эле терезеде бизге керек "Linker" өтмөгүн тандоо. жалпысынан, биз башка Кошумча Либералдык Директорияларды түзүшүбүз керек. Төмөнкү жолду "AID" C: / opencv / build / x64 / vc14 / lib артына чаптаңыз жана дагы колдонууну басыңыз.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 Вольттун ортосунда болушу керек. кадоо. Биздин долбоор үчүн биз DigitalPin 9 жана 10 сервосуна маалымат төөнөгүчтөрүн орнотобуз.

RGB светодиоддору менен жолугушуу: RGB леддеринде 4 казык бар. Кызыл, жашыл, көк жана жерге төөнөгүч. Ардуинодо боштукту сактап калуу үчүн, биз 2 RGB ледин бириктире алабыз. Ошентип, биз 3 пинди гана колдонобуз. Биз RGB светодиоддорун сүрөттөгүдөй протобордго туташтырып жана ширете алабыз. Red pin => DigitalPin 3 (PWM) Green pin => DigitalPin 4Blue pin => DigitalPin 7

Piezo ызылчасы менен жолугушуу: Биздин кичинекей робот кандайдыр бир ызы -чуу чыгарат. Бул үчүн ага үн беришибиз керек! Биз аны чындап үн чыгарууну тандай алабыз. Же биз пьезо сигналынын алдында бир аз ылдыйыраак кылуу үчүн 220Ω каршылыкты койсок болот. Биз Piezo ызылчасын нан тактасына калтырып жатабыз. Ошентип, ширетүүнүн кажети жок. Биз маалымат пинин (+) DigitalPin 2ге жана жерге төөнөгүчтү панельге жерге туташтырабыз.

Сонар менен жолугушуу: Роботту 10 метр алыстыктагы адамды көздөп калбоо үчүн. Биз роботко адамдарга карай багытталган аралыкты бере алабыз. Биз муну sonar сенсорунун жардамы менен жасайбыз. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => жер

Тыйын детектору менен жолугушуу: Биз тыйын детекторун жасамакчыбыз. Тыйын детектору схеманын жабылганын же үзүлгөнүн аныктоо менен иштейт. Бул дээрлик которгуч сыяктуу иштейт. Бирок биз этият болушубуз керек. Эгерде биз муну туура эмес кылсак, анда бизге arduino кымбатка турат. Биринчиден: AnalogPin A0ду 5 вольт кабелине туташтырыңыз. Бирок анын ортосуна 1KΩ каршылыгын коюуну унутпаңыз. Экинчи: жерге зым туташтырыңыз. Биз дароо эле зымдарды жана резисторду RGB leds. Now менен бирдей протоберге кошо алабыз, эгерде биз 2 зымдын артына тийип койсок, ардуино жабык схеманы аныктайт. Бул тыйын бар экенин билдирет! Doom lazer менен жолугушуу. Роботко бул курал керек! Бир аз мейкиндикти үнөмдөө үчүн, мен 2 лазерди чогуу чаптадым. Алар камеранын алкагына эң сонун туура келет. Аларды DigitalPin 11ге жана жерге туташтырыңыз.

Кошумча gimmick. We биз кызыл лоттун астына кое алабыз. Бул караңгы болгондо кызыктуу кичинекей оюн болот. DigitalPin 8ге зым туташтырып, жарылып кетпеши үчүн, LED менен зымдын ортосуна 220Ω каршылыгын коюңуз. LEDдин кыска пинин жерге туташтырыңыз.

4 -кадам: C ++ коду

4.1 -кадам: main.cpp кодун орнотуу4.1.1: "main.cpp" жүктөп алып, кодду өз main.cpp.4.1.2ге көчүрүү: 14 -сапта "com" дегенди arduino колдонгон комго алмаштырыңыз. "\. / COM (муну өзгөртүү)" 4.1.3: 21 жана 22 -саптарда "haarcascade_frontalface_alt.xml" жана "haarcascade_eye_tree_eyeglasses.xml" файлдарынын туура жолун белгилеңиз, эгерде C дискте openCV орнотулган болсо, бул файлдар бул жерде жайгашышы мүмкүн: "C: / opencv / build / etc / haarcascades \" Кош арткы сызыктарды сактаңыз же бирөө бар жерде кошуңуз.

4.2 -кадам: tserial.h жана Tserial.cpp кошуу Бул 2 файл arduino менен PC.4.2.1 ортосундагы байланышка кам көрөт. каталог. Чечим изилдөөчүдө долбоорду оң баскыч менен чыкылдатып, кошуу> болгон нерсени тандаңыз. Калкыма терезеде кошула турган эки файлды тандаңыз.

4.2-кадам: CXBOXController.h жана CXBOXController.h кошуңуз. Бул файлдар долбоордун контролерун алат. Калкып чыгуучу терезеде кошула турган эки файлды тандаңыз. C ++ файлдары орнотулууда.

5 -кадам: Arduino коду

5.1 -кадам: NewPing китепканасы5.1.1: ArduinoCode.ino'yu жүктөп алып, аны arduino IDE.5.1.2де ачыңыз: "Эскиз> Китепкана кошуу> Китепканаларды башкаруу" бөлүмүнө өтүңүз. жана бул китепкананы орнотуңуз.

5.2 -кадам: Китепкана китепканасы5.2.1: pitches.txtти жүктөп, pitches.txt мазмунун көчүрүү pitches.txt файлын жаңы өтмөккө киргизип, "pitches.h" катары сактаңыз. Arduino коду орнотулду

6 -кадам: 3D басып чыгаруу жана басып чыгарууну тактоо

3D басып чыгаруу жана басып чыгарууну тактоо
3D басып чыгаруу жана басып чыгарууну тактоо
3D басып чыгаруу жана басып чыгарууну тактоо
3D басып чыгаруу жана басып чыгарууну тактоо

6.1 -кадам: 3D файлын басып чыгаруу printfile.form ачып, баары жакшы экенин текшериңиз. Эгерде баары ойдогудай болсо, printjobду принтерге жөнөтүңүз. Сиз түзөтө турган 3Ds Max файлдарын жана OBJ файлдарын коштум.

6.2-кадам: Модельди өркүндөтүү6.2.1: Басып чыгаргандан кийин, 2 моделди 70% спиртке чылап, ар кандай басып чыгарууну алып салыңыз. моделин катуулатуу. Же моделди катуулатуу үчүн UV-лампаны колдонсоңуз болот. Бул жасалышы керек, анткени модель жабышчаак болот.

6.2.3: Колдоо алкагын алып салуу. Бул зым кескич менен жасалышы мүмкүн. Же пластмассаны кесе турган башка курал.6.2.4: 3D басып чыгаруунун кээ бир бөлүктөрү дагы эле жумшак болушу мүмкүн. Модель UV-light. The бөлүктөрүндө көп болгон күндө да, жумшак болушу мүмкүн болгон бөлүктөр, колдоо алкактарына жакын жерде. Моделди катуулатуу үчүн ультрафиолет нуруна көбүрөөк коюңуз. Серволорду кадрга салууга аракет кылсаңыз болот. Эгерде алар туура келбесе, анда сиз 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: Чүпүрөктү алып, кутучаны тазалоо үчүн ага бир аз скипидар кийгиз.7.2.3: Эми сиз кутуну каалаган түскө чачсаңыз болот.

8 -кадам: Аяктоо

Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо
Аяктоо

Эми биз баарын ордуна коюшубуз керек жана 8.1.1 -кадам: Тыйын детектору8.1.1: Тыйын детекторунун кээ бир металл кронштейндерин жабыштыргыла..3: Байланышты тыйын менен текшериңиз. Эгерде жабык схема жок болсо, зымдарды четине чейин эриңиз. 8.2 -кадам: Protoboard жана RGB leds8.2.1: Протоборду жогорку оң бурчка коюп, аны скотч менен байлаңыз! 8.2.3: Бардык зымдарды протодон ардуиного туташтырыңыз. 8.3 -кадам: sonar сенсор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.6: Камераны ордуна коюңуз, баары даяр!

9 -кадам: Программаны баштаңыз

Роботту иштетүү үчүн Visual студиясында C ++ файлын ачыңыз. "Мүчүлүштүктөрдү оңдоо режиминде" экениңизди текшериңиз arduino файлын arduinoго жүктөңүз. Бул жүктөлгөндөн кийин визуалдык студияда ойнотууну басыңыз. Ал эми робот дүйнөдөгү бардык тыйындарды атып, чогултат !!!

Сунушталууда: