Sisukord:

Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: 9 sammu (piltidega)
Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: 9 sammu (piltidega)

Video: Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: 9 sammu (piltidega)

Video: Kerjamisrobot näo jälgimise ja juhtimisega Xboxi kontrolleri poolt - Arduino: 9 sammu (piltidega)
Video: Muru pole enam probleem! Suurepärane idee selleks hooajaks. 2024, Juuli
Anonim
Image
Image
OpenCV ja C ++ installimine ja seadistamine
OpenCV ja C ++ installimine ja seadistamine

Teeme kerjavat robotit. See robot üritab mööduvaid inimesi ärritada või neile tähelepanu pöörata. See tuvastab nende näod ja proovib neile lasereid tulistada. Kui annate robotile mündi, laulab ta laulu ja tantsib. Robot vajab openCV käivitamiseks arduinot, kaamera otseülekannet ja arvutit. Kui arvutiga on ühendatud, saab robotit juhtida ka xBox -kontrolleriga.

Samm: materjalid

Riistvara elektroonika

  • Arduino NANO või UNO
  • USB 2.0 kaamera
  • Kaablid (mees ja naine)
  • 2 x servo - üldine (sub -mikro suurus)
  • 2 x LED - RGB KATALOOD 5 mm
  • 2 x 5 mW laserid
  • 1 x punane LED 5 mm
  • 1 x leivalaud
  • 4 x 220Ω takisti
  • 1 x 1KΩ takisti
  • 1 x protoplaat
  • 1 x sonari andur 4 tihvti
  • Xboxi kontroller

Riistvara analoog

  • Puidust kast (15 x 15 x 7 cm)
  • Liim
  • Elektriline lint

Tarkvara

  • Arduino IDE
  • Visuaalne stuudio 2017
  • 3Ds Max (või mis tahes muu 3D -modelleerimise tarkvara)
  • Eelvorm 2.14.0 või uuem
  • OpenCV 3.4.0 või uuem

Tööriistad

  • Jooteseadmed
  • Saagida ja puurida
  • Traadi lõikur

Samm: OpenCV ja C ++ installimine ja seadistamine

OpenCV ja C ++ installimine ja seadistamine
OpenCV ja C ++ installimine ja seadistamine

Samm 2.1. Tarkvara hankimine

Visual Studio 2017: Laadige alla Visual Studio Comunity 2017openCV 3.4.0 Võidupakett: minge ametlikule allalaadimislehele

Samm 2.2: OpenCV2.2.1 installimine: ekstraktige ZIP -fail oma Windowsi (: C) draivi. 2.2.2: Minge oma täpsemate süsteemiseadete juurde. Selle leiate oma win10 otsingufunktsioonist. 2.2.3: Peame seadistama uued keskkonnamuutujad. Leidke keskkond "Path" ja vajutage edit.2.2.4: Nüüd peame lisama "prügikasti" asukoha uuele muutujale Path enviromental'is. Kui installisite oma C -draivile openCV, võib tee minna järgmiselt: C: / opencv / build / x64 / vc14 / bin Kleepige tee ja vajutage "OK" kõigil akendel, mille olete selle protsessi käigus avanud.

Etapp 2.3: Visual Studio C ++ seadistamine 2.3.1: Looge uus visuaalne C ++ projekt. Tehke sellest tühi win32 konsoolirakenduse projekt. 2.3.2: Vahekaardil Lähtefailid paremklõpsake ja lisage uus C ++ fail (.cpp) ja pange sellele nimi "main.cpp".2.3.3: Paremklõpsake projekti- nimi Lahenduste Exploreris ja valige Atribuudid.2.3.4: Peame lisama täiendavad kaasamiskataloogid. Selle leiate üldiselt vahekaardilt C/C ++. Kopeerige järgmine tee: C: / opencv / build / include ja kleepige see "AID" taha ja klõpsake nuppu Apply. 2.3.5: samas aknas peame valige vahekaart "Linker". üldiselt peame koostama täiendavad liberaalsed kataloogid. Kleepige järgmine tee "AID" taha C: / opencv / build / x64 / vc14 / lib ja vajutage uuesti nuppu Rakenda.2.3.6: valige sama Linkeri vahekaardi alt vahekaart "Sisend". Ja vajutage "Täiendavad sõltuvused> redigeeri" ja kleepige järgmised failid opencv_world320d.lib ja xinput.lib (kontrolleri jaoks) ja vajutage uuesti rakendamiseks. Sulgege aken. Nüüd on teie C ++ fail tööks valmis.

Samm: seadistage Arduino

Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine
Arduino seadistamine

Servodega kohtumine: Servod on võimelised pöörlema ~ 160 °. Normaalseks tööks peavad neil olema 4, 8 ja 6, 0 volti. Servol on 3 tihvti: maandus, 4, 8 - 6, 0 -voldine tihvt ja andmed tihvt. Meie projekti jaoks seadistame DigitalPin 9 ja 10 servode andmepoldid.

RGB -valgusdioodidega kohtumine: RGB -valgusdioodidel on 4 tihvti. Punane, roheline, sinine ja jahvatatud tihvt. Arduino ruumi säästmiseks saame ühendada 2 RGB -d. Nii et me kasutame ainult 3 tihvti. Me saame ühendada ja jootma RGB -LEDid protoboardil nagu pildil. Punane tihvt => DigitalPin 3 (PWM) roheline tihvt => DigitalPin 4Blue pin => DigitalPin 7

Piezo helisignaaliga kohtumine: Meie väike robot hakkab mürama. Selleks peame talle hääle andma! Me võime valida, kas teha ta tõeliselt valjuks. Või võime panna pieso -helisignaali ette 220Ω takisti, et ta oleks vähem ebameeldiv. Jätame Piezo summeri leivalauale. Seega pole jootmist vaja. Me ühendame andmestiku (+) DigitalPin 2 -ga ja maandusnõela leivaplaadil maandusega.

Kohtumine sonariga: Selleks, et robot ei prooviks sihtida inimest, kes asub 10 meetri kaugusel. Saame robotile anda kauguse, kust see suudab inimesi sihtida. Me teeme seda sonari anduriga. VCC => 5 volti Trig => DigitalPin 6Echo => DigitalPin 5GND => maa

Kohtumine mündidetektoriga: Valmistame mündidetektori. Mündiandur töötab, tuvastades, kas ahel on suletud või katki. See töötab peaaegu nagu lüliti. Kuid me peame olema ettevaatlikud. Kui teeme seda valesti, maksab see meile arduino. Esiteks: ühendage AnalogPin A0 5 -voldise kaabliga. Kuid pange selle vahele kindlasti 1KΩ takisti. Teiseks: ühendage traat maandusega. Saame juhtmed ja takisti kohe jootma samale protoboardile nagu RGB -LED -id. Nüüd, kui puudutame kahte juhtme kokku, tuvastab arduino suletud ahela. See tähendab, et seal on münt! Kohtumine hukatuslaseritega. Robot vajab tulistamiseks relvi! Ruumi säästmiseks jootsin kaks laserit kokku. Need sobivad ideaalselt kaamera raami. Ühendage need DigitalPin 11 -ga ja maapinnaga. Laske väike mees eemale!

Valikuline trikk. Me võime panna mündipesa alla punase LED -i. See on lõbus väike trikk pimedal ajal. Ühendage juhe DigitalPin 8 -ga ja asetage 220Ω takisti LED -i ja juhtme vahele, et vältida selle õhkimist. Ühendage LED -i lühike tihvt maandusega.

Samm: C ++ kood

Etapp 4.1: main.cpp koodi seadistamine "\. / COM (muuda seda)" 4.1.3: Reale 21 ja 22 määrake õige tee failidele "haarcascade_frontalface_alt.xml" ja "haarcascade_eye_tree_eyeglasses.xml" Kui C -draivile on installitud openCV, need failid asuvad siin: "C: / opencv / build / etc / haarcascades \" Jätke topelt tagasilöögid või lisage need, kus neid on ainult üks.

Samm 4.2: lisage tserial.h ja Tserial.cpp Need 2 faili hoolitsevad arduino ja arvuti vahelise suhtluse eest. 4.2.1: laadige alla tserial.h ja Tserial.cpp.4.2.2: asetage need kaks faili projekti kataloogi. Lahenduste uurijas paremklõpsake projekti ja valige Lisa> olemasolev üksus. Valige hüpikaknas kaks lisatavat faili.

Samm 4.2: lisage CXBOXController.h ja CXBOXController.h Need failid võtavad projekti kontrolleri osa. 4.2.1: Lahenduste uurijas paremklõpsake projekti ja valige Lisa> olemasolev üksus. Valige hüpikaknas kaks lisatavat faili. C ++ failid on seadistatud.

Samm: Arduino kood

5.1. Laadige alla ArduinoCode.ino ja avage see arduino IDE -s. 5.1.1: Minge jaotisse "Visand> Kaasa raamatukogu> Halda raamatukogusid". 5.1.1: otsige filtrikastist "NewPing" ja installige see kogu.

5.2. Samm: Laadige alla teek 5.2.2: Laadige alla pitches.txt ja kopeerige pitches.txt sisu 5.2.2: Arduino IDE -s vajutage uue vahekaardi avamiseks klahvikombinatsiooni CTRL+Tõstuklahv+N. 5.2.3: Kleepige kood pitches.txt uuele vahekaardile ja salvestage see nimega „pitchches.h”. Arduino kood on seadistatud

6. samm: 3D -printimine ja trükise täpsustamine

3D printimine ja trükise viimistlemine
3D printimine ja trükise viimistlemine
3D -printimine ja trükise viimistlemine
3D -printimine ja trükise viimistlemine

Samm 6.1: 3D -faili printimine Avage printfile.form ja kontrollige, kas kõik on korras. Kui kõik tundub korras, saatke printimistöö printerile. Kui midagi tundub või soovite mudelit muuta. Olen lisanud 3Ds Max -failid ja OBJ -failid teile redigeerimiseks.

6.2. Etapp: mudeli täiustamine modelli kõvaks teha. Või võite mudeli karastamiseks kasutada UV-lampi. Seda tuleb teha, sest mudel jääb kleepuv.

6.2.3: eemaldage tugiraamistik. Seda saab teha traadilõikuriga. Või mõni muu tööriist, millega saab plastikut lõigata. Isegi kui mudel on olnud palju UV-valguses. Osad, mis võivad olla pehmed, on osad, mis asuvad tugiraamide lähedal. Asetage mudel UV-kiirguse käes päikese kätte, et see kõvaks muutuks. Võite proovida servosid raami sobitada. Kui need ei sobi, saate materjali Dremeliga lihvida. tee see sobivaks.

7. samm: kasti ehitamine

Kasti ehitamine
Kasti ehitamine
Kasti ehitamine
Kasti ehitamine

Samm 7.1: aukude tegemine Olen lisanud kõnealuse kasti kavandi Eskiis ei vasta skaalale, kuid kõik suurused on õiged. 7.1.1: Alustuseks märkige kõik augud õigetele kohtadele. 7.1.2: Puurige kõik augud. Suuremad augud saab Dremeliga mõõtu teha.7.1.3: kandilisi auke saab ka puurida. Kuid selleks, et need ruudukujuliseks muuta, saate Dremeli sobitada väikese viiliga ja viilida välja teravad nurgad.7.1.4: proovige sobitada kõik komponendid. kui need sobivad, on teil hea minna! 7.1.5: olge puukildude eest. Nende eemaldamiseks kasutage liivapaberit.

Samm 7.2: Värvimine 7.2.1: Alustage kaane lihvimisega. Meil on vaja värvi kleepuda. 7.2.2: Võtke lapp ja pange sellele karbi puhastamiseks natuke tärpentini.

8. samm: viimistlemine

Lõpetamine
Lõpetamine
Lõpetamine
Lõpetamine
Lõpetamine
Lõpetamine

Nüüd peame kõik paika panema ja laskma tal nii teha. 8. samm: mündiandur.3: kontrollige ühendust mündiga. Kui suletud vooluahelat pole, jootke juhtmed rohkem serva külge. Samm 8.2: Protoboard ja RGB LED -id 8.2.3: ühendage kõik protoboardi juhtmed arduinoga. Samm 8.3: sonari andur 8.3.28.3.2: Lõigake mõned isas- ja naisjuhtmed pooleks ning jootke emane ja isane juhtmed kokku, et saada üks kaabel, mille abil saame anduri ühendada arduinoga. 8.3.3: Ühendage andur arduinoga

8.4. Samm: laserid ja kaamera 8.4.1. Liimige kaamerale väike raam. Veenduge, et see on püsti.8.4.2: Pange laserid ka raami sisse. Liimige need maha, nii et vaenlane neid ei varastaks!

8.5. Samm: servod ja 3D -printimine 8.5.1: liimige servo kaane auku väike ümmargune platoo. Asetage see kaane servole. 8.5.4: Asetage suur 3D -print servole ja platoole ning keerake need kruviga tihedalt kokku. 8.5.5: asetage teine servo väikesele 3D -prindile ja liimige need kokku. 8.5.6: Pange kaamera oma kohale ja kõik on valmis!

Samm: käivitage programm

Roboti käivitamiseks avage Visual stuudios C ++ fail. Veenduge, et olete silumisrežiimis. Laadige arduino -fail arduino -faili üles. Kui see on üles laaditud, vajutage visuaalstuudios esitamist. Ja robot tulistab ja kogub kõik maailma mündid !!!

Soovitan: