Talaan ng mga Nilalaman:

Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)
Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)

Video: Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)

Video: Nagmamakaawang Robot na May Pagsubaybay sa Mukha at Pagkontrol ng Xbox Controller - Arduino: 9 Mga Hakbang (na may Mga Larawan)
Video: REVAN - THE COMPLETE STORY 2024, Hulyo
Anonim
Image
Image
Pag-install at Pag-configure ng OpenCV at C ++
Pag-install at Pag-configure ng OpenCV at C ++

Gagawa kami ng isang robot na nagmamakaawa. Susubukan ng robot na ito na inisin o makuha ang pansin ng mga dumadaan na tao. Madidiskubre nito ang kanilang mga mukha at susubukan silang kunan ng lasers. Kung bibigyan mo ang robot ng isang barya, kakantahin niya ang isang kanta at sayaw. Mangangailangan ang robot ng isang arduino, isang live na feed ng isang camera at isang computer upang magpatakbo ng openCV. Ang robot ay makokontrol din ng isang xBox controller kung nakakonekta sa PC.

Hakbang 1: Ang Mga Kagamitan

Hardware Elektronik

  • Arduino NANO o UNO
  • USB 2.0 Camera
  • Mga jumper cable (lalaki at babae)
  • 2 x Servo - Generic (Laki ng Sub-Micro)
  • 2 x LED - RGB CATHODE 5mm
  • 2 x 5mW Lasers
  • 1 x Red LED 5mm
  • 1 x Breadboard
  • 4 x 220Ω risistor
  • 1 x 1KΩ risistor
  • 1 x protoboard
  • 1 x Sonar sensor 4 na mga pin
  • Controller ng Xbox

Hardware analog

  • Kahoy na kahon (15 x 15 x 7 cm)
  • Pandikit
  • Electrical tape

Software

  • Arduino IDE
  • Visual studio 2017
  • 3Ds Max (o anumang iba pang 3d moddeling software)
  • Preform 2.14.0 o mas bago
  • OpenCV 3.4.0 o mas bago

Mga kasangkapan

  • Kagamitan sa panghinang
  • Saw at drill
  • Pamutol ng wire

Hakbang 2: Pag-install at Pag-configure ng OpenCV at C ++

Pag-install at Pag-configure ng OpenCV at C ++
Pag-install at Pag-configure ng OpenCV at C ++

Hakbang 2.1: Pagkuha ng software

Visual studio 2017: I-download ang Visual studio Comunity 2017openCV 3.4.0 Win pack: Pumunta sa opisyal na pag-download ng pahina

Hakbang 2.2: Pag-install ng OpenCV2.2.1: I-extract ang zipfile sa iyong Windows (: C) drive.2.2.2: Pumunta sa iyong mga advanced na setting ng system. Maaari itong matagpuan sa iyong win10 na pag-andar sa paghahanap.2.2.3: Kailangan naming mag-set up ng mga bagong variable ng Kapaligiran. Hanapin ang "Path" na kapaligiran at pindutin ang i-edit.2.2.4: Ngayon kailangan naming idagdag ang lokasyon ng "bin map" sa isang bagong variable sa enviromental ng Path. Kung na-install mo ang openCV sa iyong C drive, ang landas ay maaaring maging ganito: C: / opencv / build / x64 / vc14 / bin Idikit ang path at pindutin ang "OK" sa lahat ng mga bintana na maaaring binuksan mo sa panahon ng mga proces na ito.

Hakbang 2.3: pag-configure ng visual studio C ++ 2.3.1: Gumawa ng isang bagong proyekto sa visual C ++. Gawin itong walang laman na proyekto ng aplikasyon ng Win32 Console.2.3.2: Sa tab na mga mapagkukunan ng file, mag-right click at magdagdag ng isang bagong C ++ file (.cpp) at pangalanan itong "main.cpp".2.3.3: Mag-right click sa proyekto- pangalan sa explorer ng Solusyon at piliin ang Mga Katangian.2.3.4: Kailangan naming magdagdag ng isang karagdagang Isama ang Mga Direktoryo. Maaari itong matagpuan sa ilalim ng tab na C / C ++ sa pangkalahatan. Kopyahin ang sumusunod na landas: C: / opencv / build / isama at i-paste ito sa likod ng "AID" at mag-click sa apply.2.3.5: Sa parehong window kailangan namin piliin ang tab na "Linker". sa ilalim ng pangkalahatan kailangan nating gumawa ng iba pang Mga Karagdagang Direktoryo ng Libary. I-paste ang sumusunod na landas sa likod ng "AID" C: / opencv / build / x64 / vc14 / lib at pindutin muli ang apply.2.3.6: Sa ilalim ng parehong tab ng Linker piliin ang tab na "Input". At pindutin ang "Karagdagang Mga Dependensya> i-edit" at i-paste ang sumusunod na file opencv_world320d.lib at xinput.lib (Para sa taga-kontrol) at pindutin muli ang apply. Isara ang window. Ngayon ang iyong C ++ file ay handa nang gumana.

Hakbang 3: Pag-set up ng Arduino

Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino
Pag-set up ng Arduino

Pagpupulong sa mga servos: Ang servos ay may kakayahang umiikot ~ 160 ° Kailangan nilang magkaroon sa pagitan ng 4, 8 at 6, 0 Volt upang gumana nang normal. Ang servo ay may 3 mga pin: ground, 4, 8 - 6, 0 volt pin at isang data pin Para sa aming proyekto ay itatakda namin ang mga pin ng data para sa mga servos sa DigitalPin 9 at 10.

Pagpupulong sa mga RGB leds: Ang RGB leds ay may 4 na pin. Pula, berde, asul at ground pin. Upang makatipid ng ilang puwang sa arduino, maaari naming ikonekta ang 2 RGB leds nang magkasama. Sa gayon gagamitin lamang namin ang 3 mga pin. Maaari naming ikonekta at maghinang ang mga RGB leds sa isang protoboard tulad ng sa imahe. Red pin => DigitalPin 3 (PWM) Green pin => DigitalPin 4Blue pin => DigitalPin 7

Pagpupulong sa Piezo buzzer: Ang aming maliit na robot ay gagawa ng kaunting ingay. Upang magawa ito kailangan nating bigyan siya ng isang boses! Maaari nating piliing pasigawin talaga siya. O maaari naming ilagay ang isang 220Ω risistor bago ang piezo buzzer upang gawin siyang medyo hindi gaanong nakakainis. Aalis kami sa Piezo buzzer sa breadboard. Kaya hindi na kailangan para sa paghihinang. Ikonekta namin ang data pin (+) sa DigitalPin 2 at ang ground pin sa lupa sa breadboard.

Pagpupulong sa Sonar: Upang mapigilan ang robot na subukang maghangad sa tao na 10 metro ang layo. Maaari naming bigyan ang robot ng isang distansya mula sa kung saan ito ay maaaring mag-target sa mga tao. Ginagawa namin ito sa isang sonar sensor. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => ground

Pagpupulong sa coin detector: Gagawa kami ng isang coin detector. Ang coin detector ay gagana sa pamamagitan ng pagtuklas kung ang circuit ay sarado o nasira. Ito ay halos gagana tulad ng isang switch. Ngunit kailangan nating mag-ingat. Kung gagawin natin ito mali, magkakahalaga tayo ng isang arduino. Una: Ikonekta ang AnalogPin A0 sa isang 5 volt cable. Ngunit tiyaking maglagay ng isang 1KΩ risistor sa pagitan nito. Pangalawa: Ikonekta ang isang kawad sa lupa. Maaari naming agad na maghinang ng mga wire at risistor sa parehong protoboard tulad ng mga RGB leds. Ngayon kung hawakan natin ang 2 wires na toghter ang arduino ay makakakita ng isang closed circuit. Nangangahulugan ito na mayroong isang barya! Ang pagpupulong sa mga laser ng tadhana. Ang robot ay nangangailangan ng mga sandata upang sunugin! Upang makatipid ng ilang puwang, pinagsama ko ang 2 laser. Magkakasya silang perpekto sa frame ng camera. Ikonekta ang mga ito sa DigitalPin 11 at sa lupa. Apoy ang maliit na tao!

Opsyonal na gimmick. Maaari kaming maglagay ng isang pulang LED sa ilalim ng coinslot. Ito ay magiging isang masaya maliit na gimik para sa kung ito ay madilim. Ikonekta ang isang kawad sa DigitalPin 8 at maglagay ng isang 220Ω risistor sa pagitan ng LED at ng kawad upang maiwasan ito sa pamumulaklak. Ikonekta ang maikling pin ng LED sa lupa.

Hakbang 4: Ang C ++ Code

Hakbang 4.1: Pagse-set up ng main.cpp code4.1.1: I-download ang "main.cpp" at kopyahin ang code sa iyong sariling main.cpp.4.1.2: Sa linya 14 palitan ang "com" sa com na ginagamit ng arduino. "\. / COM (baguhin ito)" 4.1.3: Sa linya 21 at 22 itakda ang tamang landas sa mga file na "haarcascade_frontalface_alt.xml" at "haarcascade_eye_tree_eyeglasses.xml" Kung ang openCV ay naka-install sa C drive, ang mga file na ito ay matatagpuan dito: "C: / opencv / build / etc / haarcascades \" Panatilihin ang doble na backslashes o magdagdag ng isa kung saan may isa lamang.

Hakbang 4.2: Magdagdag ng tserial.h at Tserial.cppAng mga 2 file na ito ang mag-aalaga ng komunikasyon sa pagitan ng arduino at ng PC.4.2.1: I-download ang tserial.h at Tserial.cpp.4.2.2: Ilagay ang 2 mga file na ito sa proyekto direktoryo Sa Explorer explorer mag-right click sa proyekto at piliin ang idagdag> mayroon nang item. Sa popup window piliin ang dalawang mga file na maidaragdag.

Hakbang 4.2: Magdagdag ng CXBOXController.h at CXBOXController.hAng mga file na ito ay kukuha sa bahagi ng controller ng proyekto.4.2.1: Sa Explorer explorer i-right click ang proyekto at piliin ang idagdag> mayroon nang item. Sa popup window piliin ang dalawang mga file na maidaragdag. Ang C ++ file ay naka-setup.

Hakbang 5: Ang Arduino Code

Hakbang 5.1: NewPing library5.1.1: I-download ang ArduinoCode.ino at buksan ito sa arduino IDE.5.1.2: Pumunta sa "Sketch> Isama ang libary> Pamahalaan ang libaries".5.1.3: Paghahanap sa filter box sa "NewPing" at mai-install ang library na ito.

Hakbang 5.2: Pitches library5.2.1: Mag-download ng mga pitches.txt at kopyahin ang nilalaman ng pitches.txt.5.2.2: Sa Arduino IDE pindutin ang CTRL + Shift + N upang buksan ang isang bagong tab.5.2.3: I-paste ang code mula sa pitches.txt sa bagong tab at i-save ito bilang "pitches.h". Ang Arduino code hase ay na-set up

Hakbang 6: Pag-print ng 3D at Pagpino ng Print

Pagpi-print ng 3D at Pagpino ng Print
Pagpi-print ng 3D at Pagpino ng Print
Pagpi-print ng 3D at Pagpino ng Print
Pagpi-print ng 3D at Pagpino ng Print

Hakbang 6.1: I-print ang 3D file Buksan ang printfile.form at suriin kung ang lahat ay okey. Kung ang lahat ay mukhang okey, ipadala ang printjob sa printer. Kung may tila isang bagay o nais mong baguhin ang modelo. Isinama ko ang mga 3Ds Max file at mga OBJ file upang mai-edit mo.

Hakbang 6.2: pinuhin ang modelo patigasin ang modelo. O maaari kang gumamit ng UV-lampara upang patigasin ang modelo. Kailangang gawin ito dahil ang modelo ay magiging malagkit.

6.2.3: Alisin ang balangkas ng suporta. Maaari itong magawa sa isang pamutol ng wire. O anumang iba pang tool na maaaring kunin ang mga plastik.6.2.4: Ang ilang mga bahagi ng 3D print ay maaari pa ring maging malambot. Kahit na ang modelo ay nasa maraming UV-light. Ang mga bahagi na maaaring maging malambot, ay ang mga bahagi kung saan malapit sa mga frame ng suporta. Itabi ang modelo sa mas maraming sikat ng araw na UV-light upang patigasin.6.2.5: Sa isang "dremel" maaari mong maialis ang lahat ng maliliit na ulbok na ginawa ng balangkas. Maaari mong subukan na magkasya ang mga servo sa frame. Kung hindi sila magkakasya maaari mong gamitin ang Dremel sa buhangin na materyal ang layo. gawin itong magkasya.

Hakbang 7: Pagbuo ng Kahon

Pagbuo ng Kahon
Pagbuo ng Kahon
Pagbuo ng Kahon
Pagbuo ng Kahon

Hakbang 7.1: Paggawa ng mga butas Nagsama ako ng isang blueprint ng kahon na pinag-uusapan. Ang blueprint ay hindi hanggang sa sukatan, ngunit ang lahat ng mga laki ay wasto.7.1.1: Magsimula sa pamamagitan ng pagmamarka ng lahat ng mga butas sa mga tamang lokasyon.7.1.2: I-drill ang lahat ng mga butas. Ang mas malaking mga butas ay maaaring gawin hanggang sa laki gamit ang isang Dremel.7.1.3: Ang mga parisukat na butas ay maaari ding drill. Ngunit upang gawing parisukat ang mga ito maaari mong magkasya ang Dremel na may isang maliit na file at i-file ang matalim na mga sulok.7.1.4: Subukang magkasya ang lahat ng mga bahagi. kung magkasya sila, mahusay kang pumunta! 7.1.5: Mag-ingat sa mga splinters ng kahoy. Gumamit ng sand paper upang mapupuksa ang mga ito.

Hakbang 7.2: Pagpipinta7.2.1: Magsimula sa pag-sanding ng talukap ng mata. Kailangan namin ang pintura upang dumikit.7.2.2: Kumuha ng tela at maglagay ng kaunting Turpentine dito upang linisin ang kahon.7.2.3: Ngayon ay maaari mong spray ang pintura ng kahon kahit anong kulay ang nais mo.

Hakbang 8: Pagtatapos

Tinatapos ko na
Tinatapos ko na
Tinatapos ko na
Tinatapos ko na
Tinatapos ko na
Tinatapos ko na

Ngayon kailangan nating ilagay ang lahat sa lugar at hayaan itong gawin. Hakbang 8.1: Ang coin detector8.1.1: Idikit ang ilang mga metal brace para sa coin detector.8.1.2: I-solder ang bawat kawad mula sa konektor sa isang brace.8.1.3: Subukan ang koneksyon sa isang barya. Kung walang saradong circuit, solder ang mga wire nang higit pa sa gilid. Hakbang 8.2: Ang protoboard at RGB leds8.2.1: Ilagay ang protoboard sa kanang sulok sa itaas at i-tape ito! 8.2.2: Ikonekta ang mga RGB leds sa mga wire mula sa protoboard! 8.2.3: Ikonekta ang lahat ng mga wire mula sa protoboard sa kabuuan ng arduino. Hakbang 8.3: Ang sonar sensor8.3.1: Ilagay ang sensor sa mga butas na ginawa namin para dito. Kung mayroon kang lalaki sa mga babaeng jumpwires maaari kang lumaktaw 8.3.28.3.2: Gupitin ang kalahati ng mga lalaki at babaeng wires sa kalahati at maghinang ang mga babae at lalaki na mga wire nang magkasama upang makagawa ng isang solong cable na maaari naming magamit upang ikonekta ang sensor sa arduino.8.3.3: Ikonekta ang sensor sa arduino

Hakbang 8.4: Mga laser at camera8.4.1: Idikit ang maliit na frame sa camera. Siguraduhin na ito ay patayo.8.4.2: Ilagay din ang mga laser sa frame. Ipadikit ang mga ito upang hindi sila makawin ng kaaway!

Hakbang 8.5: Ang servos at 3D print8.5.1: Idikit ang servo sa butas ng takip8.5.2: I-upload ang arduino file sa arduino (pinatayo nito ang mga servo sa tamang posisyon) 8.5.3: Sa servo ay dumating ang isang maliit na bilog na talampas. Ilagay ito sa servo sa takip.8.5.4: Ilagay ang malaking 3D print sa servo at talampas at i-tornilyo ito nang mahigpit kasama ang isang tornilyo.8.5.5: Ilagay ang pangalawang servo sa maliit na 3D print at idikit silang magkasama. 8.5.6: Ilagay ang camera sa lugar at handa nang puntahan ang bawat bagay!

Hakbang 9: Simulan ang Program

Upang simulan ang robot buksan ang C ++ File sa Visual studio. Tiyaking ikaw ay nasa "debug mode" I-upload ang arduino file sa arduino. Kapag na-upload ang press play sa visual studio. At ang robot ay magpapaputok at mangolekta ng lahat ng mga barya sa mundo !!!

Inirerekumendang: