Obsah:

Begging Robot with Facial Tracking and Controll by Xbox Controller - Arduino: 9 Steps (with Pictures)
Begging Robot with Facial Tracking and Controll by Xbox Controller - Arduino: 9 Steps (with Pictures)

Video: Begging Robot with Facial Tracking and Controll by Xbox Controller - Arduino: 9 Steps (with Pictures)

Video: Begging Robot with Facial Tracking and Controll by Xbox Controller - Arduino: 9 Steps (with Pictures)
Video: Amazing arduino project 2024, Listopad
Anonim
Image
Image
Instalace a konfigurace OpenCV a C ++
Instalace a konfigurace OpenCV a C ++

Chystáme se žebrat robota. Tento robot se bude snažit dráždit nebo upoutat pozornost kolemjdoucích lidí. Detekuje jejich tváře a pokusí se na ně střílet lasery. Pokud dáte robotovi minci, zazpívá píseň a zatančí. Ke spuštění openCV bude robot potřebovat arduino, živý přenos z kamery a počítač. Robota bude také možné ovládat pomocí ovladače xBox, pokud je připojen k počítači.

Krok 1: Materiály

Hardware elektronický

  • Arduino NANO nebo UNO
  • USB 2.0 fotoaparát
  • Propojovací kabely (samec a samice)
  • 2 x servo - obecné (sub -mikro velikost)
  • 2 x LED - RGB KATHODA 5 mm
  • 2 x 5 mW lasery
  • 1 x červená LED 5 mm
  • 1 x prkénko
  • 4 x 220Ω odpor
  • 1 x 1KΩ odpor
  • 1 x protoboard
  • 1 x snímač sonaru 4 piny
  • Ovladač Xbox

Hardwarový analog

  • Dřevěný box (15 x 15 x 7 cm)
  • Lepidlo
  • Elektrická páska

Software

  • Arduino IDE
  • Vizuální studio 2017
  • 3Ds Max (nebo jakýkoli jiný software pro 3D modelování)
  • Předlisek 2.14.0 nebo novější
  • OpenCV 3.4.0 nebo novější

Nástroje

  • Pájecí zařízení
  • Řezat a vrtat
  • Štípačky

Krok 2: Instalace a konfigurace OpenCV a C ++

Instalace a konfigurace OpenCV a C ++
Instalace a konfigurace OpenCV a C ++

Krok 2.1: Získání softwaru

Visual studio 2017: Stáhnout Visual Studio Comunity 2017openCV 3.4.0 Win pack: Přejít na oficiální stránku pro stahování

Krok 2.2: Instalace OpenCV2.2.1: Extrahujte soubor zip na jednotku Windows (: C). 2.2.2.2: Přejděte do pokročilého nastavení systému. To lze nalézt ve vaší vyhledávací funkci win10.2.2.3: Musíme nastavit nové proměnné prostředí. Vyhledejte prostředí „Path“a stiskněte editovat.2.2.4: Nyní musíme přidat umístění „bin mapy“do nové proměnné v prostředí Path enviromental. Pokud jste na disk C nainstalovali openCV, cesta může vypadat takto: C: / opencv / build / x64 / vc14 / bin Vložte cestu a stiskněte „OK“ve všech oknech, která jste během tohoto procesu možná otevřeli.

Krok 2.3: Konfigurace Visual Studio C ++ 2.3.1: Vytvořte nový projekt Visual C ++. Vytvořte z něj prázdný projekt aplikace konzoly win32.2.3.2: Na kartě zdrojových souborů klikněte pravým tlačítkem a přidejte nový soubor C ++ (.cpp) a pojmenujte jej „main.cpp“.2.3.3: Klikněte pravým tlačítkem na projekt- název v Průzkumníkovi řešení a vyberte Vlastnosti. 2.3.4: Musíme přidat další Zahrnout adresáře. To lze nalézt obecně na kartě C/C ++. Zkopírujte následující cestu: C: / opencv / build / include a vložte ji za „AID“a klikněte na použít.2.3.5: Ve stejném okně musíme vyberte kartu „Linker“. obecně musíme vytvořit další další knihovní adresáře. Vložte následující cestu za „AID“C: / opencv / build / x64 / vc14 / lib a stiskněte znovu použít.2.3.6: Na stejné kartě Linker vyberte kartu „Input“. A stiskněte „Další závislosti> upravit“a vložte následující soubor opencv_world320d.lib a xinput.lib (pro ovladač) a stiskněte znovu použít. Zavřete okno. Nyní je váš soubor C ++ připraven pracovat.

Krok 3: Nastavení Arduina

Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina
Nastavení Arduina

Setkání se servy: Serva se mohou otáčet ~ 160 °. Aby normálně fungovala, musí mít mezi 4, 8 a 6, 0 V. Servo má 3 piny: zem, 4, 8 - 6, 0 voltový pin a datový kolík. Pro náš projekt nastavíme datové piny pro serva na DigitalPin 9 a 10.

Splnění LED diod RGB: LED diody RGB mají 4 piny. Červený, zelený, modrý a uzemňovací kolík. Abychom na arduinu ušetřili místo, můžeme spojit 2 RGB diody dohromady. Použijeme tedy pouze 3 piny. LED diody RGB můžeme připojit a pájet na protoboardu jako na obrázku. Červený kolík => DigitalPin 3 (PWM) Zelený kolík => DigitalPin 4Blue pin => DigitalPin 7

Setkání s bzučákem Piezo: Náš malý robot vydá nějaký hluk. Abychom to mohli udělat, musíme mu dát hlas! Můžeme se rozhodnout, že ho opravdu nahlas. Nebo můžeme před piezový bzučák dát odpor 220Ω, aby byl o něco méně nepříjemný. Piezo bzučák necháváme na prkénku. Není tedy třeba pájet. Datový kolík (+) připojíme k DigitalPin 2 a zemnící kolík k zemi na desce.

Setkání se sonarem: Aby se robot nepokusil zamířit na osobu, která je vzdálená 10 metrů. Můžeme dát robotovi vzdálenost, odkud bude moci mířit na lidi. Děláme to pomocí sonarového senzoru. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => zem

Setkání s detektorem mincí: Vyrobíme detektor mincí. Detektor mincí bude fungovat tak, že detekuje, zda je obvod uzavřený nebo přerušený. Bude to téměř fungovat jako přepínač. Ale musíme být opatrní. Pokud to uděláme špatně, bude nás to stát arduino. Nejprve: Připojte AnalogPin A0 k 5voltovému kabelu. Nezapomeňte však mezi ně umístit odpor 1 KΩ. Za druhé: Připojte vodič k zemi. Můžeme okamžitě připájet vodiče a rezistor ke stejnému protoboardu jako RGB LED. Pokud se nyní dotkneme 2 vodičů, Arduino detekuje uzavřený obvod. To znamená, že je tam mince! Setkání s lasery zkázy. Robot potřebuje ke střelbě zbraně! Abych ušetřil místo, spojil jsem 2 lasery dohromady. Dokonale zapadnou do rámečku kamery. Připojte je k DigitalPin 11 a uzemněte.

Volitelný trik. Pod slot pro mince můžeme umístit červenou LED. Bude to zábavný malý trik, když je tma. Připojte kabel k DigitalPin 8 a mezi LED a vodič vložte 220Ω odpor, aby se zabránilo vybití. Připojte krátký kolík LED k uzemnění.

Krok 4: Kód C ++

Krok 4.1: Nastavení kódu main.cpp4.1.1: Stáhněte si „main.cpp“a zkopírujte kód do vlastního main.cpp.4.1.2: Na řádku 14 změňte „com“na com, který používá arduino. "\. / COM (změnit)" 4.1.3: Na řádku 21 a 22 nastavte správnou cestu k souborům "haarcascade_frontalface_alt.xml" a "haarcascade_eye_tree_eyeglasses.xml" Pokud je na disku C nainstalován openCV, tyto soubory lze umístit zde: "C: / opencv / build / atd / haarcascades \" Zachovat dvojitá zpětná lomítka nebo přidat jedno, kde je pouze jedno.

Krok 4.2: Přidejte tserial.h a Tserial.cpp Tyto 2 soubory se postarají o komunikaci mezi arduino a PC. 4.2.1: Stáhnout tserial.h a Tserial.cpp.4.2.2: Umístěte tyto 2 soubory do projektu adresář. V Průzkumníkovi řešení klikněte pravým tlačítkem na projekt a vyberte přidat> stávající položku. Ve vyskakovacím okně vyberte dva soubory, které chcete přidat.

Krok 4.2: Přidejte CXBOXController.h a CXBOXController.h Tyto soubory převezmou část projektu z řadiče 4.2.2.1: V Průzkumníkovi řešení klikněte pravým tlačítkem na projekt a vyberte přidat> stávající položku. Ve vyskakovacím okně vyberte dva soubory, které chcete přidat. Soubory C ++ jsou nastaveny.

Krok 5: Kód Arduino

Krok 5.1: NewPing library5.1.1: Stáhněte si ArduinoCode.ino a otevřete jej v arduino IDE.5.1.2: Přejděte na „Sketch> Include libary> Manage libaries“.5.1.3: Vyhledejte v poli filtru „NewPing“a nainstalujte tuto knihovnu.

Krok 5.2: Knihovna hřišť 5.2.2: Stažení pitches.txt a zkopírování obsahu pitches.txt 5.2.2.2: V Arduino IDE otevřete stisknutím CTRL+Shift+N novou kartu. 5.2.3: Vložte kód z pitches.txt na novou kartu a uložit ji jako „pitches.h“. Kód Arduino byl nastaven

Krok 6: 3D tisk a zpřesnění tisku

3D tisk a zpřesnění tisku
3D tisk a zpřesnění tisku
3D tisk a zpřesnění tisku
3D tisk a zpřesnění tisku

Krok 6.1: Vytiskněte soubor 3D Otevřete soubor printfile.form a zkontrolujte, zda je vše v pořádku. Pokud je vše v pořádku, odešlete tiskovou úlohu na tiskárnu. Pokud se vám něco zdá nebo chcete změnit model. Zahrnul jsem soubory 3Ds Max a soubory OBJ, které můžete upravit.

Krok 6.2: Upřesnění modelu 6.2.1: Po dokončení tisku namočte 2 modely do 70% alkoholu, abyste odstranili případné zbytky tisku. 6.2.2: Po tisku položte model na několik hodin na slunce, aby nechalo UV světlo zpevnit model. Nebo můžete model vytvrdit pomocí UV lampy. To je třeba udělat, protože model bude lepkavý.

6.2.3: Odeberte rámec podpory. To lze provést řezačkou drátu. Nebo jakýkoli jiný nástroj, který dokáže řezat plasty. 6.2.4: Některé části 3D tisku mohou být stále měkké. I když byl model vystaven spoustě ultrafialového záření. Části, které mohou být měkké, jsou části, které se blíží nosným rámům. Položte model na více slunce ultrafialového světla, aby ztvrdl.6.2.5: S „dremelem“můžete obrousit všechny malé nerovnosti způsobené rámcem. Můžete zkusit vložit serva do rámu. Pokud se nevejdou, můžete použít Dremel k pískování materiálu. ať to sedí.

Krok 7: Sestavení krabice

Budování boxu
Budování boxu
Budování boxu
Budování boxu

Krok 7.1: Vytváření děr Zahrnul jsem plán dotyčného boxu. Plán není v měřítku, ale všechny velikosti jsou správné. 7.1.1.1: Začněte označením všech otvorů na správných místech. 7.1.1: Vyvrtejte všechny otvory. Větší otvory mohou být upraveny na velikost pomocí Dremel. 7.1.3: Čtvercové otvory lze také vyvrtat. Aby však byly hranaté, můžete do Dremelu vložit malý pilník a vyřezat ostré rohy. 7.1.4: Zkuste vložit všechny součásti. pokud se vejdou, je dobré jít! 7.1.5: Dávejte pozor na třísky. Zbavte se jich pomocí smirkového papíru.

Krok 7.2: Malování 7.2.2: Začněte broušením víka. 7.2.2: Vezměte si hadřík a na něj naneste trochu terpentýnu, abyste krabici vyčistili. 7.2.3: Nyní můžete krabici nastříkat barvou, jakou si přejete.

Krok 8: Dokončení

Dokončení
Dokončení
Dokončení
Dokončení
Dokončení
Dokončení

Nyní musíme dát vše na místo a nechat to, co má dělat. Krok 8.1: Detektor mincí 8.1.1: Přilepte několik kovových výztuh pro detektor mincí. 8.1.1: Pájejte každý vodič od konektoru k výztuze..3: Otestujte spojení s mincí. Pokud není uzavřený obvod, připájejte vodiče více k okraji. Krok 8.2: Protoboard a RGB LED 8.2.1: Umístěte protoboard do pravého horního rohu a přilepte ho páskou! 8.2.2: Připojte LED diody RGB k vodičům 8.2.3: Připojte všechny vodiče z protoboardu k arduinu. Krok 8.3: Sonarový senzor 8.3.1: Umístěte senzor do otvorů, které jsme pro něj vytvořili. Pokud máte propojovací kabely pro muže a ženy, můžete je přeskočit 8.3.28.3.2: Přestřihněte několik mužských a ženských vodičů na polovinu a pájením ženského a mužského vodiče spojte jeden kabel, který můžeme použít k připojení senzoru k Arduinu. 8.3.3: Připojte senzor k Arduinu

Krok 8.4: Lasery a kamera 8.4.1: Přilepte malý rámeček k fotoaparátu. 8.4.2: Umístěte lasery také do rámu. Přilepte je, aby je nepřítel neukradl!

Krok 8.5: Serva a 3D tisk 8.5.1: Přilepte servo do otvoru víka 8.5.2: Nahrajte soubor arduino do arduina (díky tomu budou serva stát ve správné poloze) 8.5.3: Se servem přišel malá kulatá plošina. Umístěte to na servo ve víku. 5.5.5: Umístěte velký 3D tisk na servo a plošinu a pevně je sešroubujte šroubem. 5.5.5: Umístěte druhé servo na malý 3D tisk a slepte je dohromady. 8.5.6: Umístěte kameru na místo a vše je připraveno!

Krok 9: Spusťte program

Chcete -li robot spustit, otevřete soubor C ++ v aplikaci Visual studio. Ujistěte se, že jste v „režimu ladění“Nahrajte soubor arduino do arduina. Jakmile je to nahráno, stiskněte Play ve Visual Studiu. A robot vystřelí a posbírá všechny mince světa !!!

Doporučuje: