Sadržaj:
- Korak 1: Materijali
- Korak 2: Instaliranje i konfiguriranje OpenCV i C ++
- Korak 3: Postavljanje Arduina
- Korak 4: C ++ kôd
- Korak 5: Arduino kod
- Korak 6: 3D ispis i poboljšavanje ispisa
- Korak 7: Izgradnja kutije
- Korak 8: Dovršavanje
- Korak 9: Pokrenite program
Video: Robot za prosjačenje s praćenjem lica i kontrolom putem Xbox kontrolera - Arduino: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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 ++
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
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
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
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
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:
Invalidska kolica s upravljačkom palicom i praćenjem prepreka: 3 koraka (sa slikama)
Invalidska kolica s upravljačkom palicom uz pomoć praćenja prepreka: Kako bi se osobama s tjelesnim invaliditetom olakšala sigurna vožnja, koristi se ultrazvučni senzor za praćenje prepreka prisutnih na putu. Na temelju kretanja upravljačke palice motori će upravljati invalidskim kolicima u bilo koja četiri smjera i brzinom na svakom
RC automobil s Bluetooth kontrolom, s kontrolom brzine i mjerenjem udaljenosti: 8 koraka
RC automobil s Bluetooth kontrolom i kontrolom brzine i mjerenjem udaljenosti: Kao klinac, uvijek su me fascinirali RC automobili. Danas možete pronaći mnoge vodiče za izradu jeftinih RC automobila s Bluetooth -om uz pomoć Arduina. Napravimo korak dalje i upotrijebimo svoje praktično znanje o kinematici za izračunavanje
Otkrivanje lica, obuka i prepoznavanje Opencv lica: 3 koraka
Otkrivanje lica, obuka i prepoznavanje lica Opencv: OpenCV je knjižnica računalnog vida otvorenog koda koja je vrlo popularna za obavljanje osnovnih zadataka obrade slike, kao što su zamućivanje, miješanje slika, poboljšanje slike, kao i kvaliteta videa, određivanje praga itd. Osim obrade slike, to je prov
Maska za promjenu lica za promjenu lica - Budite bilo što: 14 koraka (sa slikama)
Maska za promjenu lica za promjenu lica - Budite bilo što: Što radite kada ne možete odlučiti što želite biti za Noć vještica? Budi sve. Maska za projekciju sastoji se od bijele 3D tiskane maske, pi od maline, malog projektora i baterije. Sposoban je projicirati sve i svašta
LED mod kontrolera kontrolera Gamecube: 8 koraka (sa slikama)
LED mod za Gamecube Controller: Jeste li ikada imali kontroler igre koji ste zaista voljeli, ali vam nije bio prilagođen? Pa tako sam se ja osjećao sa svojim Gamecube kontrolerom. Gamecube kontroleri su moje omiljene vrste kontrolera, ali u Sjevernoj Americi tri najčešća su