Obsah:

Žobrajúci robot so sledovaním tváre a ovládaním pomocou ovládača Xbox - Arduino: 9 krokov (s obrázkami)
Žobrajúci robot so sledovaním tváre a ovládaním pomocou ovládača Xbox - Arduino: 9 krokov (s obrázkami)

Video: Žobrajúci robot so sledovaním tváre a ovládaním pomocou ovládača Xbox - Arduino: 9 krokov (s obrázkami)

Video: Žobrajúci robot so sledovaním tváre a ovládaním pomocou ovládača Xbox - Arduino: 9 krokov (s obrázkami)
Video: Я обнаружил Жуткий Тоннель в подвале своего дома. Странные правила ТСЖ. Страшные истории на ночь 2024, Júl
Anonim
Image
Image
Inštalácia a konfigurácia OpenCV a C ++
Inštalácia a konfigurácia OpenCV a C ++

Ideme robiť žobráckeho robota. Tento robot sa bude snažiť podráždiť alebo upútať pozornosť okoloidúcich ľudí. Rozpozná ich tváre a pokúsi sa na ne vystreliť lasery. Ak dáte robotovi mincu, bude spievať pieseň a tancovať. Na spustenie openCV bude robot potrebovať arduino, živý prenos z kamery a počítača. Robota bude možné ovládať aj pomocou ovládača xBox, ak je pripojený k počítaču.

Krok 1: Materiály

Hardware elektronický

  • Arduino NANO alebo UNO
  • USB 2.0 fotoaparát
  • Prepojovacie káble (samec a samica)
  • 2 x servo - všeobecné (sub -mikro veľkosť)
  • 2 x LED - RGB KATHÓDA 5 mm
  • 2 x 5 mW lasery
  • 1 x červená LED 5 mm
  • 1 x Breadboard
  • Rezistor 4 x 220Ω
  • Rezistor 1 x 1KΩ
  • 1 x protoboard
  • 1 x snímač sonaru 4 piny
  • Ovládač Xbox

Hardvérový analóg

  • Drevený box (15 x 15 x 7 cm)
  • Lepidlo
  • Elektrická páska

Softvér

  • Arduino IDE
  • Vizuálne štúdio 2017
  • 3Ds Max (alebo iný softvér na 3D modelovanie)
  • Predforma 2.14.0 alebo novšia
  • OpenCV 3.4.0 alebo novší

Nástroje

  • Spájkovacie zariadenie
  • Píliť a vŕtať
  • Drôtová rezačka

Krok 2: Inštalácia a konfigurácia OpenCV a C ++

Inštalácia a konfigurácia OpenCV a C ++
Inštalácia a konfigurácia OpenCV a C ++

Krok 2.1: Získanie softvéru

Visual studio 2017: Stiahnite si Visual Studio Comunity 2017openCV 3.4.0 Win pack: Prejdite na oficiálnu stránku na stiahnutie

Krok 2.2: Inštalácia OpenCV2.2.1: Extrahujte súbor zip na disk Windows (: C). 2.2.2.2: Prejdite na rozšírené systémové nastavenia. To nájdete vo vyhľadávacej funkcii win10.2.2.3: Potrebujeme nastaviť nové environmentálne premenné. Nájdite prostredie „Cesta“a stlačte tlačidlo Upraviť.2.2.4: Teraz musíme pridať umiestnenie „bin mapy“do novej premennej v prostredí Path. Ak ste na disk C nainštalovali openCV, cesta môže vyzerať takto: C: / opencv / build / x64 / vc14 / bin Vložte cestu a kliknite na tlačidlo „OK“vo všetkých oknách, ktoré ste počas tohto procesu mohli otvoriť.

Krok 2.3: Konfigurácia Visual Studio C ++ 2.3.1: Vytvorte nový projekt Visual C ++. Urobte z neho prázdny projekt aplikácie konzoly win32.2.3.2: Na karte zdrojových súborov kliknite pravým tlačidlom myši a pridajte nový súbor C ++ (.cpp) a pomenujte ho „main.cpp“.2.3.3: Kliknite pravým tlačidlom myši na projekt- názov v Prieskumníkovi riešení a zvoľte Vlastnosti.2.3.4: Musíme pridať ďalšie Zahrnúť adresáre. Toto nájdete vo všeobecnosti na karte C/C ++. Skopírujte nasledujúcu cestu: C: / opencv / build / include a prilepte ju za „AID“a kliknite na tlačidlo použiť. 2.3.3.5: V tom istom okne potrebujeme vyberte kartu „Linker“. Na základe všeobecných zásad musíme vytvoriť ďalšie dodatočné knižničné zoznamy. Prilepte nasledujúcu cestu za „AID“C: / opencv / build / x64 / vc14 / lib a znova stlačte tlačidlo Použiť. 2.3.3: Na tej istej karte Linker vyberte kartu „Vstup“. Kliknite na „Ďalšie závislosti> upraviť“a prilepte nasledujúci súbor opencv_world320d.lib a xinput.lib (pre ovládač) a znova stlačte tlačidlo Použiť. Zatvorte okno. Teraz je váš súbor C ++ pripravený na prácu.

Krok 3: Nastavenie Arduina

Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina
Nastavenie Arduina

Stretnutie so servom: Servo sa môže otáčať ~ 160 °. Na normálnu prevádzku musí mať napätie 4, 8 až 6, 0 voltov. Servo má 3 kolíky: uzemňovací, 4, 8 - 6, 0 voltový kolík a údaj špendlík. Pre náš projekt nastavíme dátové piny pre serva na DigitalPin 9 a 10.

Stretnutie s LED diódami RGB: LED diódy RGB majú 4 piny. Červený, zelený, modrý a uzemňovací kolík. Aby sme ušetrili miesto na arduine, môžeme spojiť 2 RGB diódy dohromady. Použijeme teda iba 3 piny. RGB diódy môžeme pripojiť a spájkovať na protoboarde, ako na obrázku. Červený kolík => DigitalPin 3 (PWM) Zelený kolík => DigitalPin 4 Modrý kolík => DigitalPin 7

Stretnutie s bzučiakom Piezo: Náš malý robot bude vydávať hluk. Aby sme to urobili, musíme mu dať hlas! Môžeme sa rozhodnúť, že ho poriadne nahlas. Alebo môžeme pred piezový bzučiak vložiť odpor 220Ω, aby bol o niečo menej nepríjemný. Piezový bzučiak nechávame na doske. Takže nie je potrebné spájkovanie. Dátový kolík (+) prepojíme s DigitalPin 2 a uzemňovací kolík so zemou na doske.

Stretnutie so sonarom: Aby sa robot nepokúsil zamieriť na osobu, ktorá je vzdialená 10 metrov. Robotu môžeme dať určitý dosah, odkiaľ bude môcť mieriť na ľudí. Vykonávame to pomocou sonarového senzora. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => zem

Stretnutie s detektorom mincí: Vyrobíme detektor mincí. Detektor mincí bude fungovať tak, že zistí, či je obvod uzavretý alebo zlomený. Bude to fungovať takmer ako prepínač. Ale musíme byť opatrní. Ak to urobíme zle, bude nás to stáť arduino. Po prvé: Pripojte AnalogPin A0 k 5 -voltovému káblu. Nezabudnite však medzi ne vložiť odpor 1 KΩ. Za druhé: Pripojte drôt k zemi. Vodiče a rezistor môžeme ihneď spájkovať na ten istý protoboard ako LED diódy RGB. Teraz, ak sa dotkneme 2 vodičov, arduino detekuje uzavretý obvod. To znamená, že je tu minca! Stretnutie s lasermi záhuby. Robot potrebuje na streľbu zbrane! Aby som ušetril miesto, spojil som dva lasery dohromady. Dokonale zapadnú do rámu fotoaparátu. Pripojte ich k DigitalPin 11 a k zemi. Vyhoďte malý chlapček!

Voliteľný trik. Pod slot na mince môžeme vložiť červenú diódu LED. Bude to zábavná malá vychytávka, keď je tma. Pripojte vodič k DigitalPin 8 a medzi LED a vodič vložte 220Ω odpor, aby sa zabránilo vybuchnutiu. Pripojte krátky kolík LED k uzemneniu.

Krok 4: Kód C ++

Krok 4.1: Nastavenie kódu main.cpp4.1.1: Stiahnite si súbor „main.cpp“a skopírujte ho do svojho súboru main.cpp.4.1.2: Na riadku 14 zmeňte „com“na server, ktorý používa arduino. "\. / COM (zmeniť)" 4.1.3: Na riadkoch 21 a 22 nastavte správnu cestu k súborom "haarcascade_frontalface_alt.xml" a "haarcascade_eye_tree_eyeglasses.xml" Ak je na disku C nainštalovaný openCV, tieto súbory je možné nájsť tu: "C: / opencv / build / etc / haarcascades \" Ponechajte dvojité spätné lomítka alebo ich pridajte tam, kde je iba jedno.

Krok 4.2: Pridajte tserial.h a Tserial.cpp Tieto 2 súbory sa postarajú o komunikáciu medzi arduino a PC. 4.2.1: Stiahnite si tserial.h a Tserial.cpp.4.2.2: Vložte tieto 2 súbory do projektu adresár. V Prieskumníkovi riešení kliknite pravým tlačidlom myši na projekt a vyberte položku pridať> existujúcu položku. V rozbaľovacom okne vyberte dva súbory, ktoré chcete pridať.

Krok 4.2: Pridajte CXBOXController.h a CXBOXController.h Tieto súbory prevezmú kontrolnú časť projektu. 4.2.1: V Prieskumníkovi riešení kliknite pravým tlačidlom na projekt a zvoľte pridať> existujúcu položku. V rozbaľovacom okne vyberte dva súbory, ktoré sa majú pridať. Súbory C ++ sú nastavené.

Krok 5: Kód Arduino

Krok 5.1: Knižnica NewPing5.1.1: Stiahnite si ArduinoCode.ino a otvorte ho v arduino IDE.5.1.2: Prejdite na „Skica> Zahrnúť knižnicu> Spravovať libaries“.5.1.3: V poli filtra vyhľadajte „NewPing“a nainštalujte si túto knižnicu.

Krok 5.2: Knižnica rozstupov 5.2.2: Stiahnite si pitches.txt a skopírujte obsah pitches.txt.5.2.2: V Arduino IDE stlačením CTRL+Shift+N otvorte novú kartu. 5.2.3: Vložte kód z pitches.txt na novú kartu a uložiť ho ako „pitches.h“. Kód Arduino bol nastavený

Krok 6: 3D tlač a spresnenie tlače

3D tlač a zdokonalenie tlače
3D tlač a zdokonalenie tlače
3D tlač a zdokonalenie tlače
3D tlač a zdokonalenie tlače

Krok 6.1: Vytlačte súbor 3D Otvorte súbor printfile.form a skontrolujte, či je všetko v poriadku. Ak je všetko v poriadku, odošlite tlačovú úlohu na tlačiareň. Ak sa vám niečo zdá alebo chcete zmeniť model. Zahrnul som súbory 3Ds Max a súbory OBJ, ktoré môžete upravovať.

Krok 6.2: Upresnenie modelu 6.2.1: Po dokončení tlače namočte 2 modely do 70% alkoholu, aby ste odstránili prípadné zvyšky tlače. 6.2.2.2: Po vytlačení položte model na niekoľko hodín na slnko, aby nechalo ultrafialové svetlo. vytvrdnúť model. Alebo môžete model vytvrdnúť pomocou UV lampy. To je potrebné urobiť, pretože model bude lepkavý.

6.2.3: Odstráňte rámec podpory. To sa dá urobiť pomocou rezačky drôtu. Alebo akýkoľvek iný nástroj, ktorý môže rezať plasty.6.2.4: Niektoré časti 3D tlače môžu byť stále mäkké. Aj keď bol model vystavený veľkému množstvu ultrafialového žiarenia. Časti, ktoré môžu byť mäkké, sú časti, ktoré sú blízko nosných rámov. Položte model na viac slnka ultrafialového svetla, aby stvrdol.6.2.5: S „dremel“môžete obrúsiť všetky malé nerovnosti, ktoré rám spôsobuje. Môžete sa pokúsiť namontovať serva do rámu. Ak sa vám nehodia, môžete použiť materiál Dremel na brúsenie materiálu. aby to sedelo.

Krok 7: Zostavenie krabice

Budovanie boxu
Budovanie boxu
Budovanie boxu
Budovanie boxu

Krok 7.1: Vytváranie otvorov Zahrnul som plán príslušnej škatule. Plán nie je v mierke, ale všetky veľkosti sú správne. 7.1.1.1: Začnite označením všetkých otvorov na správnych miestach. 7.1.1: Vyvŕtajte všetky otvory. Väčšie otvory je možné vyrobiť až do veľkosti pomocou Dremel.7.1.3: Štvorcové otvory je možné tiež vyvŕtať. Ale aby boli hranaté, môžete do Dremelu vložiť malý pilník a vypilovať ostré rohy.7.1.4: Pokúste sa prispôsobiť všetky súčasti. Ak sa hodia, môžete ísť! 7.1.5: Dávajte si pozor na drevené triesky. Zbavte sa ich brúsnym papierom.

Krok 7.2: Maľovanie 7.2.2: Začnite brúsením veka. Potrebujeme, aby sa farba nalepila. 7.2.2: Vezmite handričku a naneste na ňu trochu terpentínu, aby ste škatuľu vyčistili. 7.2.3: Teraz môžete krabicu nastriekať ľubovoľnou farbou.

Krok 8: Dokončenie

Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie
Dokončenie

Teraz musíme dať všetko na svoje miesto a nechať to robiť. Krok 8.1: Detektor mincí 8.1.1: Prilepte niekoľko kovových výstuh pre detektor mincí. 8.1.1.2: Spájkujte každý vodič z konektora na vzperu. 8.1.3: Otestujte spojenie pomocou mince. Ak nie je uzavretý obvod, spájkujte vodiče viac k okraju. Krok 8.2: Protoboard a RGB LED 8.2.1: Umiestnite protoboard do pravého horného rohu a zalepte ho páskou! 8.2.2: Pripojte RGB diódy k vodičom 8.2.3: Pripojte všetky vodiče z protoboardu k Arduinu. Krok 8.3: Sonarový senzor 8.3.1: Umiestnite senzor do otvorov, ktoré sme preň vyrobili. Ak máte prepojovacie vodiče medzi mužmi a ženami, môžete preskočiť 8.3.28.3.2: Odstrihnite niekoľko mužských a ženských vodičov na polovicu a spájajte ženské a mužské vodiče dohromady, aby ste vytvorili jediný kábel, ktorý môžeme použiť na pripojenie snímača k arduinu. 8.3.3.3: Pripojte snímač k arduinu

Krok 8.4: Lasery a kamera8.4.1: Prilepte malý rámček na fotoaparát. 8.4.2: Vložte lasery aj do rámu. Prilepte ich, aby ich nepriateľ neukradol!

Krok 8.5: Servá a 3D tlač8.5.1: Prilepte servo do otvoru veka8.5.2: Nahrajte súbor arduino do arduina (tým sa serva postavia do správnej polohy) 8.5.3: So servom príde malá okrúhla plošina. Umiestnite to na servo vo veku. 5.5.4: Položte veľký 3D výtlačok na servo a plošinu a pevne ich priskrutkujte skrutkou. 5.5.5: Druhé servo položte na malý 3D výtlačok a zlepte ich. 8.5.6: Vložte kameru na miesto a všetko je pripravené!

Krok 9: Spustite program

Na spustenie robota otvorte súbor C ++ v programe Visual studio. Uistite sa, že ste v „režime ladenia“Odošlite súbor arduino do arduina. Akonáhle je to nahrané, stlačte tlačidlo hrať vo vizuálnom štúdiu. A robot vystrelí a pozbiera všetky mince na svete !!!

Odporúča: