Sadržaj:

Robot za prosjačenje s praćenjem lica i kontrolom pomoću Xbox kontrolera - Arduino: 9 koraka (sa slikama)
Robot za prosjačenje s praćenjem lica i kontrolom pomoću Xbox kontrolera - Arduino: 9 koraka (sa slikama)

Video: Robot za prosjačenje s praćenjem lica i kontrolom pomoću Xbox kontrolera - Arduino: 9 koraka (sa slikama)

Video: Robot za prosjačenje s praćenjem lica i kontrolom pomoću Xbox kontrolera - Arduino: 9 koraka (sa slikama)
Video: Perbedaan Kualitas Text To Speech Gratis dg Berbayar (Premium) 2024, Juli
Anonim
Image
Image
Instaliranje i konfiguriranje OpenCV i C ++
Instaliranje i konfiguriranje OpenCV i C ++

Napravit ćemo robota za prosjačenje. Ovaj robot će pokušati iritirati ili privući pažnju prolaznih ljudi. On će otkriti njihova lica i pokušati pucati laserima u njih. Ako robotu date novčić, pjevat će pjesmu i plesati. Robotu će trebati arduino, live feed kamere i računar za pokretanje openCV -a. Robotom će također moći upravljati xBox kontroler ako je povezan s računalom.

Korak 1: Materijali

Hardver Electronic

  • Arduino NANO ili UNO
  • USB 2.0 kamera
  • Premosni kablovi (muški i ženski)
  • 2 x servo - općenito (sub -mikro veličina)
  • 2 x LED - RGB KATODA 5 mm
  • 2 x 5mW laseri
  • 1 x crvena LED dioda 5 mm
  • 1 x Oglasna ploča
  • 4 x 220Ω otpornik
  • 1 x 1KΩ otpornik
  • 1 x protoboard
  • 1 x Sonarni senzor 4 pina
  • Xbox kontroler

Hardverski analog

  • Drvena kutija (15 x 15 x 7 cm)
  • Ljepilo
  • Električna traka

Softver

  • Arduino IDE
  • Vizuelni studio 2017
  • 3Ds Max (ili bilo koji drugi softver za 3d modeliranje)
  • Preform 2.14.0 ili noviji
  • OpenCV 3.4.0 ili noviji

Alati

  • Oprema za lemljenje
  • Testera i bušenje
  • Rezač žice

Korak 2: Instaliranje i konfiguriranje OpenCV i C ++

Instaliranje i konfiguriranje OpenCV i C ++
Instaliranje i konfiguriranje OpenCV i C ++

Korak 2.1: Preuzimanje softvera

Visual studio 2017: Preuzmite Visual studio Comunity 2017openCV 3.4.0 Win pack: Idite na službenu stranicu za preuzimanje

Korak 2.2: Instaliranje OpenCV2.2.1: Raspakujte zip datoteku na svoj Windows (: C) pogon.2.2.2: Idite na napredne sistemske postavke. Ovo se može pronaći u vašoj funkciji pretraživanja win10.2.2.3: Moramo postaviti nove varijable okruženja. Pronađite okoliš "Path" i pritisnite edit.2.2.4: Sada moramo dodati lokaciju "bin mape" novoj varijabli u okruženju Path. Ako ste na pogon C instalirali openCV, putanja može izgledati ovako: C: / opencv / build / x64 / vc14 / bin Zalijepite putanju i pritisnite "OK" na svim prozorima koje ste možda otvorili tokom ovog procesa.

Korak 2.3: konfiguriranje vizuelnog studija C ++ 2.3.1: Napravite novi vizuelni C ++ projekat. Učinite to praznim projektom konzole Win32.2.3.2: Na kartici izvorne datoteke kliknite desnim tasterom miša i dodajte novu C ++ datoteku (.cpp) i dajte joj ime "main.cpp".2.3.3: Desni klik na projekt- ime u Exploreru rješenja i odaberite Svojstva.2.3.4: Moramo dodati dodatni Uključi direktorije. Ovo se općenito može pronaći na kartici C/C ++. Kopirajte sljedeću putanju: C: / opencv / build / include i zalijepite je iza "AID -a" i kliknite na Apply.2.3.5: U istom prozoru moramo odaberite karticu "Linker". općenito, moramo napraviti druge dodatne imenike biblioteka. Zalijepite sljedeću putanju iza "AID" C: / opencv / build / x64 / vc14 / lib i ponovo pritisnite Apply.2.3.6: Na istoj kartici Linker odaberite karticu "Input". I pritisnite "Dodatne ovisnosti> uredi" i zalijepite sljedeću datoteku opencv_world320d.lib i xinput.lib (za kontroler) i pritisnite ponovo primijeni. Zatvorite prozor. Sada je vaša C ++ datoteka spremna za rad.

Korak 3: Postavljanje Arduina

Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina
Postavljanje Arduina

U susret servo pogonima: Servomotori se mogu rotirati ~ 160 ° Moraju imati između 4, 8 i 6, 0 Volta da bi radili normalno. Servo ima 3 pina: uzemljenje, 4, 8 - 6, 0 volt i pin pin. Za naš projekt namjestit ćemo pinove podataka za servo sisteme na DigitalPin 9 i 10.

Upoznavanje sa RGB LED diodama: RGB LED diode imaju 4 pina. Crvena, zelena, plava i uzemljena iglica. Kako bismo uštedjeli malo prostora na arduinu, možemo spojiti 2 RGB LED diode zajedno. Koristit ćemo samo 3 pina. Možemo spojiti i lemiti RGB LED diode na protoboard kao na slici. Crveni pin => DigitalPin 3 (PWM) Zeleni pin => DigitalPin 4Blue pin => DigitalPin 7

Susret sa Piezo zujalicom: Naš mali robot će napraviti malo buke. Da bismo to učinili, moramo mu dati glas! Možemo izabrati da ga učinimo zaista glasnim. Ili možemo postaviti otpornik od 220 Ω prije piezo zujalice kako bismo ga učinili manje neugodnim. Ostavljamo Piezo zujalicu na ploči. Dakle, nema potrebe za lemljenjem. Povezujemo pin za podatke (+) na DigitalPin 2, a pin za uzemljenje na masu na matičnoj ploči.

Upoznavanje sonara: Kako biste spriječili robota da pokuša usmjeriti osobu koja je udaljena 10 metara. Robotu možemo dati udaljenost od koje će moći ciljati u ljude. To radimo pomoću senzora sonara. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => uzemljenje

Upoznajte detektor novčića: Napravit ćemo detektor novčića. Detektor novčića će raditi tako što će otkriti je li krug zatvoren ili prekinut. Skoro će funkcionirati kao prekidač. Ali moramo biti oprezni. Ako ovo učinimo pogrešno, koštat će nas arduino. Prvo: Spojite AnalogPin A0 na 5 -voltni kabel. Ali svakako stavite otpornik od 1KΩ. Drugo: Spojite žicu na masu. Možemo odmah lemiti žice i otpornike na istu protoboard kao i RGB LED diode. Sada, ako dodirnemo 2 žice uzastopno, arduino će otkriti zatvoreno kolo. To znači da postoji novčić! U susret laserima propasti. Robotu je potrebno oružje za pucanje! Da bih uštedio prostor, lemio sam dva lasera zajedno. Savršeno će se uklopiti u okvir fotoaparata. Spojite ih na DigitalPin 11 i uzemljenje. Otpustite malog momka!

Opcionalni trik. Možemo staviti crvenu LED lampicu ispod utora za kovanice. Ovo će biti zabavan mali trik za vrijeme mraka. Spojite žicu na DigitalPin 8 i postavite otpornik od 220 Ω između LED -a i žice kako biste spriječili da eksplodira. Spojite kratki pin LED diode na masu.

Korak 4: C ++ kôd

Korak 4.1: Postavljanje main.cpp koda 4.1.1: Preuzmite "main.cpp" i kopirajte kôd na svoj main.cpp.4.1.2: Na liniji 14 promijenite "com" u com koji koristi arduino. "\. / COM (promijeni ovo)" 4.1.3: Na linijama 21 i 22 postavite pravi put do datoteka "haarcascade_frontalface_alt.xml" i "haarcascade_eye_tree_eyeglasses.xml" Ako je openCV instaliran na C pogonu, ove datoteke se mogu nalaziti ovdje: "C: / opencv / build / etc / haarcascades \" Zadržite dvostruke obrnute kose crte ili dodajte jednu tamo gdje postoji samo jedna.

Korak 4.2: Dodajte tserial.h i Tserial.cppOve 2 datoteke će se pobrinuti za komunikaciju između arduina i računara. imenik. U Exploreru rješenja desnom tipkom miša kliknite projekt i odaberite dodaj> postojeća stavka. U skočnom prozoru odaberite dvije datoteke koje želite dodati.

Korak 4.2: Dodajte CXBOXController.h i CXBOXController.hOve datoteke će preuzeti upravljački dio projekta. 4.2.2: U Exploreru rješenja desnom tipkom miša kliknite projekt i odaberite dodaj> postojeću stavku. U skočnom prozoru odaberite dvije datoteke koje želite dodati. C ++ datoteke su postavljene.

Korak 5: Arduino kod

Korak 5.1: Knjižnica NewPing 5.1.1: Preuzmite ArduinoCode.ino i otvorite ga u arduino IDE.5.1.2: Idite na "Skica> Uključi biblioteku> Upravljanje bibliotekama".5.1.3: Pretražite u okviru za filtriranje na "NewPing" i instalirajte ovu biblioteku.

Korak 5.2: Knjižnica parcela 5.2.2: Preuzmite pitches.txt i kopirajte sadržaj pitches.txt.5.2.2: U Arduino IDE -u pritisnite CTRL+Shift+N da biste otvorili novu karticu. 5.2.2: Zalijepite kôd iz pitches.txt u novu karticu i spremite kao "pitches.h". Arduino kod je postavljen

Korak 6: 3D štampanje i poboljšavanje štampe

3D štampanje i usavršavanje štampe
3D štampanje i usavršavanje štampe
3D štampanje i usavršavanje štampe
3D štampanje i usavršavanje štampe

Korak 6.1: Odštampajte 3D datoteku Otvorite printfile.form i proverite da li je sve u redu. Ako vam se sve čini u redu, pošaljite zadatak za štampanje na štampač. Ako vam se nešto čini ili želite promijeniti model. Uključio sam datoteke 3Ds Max i OBJ datoteke koje možete uređivati.

Korak 6.2: Poboljšajte model 6.2.1: Nakon štampanja namočite 2 modela u 70% -tni alkohol kako biste uklonili ostatke štampe. 6.2.2: Nakon štampanja ostavite model na suncu nekoliko sati kako bi pustili UV zrake otvrdnuti model. Ili možete upotrijebiti UV-lampu za učvršćivanje modela. To treba učiniti jer će model biti ljepljiv.

6.2.3: Uklonite okvir za podršku. To se može učiniti rezačem žice. Ili bilo koji drugi alat koji može rezati plastiku. 6.2.4: Neki dijelovi 3D ispisa i dalje mogu biti mekani. Čak i ako je model bio u velikoj količini UV-svjetla. Dijelovi koji mogu biti mekani su oni koji su blizu okvira okvira. Postavite model na više sunčeve svjetlosti kako biste očvrsnuli. 6.2.5: Pomoću "dremela" možete brusiti sve male izbočine napravljene od okvira. Možete pokušati postaviti servo u okvir. Ako vam ne odgovaraju, možete upotrijebiti Dremel za brušenje materijala. neka odgovara.

Korak 7: Izgradnja kutije

Izgradnja kutije
Izgradnja kutije
Izgradnja kutije
Izgradnja kutije

Korak 7.1: Pravljenje rupa Uključio sam nacrt predmetne kutije. Nacrt nije usklađen, ali su sve veličine ispravne.7.1.1: Počnite označavanjem svih rupa na pravim mjestima.7.1.2: Izbušite sve rupe. Veće rupe se mogu izraditi prema veličini pomoću Dremela.7.1.3: Mogu se izbušiti i kvadratne rupe. Ali da biste ih učinili kvadratnim, možete postaviti Dremel s malom turpijom i izrezati oštre uglove.7.1.4: Pokušajte uklopiti sve komponente. 7.1.5: Pazite na krhotine drveta ako odgovaraju. Da biste ih se riješili, upotrijebite brusni papir.

Korak 7.2: Slikanje 7.2.1: Počnite s brušenjem poklopca. Potrebno nam je da se boja zalijepi. 7.2.2: Uzmite krpu i na nju stavite malo terpentina da biste očistili kutiju. 7.2.3: Sada možete sprejom obojiti kutiju bilo koje boje koju želite.

Korak 8: Dovršavanje

Finishing Up
Finishing Up
Finishing Up
Finishing Up
Finishing Up
Finishing Up

Sada moramo sve staviti na mjesto i pustiti da to učini. Korak 8.1: Detektor novčića 8.1.1: Zalijepite metalne podupirače za detektor novčića.8.1.2: Lemite svaku žicu od konektora do podupirača.8.1.3: Testirajte vezu novčićem. Ako nema zatvorenog kruga, lemite žice više do ruba. Korak 8.2: Protoboard i RGB LED diode 8.2.1: Postavite protoboard u gornji desni kut i zalijepite ga! 8.2.2: Spojite RGB LED diode sa žicama 8.2.3: Spojite sve žice s protobora na arduino. Korak 8.3: Senzor sonara 8.3.1: Postavite senzor u rupe koje smo za njega napravili. Ako imate spojne žice s muškog na ženski, možete preskočiti 8.3.28.3.2: Prerežite neke muške i ženske žice na pola i zalemite žensku i mušku žicu kako biste napravili jedan kabel koji možemo koristiti za povezivanje senzora s arduinom. 8.3.3: Spojite senzor na arduino

Korak 8.4: Laseri i kamera 8.4.1: Zalijepite mali okvir na kameru. Uvjerite se da je uspravan. 8.4.2: Postavite lasere u okvir. Zalijepite ih kako ih neprijatelj ne bi ukrao!

Korak 8.5: Servo uređaji i 3D ispis 8.5.1: Zalijepite servo u otvor poklopca 8.5.2: Postavite arduino datoteku na arduino (ovo čini da servo stoje u pravom položaju) 8.5.3: Uz servo je došao mali okrugli plato. Postavite ovo na servo u poklopac.8.5.4: Stavite veliki 3D ispis na servo i plato i čvrsto ih pričvrstite vijkom.8.5.5: Postavite drugi servo na mali 3D ispis i zalijepite ih zajedno. 8.5.6: Postavite kameru na mjesto i sve je spremno za rad!

Korak 9: Pokrenite program

Da biste pokrenuli robota, otvorite C ++ datoteku u Visual studiju. Provjerite jeste li u "načinu otklanjanja grešaka" Prenesite arduino datoteku na arduino. Kada se to učita, pritisnite play u vizuelnom studiju. I robot će pucati i sakupiti sve kovanice svijeta !!!

Preporučuje se: