Satura rādītājs:

Ubagošanas robots ar sejas izsekošanu un kontroli, ko veic Xbox kontrolieris - Arduino: 9 soļi (ar attēliem)
Ubagošanas robots ar sejas izsekošanu un kontroli, ko veic Xbox kontrolieris - Arduino: 9 soļi (ar attēliem)

Video: Ubagošanas robots ar sejas izsekošanu un kontroli, ko veic Xbox kontrolieris - Arduino: 9 soļi (ar attēliem)

Video: Ubagošanas robots ar sejas izsekošanu un kontroli, ko veic Xbox kontrolieris - Arduino: 9 soļi (ar attēliem)
Video: What Photoshop Can't Do, DragGAN Can! See How! 2024, Novembris
Anonim
Image
Image
OpenCV un C ++ instalēšana un konfigurēšana
OpenCV un C ++ instalēšana un konfigurēšana

Mēs izgatavosim ubagošanas robotu. Šis robots mēģinās kairināt vai piesaistīt garāmbraucošos cilvēkus. Tas atklās viņu sejas un mēģinās šaut uz tām lāzerus. Ja iedosit robotam monētu, viņš dziedās dziesmu un dejos. Lai palaistu openCV, robotam būs nepieciešams arduino, tiešraides kamera un dators. Robotu varēs vadīt arī ar xBox kontrolieri, ja tas būs pievienots datoram.

1. solis: materiāli

Aparatūra Elektroniska

  • Arduino NANO vai UNO
  • USB 2.0 kamera
  • Jumper kabeļi (vīrieši un sievietes)
  • 2 x servo - vispārējs (apakšmikro izmērs)
  • 2 x LED - RGB KATODS 5mm
  • 2 x 5 mW lāzeri
  • 1 x sarkana gaismas diode 5 mm
  • 1 x maizes dēlis
  • 4 x 220Ω rezistors
  • 1 x 1KΩ rezistors
  • 1 x protobords
  • 1 x Sonāra sensors 4 tapas
  • Xbox kontrolieris

Aparatūras analogs

  • Koka kaste (15 x 15 x 7 cm)
  • Līme
  • Elektriskā lente

Programmatūra

  • Arduino IDE
  • Vizuālā studija 2017
  • 3Ds Max (vai jebkura cita 3D modelēšanas programmatūra)
  • Sagataves 2.14.0 vai jaunāka versija
  • OpenCV 3.4.0 vai jaunāka versija

Rīki

  • Lodēšanas iekārtas
  • Zāģēt un urbt
  • Stiepļu griezējs

2. darbība: OpenCV un C ++ instalēšana un konfigurēšana

OpenCV un C ++ instalēšana un konfigurēšana
OpenCV un C ++ instalēšana un konfigurēšana

2.1. Darbība. Programmatūras iegūšana

Visual studio 2017: Lejupielādēt Visual studio Comunity 2017openCV 3.4.0 Win win pack: Dodieties uz oficiālo lejupielādes lapu

2.2. Darbība: OpenCV2.2.1 instalēšana: izvelciet zip failu savā Windows (: C) diskdzinī. 2.2.2: dodieties uz uzlabotajiem sistēmas iestatījumiem. To var atrast jūsu win10 meklēšanas funkcijā. 2.2.3: Mums ir jāiestata jauni vides mainīgie. Atrodiet vides "Path" vidi un nospiediet rediģēt.2.2.4: Tagad mums ir jāpievieno "atkritumu tvertnes" atrašanās vieta jaunam mainīgajam Path enviromental. Ja C diskā instalējāt openCV, ceļš var būt šāds: C: / opencv / build / x64 / vc14 / bin Ielīmējiet ceļu un nospiediet "OK" visos logos, kurus, iespējams, esat atvēris šī procesa laikā.

2.3. Darbība: vizuālās studijas C ++ konfigurēšana 2.3.1. Izveidojiet jaunu vizuālo C ++ projektu. Padariet to par tukšu win32 konsoles lietojumprogrammas projektu. 2.3.2: cilnē Avota faili ar peles labo pogu noklikšķiniet un pievienojiet jaunu C ++ failu (.cpp) un nosauciet to par "main.cpp".2.3.3: ar peles labo pogu noklikšķiniet uz projekta nosaukumu risinājumu pārlūkā un atlasiet Rekvizīti.2.3.4: mums jāpievieno papildu iekļaušanas direktoriji. To var atrast cilnē C/C ++ kopumā. Kopējiet šādu ceļu: C: / opencv / build / include un ielīmējiet to aiz "AID" un noklikšķiniet uz Apply.2.3.5: Tajā pašā logā mums ir atlasiet cilni "Linker". vispārīgi mums ir jāizveido citi papildu bibliotēku katalogi. Ielīmējiet šo ceļu aiz "AID" C: / opencv / build / x64 / vc14 / lib un vēlreiz nospiediet Apply.2.3.6: Tajā pašā cilnē Linker izvēlieties cilni "Ievads". Un nospiediet "Papildu atkarības> rediģēt" un ielīmējiet šādu failu opencv_world320d.lib un xinput.lib (kontrolierim) un vēlreiz nospiediet lietot. Aizveriet logu. Tagad jūsu C ++ fails ir gatavs darbam.

3. darbība: Arduino iestatīšana

Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana
Arduino iestatīšana

Servo satikšanās: Servos var pagriezties ~ 160 °. Lai normāli darbotos, tiem jābūt starp 4, 8 un 6, 0 voltiem. Servo ir 3 tapas: zeme, 4, 8 - 6, 0 voltu tapa un dati pin. Mūsu projektam DigitalPin 9 un 10 iestatīsim servo datu tapas.

RGB gaismas diodes: RGB gaismas diodēm ir 4 tapas. Sarkana, zaļa, zila un piesprausta tapa. Lai ietaupītu vietu arduino, mēs varam savienot 2 RGB gaismas diodes kopā. Tātad, mēs izmantosim tikai 3 tapas. Mēs varam savienot un lodēt RGB gaismas diodes, piemēram, attēlā. Sarkanā tapa => DigitalPin 3 (PWM) Zaļā tapa => DigitalPin 4 Zila tapa => DigitalPin 7

Tikšanās ar pjezo skaņas signālu: mūsu mazais robots radīs troksni. Lai to izdarītu, mums ir jādod viņam balss! Mēs varam izvēlēties viņu padarīt skaļu. Vai arī mēs varam ievietot 220Ω rezistoru pirms pjezo skaņas signāla, lai padarītu viņu mazliet mazāk nepatīkamu. Mēs atstājam Piezo skaņas signālu uz maizes dēļa. Tāpēc nav nepieciešama lodēšana. Mēs savienojam datu tapu (+) ar DigitalPin 2, bet zemējuma tapu - uz maizes.

Tikšanās ar hidrolokatoru: lai robots nemēģinātu mērķēt uz cilvēku, kas atrodas 10 metru attālumā. Mēs varam piešķirt robotam attāluma diapazonu no vietas, kur tas varēs mērķēt uz cilvēkiem. Mēs to darām ar hidrolokatoru. VCC => 5 volti Trig => DigitalPin 6Echo => DigitalPin 5GND => zeme

Tikšanās ar monētu detektoru: Mēs izgatavosim monētu detektoru. Monētu detektors darbosies, atklājot, vai ķēde ir slēgta vai salauzta. Tas gandrīz darbosies kā slēdzis. Bet mums jābūt uzmanīgiem. Ja mēs to darām nepareizi, tas mums izmaksās arduino. Pirmkārt: pievienojiet AnalogPin A0 5 voltu kabeli. Bet starp to noteikti ievietojiet 1KΩ rezistoru. Otrkārt: pievienojiet vadu zemei. Mēs varam nekavējoties pielodēt vadus un rezistoru pie tā paša protoboļa kā RGB gaismas diodes. Tagad, ja pieskarsimies diviem vadiem, arduino atklās slēgtu ķēdi. Tas nozīmē, ka ir monēta! Tikšanās ar lāzeriem. Robotam ir nepieciešami ieroči, lai šautu! Lai ietaupītu vietu, es lodēju abus lāzerus kopā. Tie lieliski iederēsies kameras rāmī. Pievienojiet tos DigitalPin 11 un zemei. Atlaidiet mazo puisi!

Neobligāts triks. Mēs varam novietot sarkanu gaismas diodi zem monētas ligzdas. Tas būs jautrs triks, kad ir tumšs. Pievienojiet vadu DigitalPin 8 un ievietojiet 220Ω rezistoru starp gaismas diodi un vadu, lai novērstu tā uzspridzināšanu. Pievienojiet gaismas diodes īso tapu zemei.

4. solis: C ++ kods

4.1. Solis: main.cpp koda iestatīšana "\. / COM (mainīt šo)" 4.1.3: 21. un 22. rindā iestatiet pareizo ceļu failiem "haarcascade_frontalface_alt.xml" un "haarcascade_eye_tree_eyeglasses.xml" Ja C diskā ir instalēta openCV, šos failus var atrast šeit: "C: / opencv / build / etc / haarcascades \" Saglabājiet dubultās slīpsvītras vai pievienojiet vienu, kur ir tikai viens.

4.2. Solis: pievienojiet tserial.h un Tserial.cpp Šie 2 faili rūpēsies par saziņu starp arduino un datoru. 4.2.2: Lejupielādējiet tserial.h un Tserial.cpp.4.2.2: ievietojiet šos 2 failus projektā direktoriju. Risinājumu izpētē ar peles labo pogu noklikšķiniet uz projekta un atlasiet pievienot> esošs vienums. Uznirstošajā logā atlasiet divus pievienojamos failus.

4.2. Solis: pievienojiet CXBOXController.h un CXBOXController.h Šie faili uzņemsies projekta kontroliera daļu. 4.2.1: Risinājumu izpētē ar peles labo pogu noklikšķiniet uz projekta un atlasiet Pievienot> esošu vienumu. Uznirstošajā logā atlasiet divus pievienojamos failus. C ++ faili ir iestatīti.

5. solis: Arduino kods

5.1. Solis: NewPing bibliotēka 5.1.1: lejupielādējiet ArduinoCode.ino un atveriet to arduino IDE.5.1.2: dodieties uz "Skice> Iekļaut bibliotēku> Pārvaldīt bibliotēkas". 5.1.1: filtrēšanas lodziņā meklējiet "NewPing" un instalējiet šo bibliotēku.

5.2. Solis: bibliotēkas augstums 5.2.2. Lejupielādējiet failu pitches.txt un nokopējiet pitches.txt saturu. 5.2.2: Arduino IDE nospiediet CTRL+Shift+N, lai atvērtu jaunu cilni. 5.2.3. Ielīmējiet kodu no pitches.txt jaunajā cilnē un saglabājiet to kā "pitches.h". Arduino kods ir iestatīts

6. darbība: 3D drukāšana un drukas uzlabošana

3D drukāšana un drukas uzlabošana
3D drukāšana un drukas uzlabošana
3D drukāšana un drukas uzlabošana
3D drukāšana un drukas uzlabošana

6.1. Darbība. 3D faila drukāšana Atveriet printfile.form un pārbaudiet, vai viss ir kārtībā. Ja viss šķiet kārtībā, nosūtiet drukas darbu uz printeri. Ja kaut kas šķiet vai vēlaties mainīt modeli. Rediģēšanai esmu iekļāvis 3Ds Max failus un OBJ failus.

6.2. Solis: modeļa uzlabošana 6.2.1: Pēc drukāšanas abus modeļus iemērciet aptuveni 70% spirtā, lai noņemtu drukas atdzejojumus. 6.2.2: Pēc drukāšanas novietojiet modeli saulē dažas stundas, lai ļautu UV gaismai rūdīt modeli. Vai arī modeļa sacietēšanai varat izmantot UV lampu. Tas jādara, jo modelis būs lipīgs.

6.2.3. Noņemiet atbalsta ietvaru. To var izdarīt ar stiepļu griezēju. Vai jebkurš cits instruments, ar kuru var sagriezt plastmasu.6.2.4: Dažas 3D drukas daļas joprojām var būt mīkstas. Pat ja modelim ir bijis daudz UV staru. Daļas, kas var būt mīkstas, ir detaļas, kas atrodas tuvu atbalsta rāmjiem. Ievietojiet modeli vairāk UV staru saulē, lai sacietētu.6.2.5: Ar "dremel" palīdzību jūs varat noslīpēt visus mazos rāmja izciļņus. Jūs varat mēģināt uzstādīt servo rāmī. Ja tie neder, varat izmantot Dremel, lai noslīpētu materiālu. padarīt to piemērotu.

7. darbība: kastes izveide

Kastes veidošana
Kastes veidošana
Kastes veidošana
Kastes veidošana

7.1. Solis. Caurumu izgatavošana Es iekļāvu attiecīgās kastes projektu. Plāns nav līdz mērogam, bet visi izmēri ir pareizi. 7.1.1: Vispirms atzīmējiet visus caurumus pareizajās vietās. 7.1.2: urbiet visus caurumus. Lielākus caurumus var izgatavot līdz izmēram, izmantojot Dremel.7.1.3. Kvadrātveida caurumus var arī urbt. Bet, lai padarītu tos kvadrātveida, jūs varat ievietot Dremel ar nelielu failu un izgriezt asus stūrus.7.1.4: Mēģiniet ievietot visas sastāvdaļas. 7.1.5: Uzmanieties no koka šķembām, ja tās ir piemērotas. Lai no tiem atbrīvotos, izmantojiet smilšpapīru.

7.2. Solis: krāsošana 7.2.1. Sāciet ar vāka slīpēšanu. 7.2.2. Paņemiet drānu un uzlieciet uz tās nedaudz terpentīna, lai notīrītu kastīti.

8. solis: pabeigšana

Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu

8.1. Monētu detektors.3: pārbaudiet savienojumu ar monētu. Ja nav slēgtas ķēdes, pielodējiet vadus vairāk līdz malai. 8.2. Solis: protoboards un RGB gaismas diodes 8.2.1. Novietojiet protoboardu augšējā labajā stūrī un pielīmējiet to! 8.2.2: pievienojiet RGB gaismas diodes ar vadiem 8.2.3: pievienojiet visus vadus no protoboard ar arduino. 8.3. solis: sonāra sensors 8.3.28.3.2. Pārgrieziet dažus vīriešu un sieviešu vadus uz pusēm un lodējiet sievišķo un vīriešu vadu kopā, lai izveidotu vienu kabeli, ko mēs varam izmantot, lai savienotu sensoru ar arinoino. 8.3.3: Pievienojiet sensoru arduino

8.4. Solis: Lāzeri un kamera 8.4.1. Līmējiet mazo rāmi pie kameras. Pārliecinieties, vai tas ir vertikāli.8.4.2. Ievietojiet lāzerus arī rāmī. Līmējiet tos, lai ienaidnieks tos nezagtu!

8.5. Darbība: Servo un 3D drukāšana mazs apaļš plato. Novietojiet to uz servo vākā. 8.5.4. Uzlieciet lielo 3D izdruku uz servo un plato un cieši pieskrūvējiet tos kopā ar skrūvi. 8.5.6: Novietojiet kameru vietā, un viss ir gatavs lietošanai!

9. solis: sāciet programmu

Lai palaistu robotu, Visual studijā atveriet failu C ++. Pārliecinieties, vai esat atkļūdošanas režīmā. Augšupielādējiet arduino failu arduino. Kad tas ir augšupielādēts, nospiediet atskaņošanu vizuālajā studijā. Un robots apšaudīs un savāks visas pasaules monētas !!!

Ieteicams: