Sisällysluettelo:

Kerjäävä robotti kasvojen seurannalla ja ohjauksella Xbox -ohjaimen avulla - Arduino: 9 vaihetta (kuvilla)
Kerjäävä robotti kasvojen seurannalla ja ohjauksella Xbox -ohjaimen avulla - Arduino: 9 vaihetta (kuvilla)

Video: Kerjäävä robotti kasvojen seurannalla ja ohjauksella Xbox -ohjaimen avulla - Arduino: 9 vaihetta (kuvilla)

Video: Kerjäävä robotti kasvojen seurannalla ja ohjauksella Xbox -ohjaimen avulla - Arduino: 9 vaihetta (kuvilla)
Video: AMA record with community manager Oleg. PARALLEL FINANCE 2024, Heinäkuu
Anonim
Image
Image
OpenCV: n ja C ++: n asentaminen ja määrittäminen
OpenCV: n ja C ++: n asentaminen ja määrittäminen

Aiomme tehdä kerjäävän robotin. Tämä robotti yrittää ärsyttää tai saada huomiota ohikulkijoihin. Se tunnistaa heidän kasvonsa ja yrittää ampua heitä laserilla. Jos annat robotille kolikon, hän laulaa kappaleen ja tanssii. Robotti tarvitsee arduinon, kameran live -syötteen ja tietokoneen openCV: n käyttämiseksi. Robotti voidaan myös ohjata xBox -ohjaimella, jos se on kytketty tietokoneeseen.

Vaihe 1: Materiaalit

Laitteisto Elektroninen

  • Arduino NANO tai UNO
  • USB 2.0 -kamera
  • Hyppyjohdot (uros ja naaras)
  • 2 x servo - geneerinen (pienikokoinen)
  • 2 x LED - RGB -KATODI 5 mm
  • 2 x 5 mW laserit
  • 1 x punainen LED 5 mm
  • 1 x leipälauta
  • 4 x 220Ω vastus
  • 1 x 1 KΩ vastus
  • 1 x protoboard
  • 1 x luotainanturi 4 nastaa
  • Xbox -ohjain

Analoginen laitteisto

  • Puulaatikko (15 x 15 x 7 cm)
  • Liima
  • Sähköteippi

Ohjelmisto

  • Arduino IDE
  • Visuaalinen studio 2017
  • 3Ds Max (tai mikä tahansa muu 3D -mallinnusohjelmisto)
  • Aihio 2.14.0 tai uudempi
  • OpenCV 3.4.0 tai uudempi

Työkalut

  • Juotoslaitteet
  • Näki ja poraa
  • Lankaleikkuri

Vaihe 2: OpenCV: n ja C ++: n asentaminen ja määrittäminen

OpenCV: n ja C ++: n asentaminen ja määrittäminen
OpenCV: n ja C ++: n asentaminen ja määrittäminen

Vaihe 2.1: Ohjelmiston hankkiminen

Visual Studio 2017: Lataa Visual Studio Comunity 2017openCV 3.4.0 Win Pack: Siirry viralliselle lataussivulle

Vaihe 2.2: OpenCV2.2.1: Asenna zip -tiedosto Windows (: C) -asemaan 2.2.2.2: Siirry järjestelmän lisäasetuksiin. Tämä löytyy win10 -hakutoiminnostamme.2.2.3: Meidän on määritettävä uudet ympäristömuuttujat. Etsi "Path" -ympäristö ja paina edit.2.2.4: Nyt meidän on lisättävä "bin -kartan" sijainti uuteen muuttujaan Path -ympäristössä. Jos olet asentanut openCV: n C -asemaan, polku voi mennä näin: C: / opencv / build / x64 / vc14 / bin Liitä polku ja paina "OK" kaikissa ikkunoissa, jotka olet mahdollisesti avannut tämän prosessin aikana.

Vaihe 2.3: Visual Studio C ++: n määrittäminen 2.3.1: Luo uusi visual C ++ -projekti. Tee siitä tyhjä win32-konsolisovellusprojekti 2.3.2: Lähdetiedostot-välilehdellä napsauta hiiren kakkospainikkeella ja lisää uusi C ++ -tiedosto (.cpp) ja anna sille nimi "main.cpp".2.3.3: Napsauta hiiren kakkospainikkeella projektia- nimi Ratkaisut -selaimessa ja valitse Ominaisuudet 2.3.4: Meidän on lisättävä lisää Sisällytä hakemistoja. Tämä löytyy yleensä C/C ++ -välilehdestä. Kopioi seuraava polku: C: / opencv / build / include ja liitä se "AID": n taakse ja napsauta Käytä. 2.3.5: Samassa ikkunassa valitse "Linker" -välilehti. Yleensä meidän on tehtävä muita ylimääräisiä liberaaleja hakemistoja. Liitä seuraava polku "AID" -taulukon taakse C: / opencv / build / x64 / vc14 / lib ja paina Käytä uudelleen.2.3.6: Valitse saman Linker -välilehden "Input" -välilehti. Ja paina "Lisäriippuvuudet> muokkaa" ja liitä seuraava tiedosto opencv_world320d.lib ja xinput.lib (ohjaimelle) ja paina Käytä uudelleen. Sulje ikkuna ja nyt C ++ -tiedostosi on valmis käytettäväksi.

Vaihe 3: Arduinon asentaminen

Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen
Arduinon asentaminen

Servojen kohtaaminen: Servot pystyvät pyörimään ~ 160 ° Niillä on oltava 4, 8 ja 6, 0 voltin välinen toiminta normaalisti. Servossa on 3 nastaa: maadoitus, 4, 8-6, 0 voltin nasta ja data tappi. Projektiamme varten asetamme DigitalPin 9: n ja 10: n servojen datanastat.

RGB -ledien kohtaaminen: RGB -ledeissä on 4 nastaa: punainen, vihreä, sininen ja maadoituspiikki. Jotta voimme säästää tilaa arduinossa, voimme yhdistää 2 RGB -lediä yhteen. Joten käytämme vain 3 nastaa. Voimme liittää ja juottaa RGB -ledit protoboardiin, kuten kuvassa.

Piezo -summerin tapaaminen: Pieni robotti aikoo tehdä melua. Tätä varten meidän on annettava hänelle ääni! Voimme päättää tehdä hänestä todella äänekkään. Tai voimme laittaa 220Ω: n vastuksen pietsosummerin eteen, jotta hänestä tulee hieman vähemmän kiusallinen. Jätämme Piezo -summerin leipäpöydälle. Joten juottamista ei tarvita, liitämme datatappi (+) DigitalPin 2 -laitteeseen ja maadoitusnasta maadoituslevyyn.

Tapaaminen luotaimen kanssa: Jotta robotti ei yrittäisi kohdistaa henkilöä, joka on 10 metrin päässä. Voimme antaa robotille etäisyysetäisyyden siitä, mistä se pystyy kohdistamaan ihmisiä. VCC => 5 volttrig => DigitalPin 6Echo => DigitalPin 5GND => maa

Kolikonilmaisimen tapaaminen: Aiomme tehdä kolikonilmaisimen. Kolikonilmaisin toimii havaitsemalla, onko piiri suljettu tai rikki. Se toimii melkein kuin kytkin. Mutta meidän on oltava varovaisia. Jos teemme tämän väärin, se maksaa meille arduino. Ensimmäinen: Liitä AnalogPin A0 5 voltin kaapeliin. Varmista kuitenkin, että asetat sen väliin 1 KΩ: n vastuksen. Voimme heti juottaa johdot ja vastuksen samaan protoboardiin kuin RGB -ledit. Nyt, jos kosketamme kahta johdinta yhteen, arduino havaitsee suljetun piirin. Tämä tarkoittaa, että on olemassa kolikko! Tuomion laserien kohtaaminen. Tilan säästämiseksi juotin kaksi laseria yhteen, ja ne sopivat täydellisesti kameran runkoon. Kytke ne DigitalPin 11 -laitteeseen ja maahan.

Valinnainen temppu. Voimme laittaa punaisen LED -valon kolikon aukon alle. Tämä on hauska pikku temppu, kun on pimeää. Liitä johto DigitalPin 8 -laitteeseen ja aseta 220Ω: n vastus LEDin ja johdon väliin estääksesi sen räjähtämisen. Kytke LED -valon lyhyt nasta maahan.

Vaihe 4: C ++ -koodi

Vaihe 4.1: Main.cpp -koodin määrittäminen 4.1.1: Lataa "main.cpp" ja kopioi koodi omaan main.cpp.4.1.2: Muuta rivillä 14 "com" komennoksi, jota arduino käyttää. "\. / COM (muuta tämä)" 4.1.3: Riveillä 21 ja 22 aseta oikea polku tiedostoille "haarcascade_frontalface_alt.xml" ja "haarcascade_eye_tree_eyeglasses.xml" Jos C -asemaan on asennettu openCV, nämä tiedostot löytyvät täältä: "C: / opencv / build / etc / haarcascades \" Pidä kaksoisviilto tai lisää sellainen, jos vain yksi on.

Vaihe 4.2: Lisää tserial.h ja Tserial.cpp Nämä kaksi tiedostoa huolehtivat arduinon ja tietokoneen välisestä tiedonsiirrosta. hakemistoon. Ratkaisutyökalussa hiiren kakkospainikkeella projektia ja valitse lisää> olemassa oleva kohde. Valitse ponnahdusikkunasta kaksi lisättävää tiedostoa.

Vaihe 4.2: Lisää CXBOXController.h ja CXBOXController.h Nämä tiedostot ottavat projektin ohjaimen osan 4.2.1: Solution Explorerissa napsauta projektia hiiren kakkospainikkeella ja valitse lisää> olemassa oleva kohde. Valitse ponnahdusikkunasta kaksi lisättävää tiedostoa. C ++ - tiedostot asetetaan.

Vaihe 5: Arduino -koodi

Vaihe 5.1: NewPing -kirjasto 5.1.1: Lataa ArduinoCode.ino ja avaa se arduino IDE.5.1.2: Siirry kohtaan "Luonnos> Sisällytä kirjasto> Hallitse kirjastoja". 5.1.1: Hae suodatinruudusta kohtaan "NewPing" ja asenna tämä kirjasto.

Vaihe 5.2: Pitches -kirjasto 5.2.1: Lataa pitches.txt -tiedosto ja kopioi pitches.txt -tiedoston sisältö 5.2.2: Avaa Arduino IDE: ssä CTRL+Vaihto+N avataksesi uuden välilehden. 5.2.3: Liitä koodi pitches.txt uuteen välilehteen ja tallenna se nimellä "pitches.h". Arduino -koodi on määritetty

Vaihe 6: 3D -tulostus ja tulostuksen hienosäätö

3D -tulostus ja tulostuksen hienosäätö
3D -tulostus ja tulostuksen hienosäätö
3D -tulostus ja tulostuksen hienosäätö
3D -tulostus ja tulostuksen hienosäätö

Vaihe 6.1: Tulosta 3D -tiedosto Avaa printfile.form ja tarkista, onko kaikki kunnossa. Jos kaikki näyttää olevan kunnossa, lähetä tulostustyö tulostimelle, jos jotain näyttää siltä tai haluat vaihtaa mallia. Olen sisällyttänyt 3Ds Max -tiedostot ja OBJ -tiedostot muokattavaksi.

Vaihe 6.2: Mallin tarkentaminen 6.2.1: Kun tulostus on valmis, liota kaksi mallia noin 70-prosenttisessa alkoholissa poistaaksesi tulostusjäljen. 6.2.2: Aseta tulostamisen jälkeen malli auringolle muutaman tunnin ajan, jotta koveta malli. Tai voit käyttää UV-lamppua mallin kovettamiseen. Tämä on tehtävä, koska malli on tahmea.

6.2.3: Irrota tukikehys. Tämä voidaan tehdä lankaleikkurilla. Tai mikä tahansa muu työkalu, joka voi leikata muovia. Vaikka malli olisi ollut paljon UV-valossa, osat, jotka voivat olla pehmeitä, ovat osia, jotka ovat lähellä tukikehyksiä. Aseta malli kovempaan UV-valon auringonpaisteeseen. Voit yrittää sovittaa servot runkoon. Jos ne eivät sovi, voit hioa materiaalin Dremelillä. tee se sopivaksi.

Vaihe 7: Laatikon rakentaminen

Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen
Laatikon rakentaminen

Vaihe 7.1: Reikien tekeminen Olen sisällyttänyt suunnitelman kyseisestä laatikosta. 7.1.1: Merkitse kaikki reiät oikeisiin paikkoihin 7.1.2: Poraa kaikki reiät. 7.1.3: Nelikulmaiset reiät voidaan myös porata. Jotta ne olisivat neliömäisiä, voit asentaa Dremeliin pienen viilan ja viilata terävät kulmat. 7.1.1: Yritä sovittaa kaikki osat. 7.1.5: Varo puunhalkeamia, jos ne sopivat. Käytä hiekkapaperia päästäksesi eroon niistä.

Vaihe 7.2: Maalaus 7.2.1: Aloita kannen hiomalla. Tarvitsemme maalin tarttumaan 7.2.2: Ota kangas ja laita siihen vähän terpenttiiniä laatikon puhdistamiseen.

Vaihe 8: Viimeistely

Viimeistellä
Viimeistellä
Viimeistellä
Viimeistellä
Viimeistellä
Viimeistellä

Nyt meidän on asetettava kaikki paikoilleen ja annettava sen tehdä se. Vaihe 8.1: Kolikkotunnistin 8.1.1: Liimaa metallirahoja kolikonilmaisimelle 8.1.1: Juotos jokainen johto liittimestä kiinnikkeeseen..3: Testaa yhteys kolikolla. Jos suljettua piiriä ei ole, juota johdot enemmän reunaan Vaihe 8.2: Protoboard- ja RGB -ledit 8.2.1: Aseta protoboard oikeaan yläkulmaan ja teippaa se alas! 8.2.2: Liitä RGB -ledit 8.2.3: Kytke kaikki johdot protoboardista arduinoon Vaihe 8.3: Kaikuluotain 8.3.1: Aseta anturi siihen tekemiimme reikiin. 8.3.28.3.2: Katkaise uros- ja naarasjohdot puoliksi ja juota naaras- ja urosjohdot yhteen yhdeksi kaapeliksi, jonka avulla voimme liittää anturin arduinoon.

Vaihe 8.4: Laserit ja kamera 8.4.1: Liimaa pieni kehys kameraan. Varmista, että se on pystysuorassa 8.4.2: Laita laserit myös runkoon. Liimaa ne alas, jotta vihollinen ei varasta niitä!

Vaihe 8.5: Servot ja 3D -tulostus 8.5.1: Liimaa servo kannen reikään 8.5.2: Lataa arduino -tiedosto arduinoon (tämä saa servot seisomaan oikeassa asennossa) 8.5.3: Servon mukana tuli pieni pyöreä tasangolla. Aseta tämä kannen servolle 8.5.4: Aseta suuri 3D -tulostus servolle ja tasangolle ja ruuvaa ne tiukasti yhteen ruuvilla. 8.5.6: Aseta kamera paikalleen ja kaikki on käyttövalmis!

Vaihe 9: Käynnistä ohjelma

Käynnistä robotti avaamalla C ++ -tiedosto Visual studiossa. Varmista, että olet "debug -tilassa" Lataa arduino -tiedosto arduinoon. Kun se on ladattu, paina play visual studiossa. Ja robotti ampuu ja kerää kaikki kolikot maailmassa !!!

Suositeltava: