Мазмұны:

Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)
Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)

Бейне: Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)

Бейне: Xbox Controller арқылы бетті бақылау және бақылау арқылы қайырымдылық робот - Arduino: 9 қадам (суреттермен)
Бейне: Dakar Desert Rally PLAYED: 10 things LEARNED 2024, Шілде
Anonim
Image
Image
OpenCV мен C ++ бағдарламаларын орнату және конфигурациялау
OpenCV мен C ++ бағдарламаларын орнату және конфигурациялау

Біз қайыршы робот жасаймыз. Бұл робот тітіркендіруге немесе өтіп бара жатқан адамдардың назарын аударуға тырысады. Бұл олардың беттерін анықтап, оларға лазермен оқ атуға тырысады. Егер сіз роботқа тиын берсеңіз, ол ән айтып, би билейді. OpenCV -ді іске қосу үшін роботқа ардуино, фотоаппарат пен компьютер қажет болады. Роботты компьютерге қосылған жағдайда xBox контроллері басқара алады.

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

Электрондық аппараттық құрал

  • Arduino NANO немесе UNO
  • USB 2.0 камерасы
  • Өтпелі кабельдер (ерлер мен әйелдер)
  • 2 x Servo - Generic (Sub -Micro Size)
  • 2 x LED - RGB CATHODE 5мм
  • 2 x 5 мВт лазерлер
  • 1 x Қызыл жарық диодты 5 мм
  • 1 x Нан тақтасы
  • 4 x 220Ω резистор
  • 1 x 1 кОм резистор
  • 1 x протобер
  • 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) дискісіне шығарыңыз. Мұны win10 іздеу функциясында табуға болады.2.2.3: Бізге жаңа экологиялық айнымалыларды орнату қажет. «Жол» ортасын тауып, өңдеуді басыңыз.2.2.4: Енді біз «қоқыс картасының» орнын Path ортасындағы жаңа айнымалыға қосуымыз керек. Егер сіз C дискісінде openCV орнатсаңыз, жол келесідей болуы мүмкін: C: / opencv / build / x64 / vc14 / bin Жолды қойыңыз және осы процесте ашылған барлық терезелердегі «OK» түймесін басыңыз.

2.3 -қадам: C ++ визуалды студиясын конфигурациялау 2.3.1: C ++ визуалды жаңа жобасын жасаңыз. Win32 Console қосымшасының бос жобасы болыңыз.2.3.2: Бастапқы файлдар қойындысында тінтуірдің оң жағын басып, жаңа C ++ файлын (.cpp) қосыңыз және оны «main.cpp» деп атаңыз. атауын Solution explorer ішінен таңдап, Қасиеттер тармағын таңдаңыз.2.3.4: Бізге қосымша каталогтарды қосу керек. Мұны C/C ++ қойындысынан табуға болады. Келесі жолды көшіріңіз: C: / opencv / build / include және оны «AID» артына қойыңыз және Apply түймесін басыңыз.2.3.5: Сол терезеде бізге қажет «байланыстырушы» қойындысын таңдаңыз. Жалпы алғанда, біз басқа қосымша кітапханалық директорияларды құруымыз керек. Келесі жолды «AID» C: / opencv / build / x64 / vc14 / lib артына қойыңыз және қайтадан қолдану түймесін басыңыз. «Қосымша тәуелділіктер> өңдеу» түймесін басып, келесі файлды 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 түйреуіш бар: қызыл, жасыл, көк және жерге қосқыш. Ардуинода біраз орын үнемдеу үшін біз 2 RGB шамдарын қосамыз. Біз тек 3 түйреуішті қолданамыз. Біз суреттегідей протокол тақтасында RGB светодиодтарын қосамыз және дәнекерлей аламыз.

Пьезо -зумермен кездесу: Біздің кішкентай робот біраз шу шығарады. Мұны істеу үшін біз оған дауыс беруіміз керек! Біз оны шынымен шулы етуді таңдай аламыз. Немесе пьезо -дыбыстық сигналдың алдында оны аздап жағымсыз ету үшін 220Ω резистор қоюға болады. Біз Piezo дыбыстық сигналын нан тақтасында қалдырамыз. Дәнекерлеудің қажеті жоқ. Мәліметтер түйреуішін (+) DigitalPin 2 -ге және жерге тұйықтағышты нан тақтасына қосамыз.

Сонармен кездесу: роботты 10 метр қашықтықтағы адамды нысанаға алмау үшін. Біз роботқа адамдарды нысанаға алатын қашықтықты бере аламыз. Біз мұны дыбыс сенсорымен жасаймыз. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => жер

Монета детекторымен кездесу: Біз монета детекторын жасамақпыз. Монета детекторы схеманың жабылғанын немесе үзілгенін анықтау арқылы жұмыс істейді. Ол дерлік коммутатор сияқты жұмыс істейді. Бірақ біз абай болуымыз керек. Егер біз бұл әрекетті дұрыс жасамасақ, онда бізге arduino қымбатқа түседі. Біріншіден: AnalogPin A0 5 вольтты кабельге қосыңыз. Бірақ олардың арасына 1 кОм резистор қоюды ұмытпаңыз. Екінші: жерге сымды жалғаңыз. Біз сымдар мен резисторды бірден RGB светодиодтармен бірдей дәнекерлей аламыз, енді егер біз 2 сымды ауыстырсақ, arduino тұйықталған тізбекті анықтайды. Бұл монетаның бар екенін білдіреді! Лазерлермен кездесу. Роботқа атыс үшін қару қажет! Біршама орынды үнемдеу үшін мен 2 лазерді бірге дәнекерледім, олар камераның кадрына өте жақсы сәйкес келеді. Оларды DigitalPin 11 -ге және жерге қосыңыз. Кішкентай баланы өртеп жіберіңіз!

Қосымша ойын: Біз монетаның астына қызыл жарықдиодты қоюға болады. Бұл қараңғыда көңілді кішкене айлакерлік болады. DigitalPin 8 -ге сымды жалғап, оның жарылып кетпеуі үшін светодиоды мен сымның арасына 220Ω резистор қойыңыз. Жарық диодының қысқа түйреуішін жерге қосыңыз.

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 мен компьютер арасындағы байланысты реттейді. каталог Шешім зерттеушісінде жобаны тінтуірдің оң жақ түймесімен басып, қосу> бар элементті таңдаңыз. Қалқымалы терезеде қосылатын екі файлды таңдаңыз.

4.2-қадам: CXBOXController.h және CXBOXController.h қосу Бұл файлдар жобаның контроллер бөлігін алады. Қалқымалы терезеде қосылатын екі файлды таңдаңыз, C ++ файлдары орнатылды.

5 -қадам: Arduino коды

5.1 -қадам: NewPing кітапханасы5.1.1: ArduinoCode.ino жүктеңіз және оны arduino IDE.5.1.2 ішінен ашыңыз: «Эскиз> кітапхананы қосу> кітапханаларды басқару» тармағына өтіңіз. және осы кітапхананы орнатыңыз.

5.2 -қадам: Қадамдар кітапханасы5.2.1: pitches.txt файлын жүктеңіз және pitch.txt мазмұнын көшіріңіз. pitches.txt файлын жаңа қойындыға енгізіп, оны «pitches.h» ретінде сақтаңыз. Arduino коды орнатылды

6 -қадам: 3D басып шығару және басып шығаруды тазарту

3D басып шығару және басып шығаруды нақтылау
3D басып шығару және басып шығаруды нақтылау
3D басып шығару және басып шығаруды нақтылау
3D басып шығару және басып шығаруды нақтылау

6.1 -қадам: 3D файлын басып шығару printfile.form ашыңыз және бәрі жақсы екенін тексеріңіз. Егер бәрі ойдағыдай болса, принтерді принтерге жіберіңіз. Мен өңдеуге 3Ds Max файлдары мен OBJ файлдарын қостым.

6.2-қадам: Үлгіні жетілдіру модельді қатайтыңыз. Немесе ультракүлгін шамды үлгіні қатайту үшін қолдануға болады. Мұны істеу керек, себебі модель жабысқақ болады.

6.2.3: Қолдау шеңберін алып тастаңыз. Мұны сым кескішпен жасауға болады. Немесе пластмассаны кесуге болатын кез келген басқа құрал. 6.2.4: 3D басып шығарудың кейбір бөліктері жұмсақ болуы мүмкін. Егер модель ультракүлгін сәуледе көп болса да, жұмсақ болуы мүмкін бөлшектер тірек жақтауларына жақын орналасқан бөліктер болып табылады. Үлгіні ультракүлгін сәуленің көбірек күніне қойыңыз, қатып қалуы үшін. Серводы жақтауға орнатуға тырысуға болады. Егер олар сәйкес келмесе, сіз материалды тегістеу үшін Дремельді қолдана аласыз. жарамды етіңіз.

7 -қадам: қорапты құру

Қорапты құру
Қорапты құру
Қорапты құру
Қорапты құру

7.1 -қадам: Шұңқырлар жасау Мен қораптың жоспарын енгіздім. Схема масштабқа сай емес, бірақ барлық өлшемдер дұрыс. Үлкен тесіктерді Dremel көмегімен жасауға болады.7.1.3: шаршы тесіктерді де бұрғылауға болады. Бірақ оларды төртбұрышты етіп жасау үшін Dremel -ді кішкене файлға салып, үшкір бұрыштарды шығаруға болады. 7.1.5: Ағаш сынықтарына назар аударыңыз. Олардан құтылу үшін құмды қағазды қолданыңыз.

7.2 -қадам: Бояу7.2.1: Қақпақты тегістеуден бастаңыз. Бізге бояу жабысуы керек.7.2.2: Шүберекті алыңыз да, қорапты тазарту үшін оған скипидар жағыңыз.

8 -қадам: Аяқтау

Аяқтау
Аяқтау
Аяқтау
Аяқтау
Аяқтау
Аяқтау

Енді біз бәрін орнына қоюымыз керек және 8.11 -қадам: Монета детекторы8.1.1: Монета детекторына арналған бірнеше металл тіректерді жабыстырыңыз..3: Монетамен байланысты тексеріңіз. Егер жабық тізбек болмаса, сымдарды шетіне қарай көбірек дәнекерлеңіз. 8.2 -қадам: Протободы мен RGB шамдары 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.6: Камераны орнына қойыңыз, бәрі дайын!

9 -қадам: Бағдарламаны бастаңыз

Роботты іске қосу үшін Visual студиясында C ++ файлын ашыңыз. «Отладка режимінде» екеніңізге көз жеткізіңіз, arduino файлын arduino -ға жүктеңіз. Ол жүктелгеннен кейін визуалды студияда ойнатуды басыңыз. Ал робот әлемдегі барлық тиындарды атып, жинайды !!!

Ұсынылған: