Sadržaj:

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

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

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

Napravit ćemo robota za prosjačenje. Ovaj će robot pokušati iritirati ili privući pažnju prolaznih ljudi. On će otkriti njihova lica i pokušati ih ispaliti laserom. Ako robotu date novčić, pjevat će pjesmu i plesati. Robotu će trebati arduino, prijenos uživo kamere i računalo za rad na openCV -u. Robotom će također moći upravljati xBox kontroler ako je spojen na računalo.

Korak 1: Materijali

Hardverski elektronički

  • Arduino NANO ili UNO
  • USB 2.0 kamera
  • Kratki kabeli (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
  • Vizualni 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
  • Pila 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: Dobivanje 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: Raspakirajte zip datoteku na svoj Windows (: C) pogon.2.2.2: Idite na svoje napredne postavke sustava. To se može pronaći u vašoj funkciji pretraživanja win10.2.2.3: Moramo postaviti nove varijable okoliša. Pronađite okoliš "Path" i pritisnite edit.2.2.4: Sada moramo dodati mjesto "bin map" u novu varijablu u okolišu Path. Ako ste na pogon C instalirali openCV, put može ići ovako: C: / opencv / build / x64 / vc14 / bin Zalijepite putanju i pritisnite "OK" na svim prozorima koje ste možda otvorili tijekom ovog procesa.

Korak 2.3: konfiguriranje vizualnog studija C ++ 2.3.1: Napravite novi vizualni C ++ projekt. Neka to bude prazan projekt konzole Win32.2.3.2: Na kartici izvorne datoteke desnom tipkom miša kliknite i dodajte novu datoteku C ++ (.cpp) i dajte joj ime "main.cpp".2.3.3: Desnom tipkom miša kliknite na projekt- naziv u Exploreru rješenja i odaberite Svojstva.2.3.4: Moramo dodati dodatni Uključi direktorije. To 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 "Povezivač". općenito, moramo napraviti drugi dodatni imenik biblioteka. Zalijepite sljedeći put iza "AID" C: / opencv / build / x64 / vc14 / lib i ponovno 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 ponovno pritisnite Apply. 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 voltnog pina i podatke pribadača. Za naš projekt namjestit ćemo pinove podataka za servo upravljače na DigitalPin 9 i 10.

Upoznavanje s RGB LED diodama: RGB LED diode imaju 4 igle. 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. RGB LED diode možemo spojiti i lemiti na protoboard kao na slici. Crveni pin => DigitalPin 3 (PWM) Zeleni pin => DigitalPin 4Blue pin => DigitalPin 7

Susret s zujalicom Piezo: Naš mali robot će napraviti malo buke. Da bismo to učinili, moramo mu dati glas! Možemo odlučiti učiniti ga 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. Nema potrebe za lemljenjem. Spojimo podatkovni pin (+) na DigitalPin 2, a iglu 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 ljude. To radimo pomoću senzora sonara. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => uzemljenje

Upoznavanje detektora novčića: Napravit ćemo detektor novčića. Detektor kovanica će raditi tako što će otkriti je li krug zatvoren ili prekinut. Gotovo će raditi kao prekidač. Ali moramo biti oprezni. Ako ovo učinimo pogrešno, to će nas koštati arduina. 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 otpornik na istu ploču kao i RGB LED diode. Sada, ako dodirnemo 2 žice, arduino će otkriti zatvoreni krug. To znači da postoji novčić! U susret laserima propasti. Robotu je za oružje potrebno oružje! Kako 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!

Opcijski trik. Možemo staviti crvenu LED diodu 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 (promijenite ovo)" 4.1.3: U retcima 21 i 22 postavite pravi put do datoteka "haarcascade_frontalface_alt.xml" i "haarcascade_eye_tree_eyeglasses.xml" Ako je openCV instaliran na pogonu C, ove se datoteke mogu nalaziti ovdje: "C: / opencv / build / etc / haarcascades \" Zadržite dvostruke kosih crta 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čunala. 4.2.2: Preuzmite tserial.h i Tserial.cpp.4.2.2: Postavite ove 2 datoteke u projekt 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.h Ove će datoteke 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. Datoteke C ++ su postavljene.

Korak 5: Arduino kod

Korak 5.1: Knjižnica NewPing 5.1.1: Preuzmite ArduinoCode.ino i otvorite ga u arduino IDE -u.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 knjižnicu.

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 datoteke pitches.txt u novu karticu i spremite kao "pitches.h". Arduino kôd je postavljen

Korak 6: 3D ispis i poboljšavanje ispisa

3D ispis i poboljšavanje ispisa
3D ispis i poboljšavanje ispisa
3D ispis i poboljšavanje ispisa
3D ispis i poboljšavanje ispisa

Korak 6.1: Ispišite 3D datoteku Otvorite printfile.form i provjerite je li sve u redu. Ako vam se sve čini u redu, pošaljite zadatak za ispis na pisač. Ako vam se nešto čini ili želite promijeniti model. Uključio sam datoteke 3Ds Max i OBJ datoteke za uređivanje.

Korak 6.2: Poboljšajte model 6.2.1: Nakon ispisa namočite 2 modela u 70% -tni alkohol kako biste uklonili ostatke ispisa. 6.2.2: Nakon ispisa model ostavite na suncu nekoliko sati kako bi pustili UV svjetlo otvrdnuti model. Ili možete upotrijebiti UV-svjetiljku 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 mogu i dalje biti mekani. Čak i ako je model bio na puno UV-svjetla. Dijelovi koji mogu biti mekani, oni su dijelovi koji se nalaze blizu nosećih okvira. Postavite model na više sunčeve svjetlosti UV-svjetlosti kako bi se stvrdnuo. 6.2.5: Pomoću "dremela" možete izbrusiti sve male izbočine nastale 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 točne.7.1.1: Počnite označavanjem svih rupa na pravim mjestima.7.1.2: Izbušite sve rupe. Veće rupe mogu se izraditi prema veličini pomoću Dremela.7.1.3: Mogu se izbušiti i četvrtaste rupe. No da biste ih učinili kvadratnima, Dremel možete postaviti s malom turpijom i izrezati oštre kutove.7.1.4: Pokušajte uklopiti sve komponente. ako odgovaraju, dobro je! 7.1.5: Pazite na drvene krhotine. Da biste ih se riješili, upotrijebite brusni papir.

Korak 7.2: Slikanje 7.2.1: Počnite s brušenjem poklopca. Boja nam se treba zalijepiti.7.2.2: Uzmite krpu i na nju stavite malo terpentina kako biste očistili kutiju.7.2.3: Sada kutiju možete raspršiti bilo kojom bojom boje.

Korak 8: Dovršavanje

Završavanje
Završavanje
Završavanje
Završavanje
Završavanje
Završavanje

Sada moramo sve postaviti na svoje 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 nosač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 za muškarce, možete preskočiti 8.3.28.3.2: Prerežite 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 na poklopcu 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

Za pokretanje robota otvorite datoteku C ++ u Visual studiju. Provjerite jeste li u "načinu otklanjanja pogrešaka" Prenesite arduino datoteku u arduino. Nakon što se to učita, pritisnite play u vizualnom studiju. I robot će pucati i sakupiti sve kovanice svijeta !!!

Preporučeni: