Sisällysluettelo:

Karkkia heittävä robotti, jossa on Arduino, kierrätetyt osat ja Dlib.: 6 vaihetta
Karkkia heittävä robotti, jossa on Arduino, kierrätetyt osat ja Dlib.: 6 vaihetta

Video: Karkkia heittävä robotti, jossa on Arduino, kierrätetyt osat ja Dlib.: 6 vaihetta

Video: Karkkia heittävä robotti, jossa on Arduino, kierrätetyt osat ja Dlib.: 6 vaihetta
Video: Создание автомата с помощью Micro:bit 2024, Marraskuu
Anonim
Karkkia heittävä robotti, jossa Arduino, kierrätetyt osat ja Dlib
Karkkia heittävä robotti, jossa Arduino, kierrätetyt osat ja Dlib

Muutaman kierrätetyn osan, Arduino + -moottorisuojan ja Dlib-tietokoneohjelmiston avulla voit tehdä toimivan kasvotunnistavan karkkienheittimen.

Materiaalit:

  • Puukehys
  • Kannettava/tietokone (mieluiten yksi tehokkaampi kuin Raspberry Pi!).
  • Arduino (mieluiten Uno tai sellainen, joka sopii moottorisuojaasi.)
  • Arduino -moottorisuoja (käytin vanhaa Adafruit -kilpiä, kuten täällä edelleen myydään)
  • Mikä tahansa tavallinen verkkokamera
  • Pieni pesukone

Kierrätetyt osat:

  • Kotelo (vanha metallirasia toimii hyvin.)
  • Askelmoottori, tasavirtamoottori puretusta vanhasta tulostimesta.
  • Vanha tulostimen virtalähde
  • Karkkien annostelija (Suuri jogurttisäiliö).

Lopputuotteen sisäosat näyttävät hieman liitteenä olevalta yleiskatsaukselta.

Varoitus

Varmista, että irrotat virran Arduino-/moottoriasetuksista ennen johdotusta/uudelleenjohdotusta. Muista kytkeä virta oikeaan napaisuuteen!

Tämä on keskitason projekti, jossa käytetään Arduinoa ja ohjelmistoja, jotka sinun on asennettava tai käännettävä tietokoneellesi. Ohjeet voivat vaihdella ja ne on testattu Ubuntulla.

Sinun on ehkä mukautettava Arduino -koodi käyttämääsi moottorisuojaan, jos et käytä vanhaa Adafruit -moottorisuojaa.

Vaihe 1: Poraa, liitä ja asenna moottori

Poraa, liitä ja asenna moottori
Poraa, liitä ja asenna moottori
Poraa, liitä ja asenna moottori
Poraa, liitä ja asenna moottori

Poraa koteloon reikiä ja kiinnitä askelmoottori, jotta verkkokamera voi liikkua ylhäällä ja annostelija voi pyöriä ympäri.

Askelmoottorit voivat liikkua pienin askelin (4 johtoa), toisin kuin tasavirtamoottorit (2 johtoa), jotka kulkevat taakse/eteenpäin, ei vaiheittain.

Tasavirtamoottorissa on 2 johtoa (toimii molempiin suuntiin), valinnaisessa askelmoottorissa on 4 kahdessa käämissä (testaa yleismittarivastusmittarilla, onko kelat kytketty tässä kuvatulla tavalla.)

Jos käytät vanhaa Adafruit -suojaa, kuten esimerkissäni, kytke DC -karkkimoottorimoottori moottoriin #3 ja askelmoottori kahteen ensimmäiseen moottoriin (#1, #2) niiden ohjeiden mukaisesti.

Kun olet liittänyt, kytke moottorit Arduinon moottorisuojaan, joka on kiinnitetty Arduinoon. Parhaan tuloksen saavuttamiseksi on suositeltavaa, että moottoreihin asennetaan toinen virtalähde, jonka voit kytkeä tasavirtalähtöön käytetyn myymälän 2 dollarin seinäsyylälle.

Vaihe 2: Säiliön kiinnittäminen

Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys
Säiliön kiinnitys

Mittaa jogurttisäiliön tai muun suuren muovisäiliön keskikohta ja poraa pito, joka on hieman suurempi kuin moottorin pää.

Kiinnitä säiliö laatikkoon pienellä aluslevyllä - Krazy -liimaa se säiliön pohjaan ja sähkömoottorin karaan.

Anna liiman kuivua päivä tai kaksi, jotta se kovettuu kokonaan - saatat haluta sijoittaa pienen välikkeen laatikon ja pyörivän astian väliin varmistaaksesi, että se ei ole vino.

Vaihe 3: Tee pieni reikä karkkienheittimelle

Tee pieni reikä karkkienheittimelle
Tee pieni reikä karkkienheittimelle

Kun kehruu on kiinnitetty kunnolla, piirrä terävän veitsen päässä pieni reikä karkkia varten heitettäväksi päästä - tämän pitäisi olla aivan pohjan yläpuolella, missä huuli on.

(Parhaan tuloksen saamiseksi noin 30 karkkia voidaan ladata annostelijan kannen päähän, joka on pohja.)

Jatka ääriviivoja varovasti terävällä veitsellä, kunnes se ponnahtaa ulos ja jättää pienen reiän (voit laajentaa reikää myöhemmin tarpeen mukaan).

Vaihe 4: Arduino -asennus

Jos et ole jo asentanut Arduino -ohjelmistoa, hanki se osoitteesta

www.arduino.cc/en/Main/Software

Kaikkien uusimpien versioiden pitäisi toimia.

Testaa tasavirta-/askelmoottori Arduino Shieldin esimerkkikoodissa annetuilla esimerkeillä.

Jos satut käyttämään tätä kilpiä (vielä saatavana joiltakin jälleenmyyjiltä), voit käyttää koodiani suoraan:

github.com/programmin1/HowToTrainYourRobot…

Kun olet testannut ja voit jakaa karkkeja kirjoittamalla "d" Arduinon sarjaikkunaan, on aika yhdistää tämä Dlibin tunnistimeen.

Vaihe 5: Dlib -asetukset

Dlib (https://dlib.net/) tarjoaa avoimen lähdekoodin, helppokäyttöisen kirjaston kuvien tunnistamiseen. Asenna Python Dlib -moduuli käyttämällä:

sudo pip asenna Dlib

- tai -

sudo easy_install Dlib

Odota, että Dlib asentaa ja kääntää. (Tarvitset tietokoneen, jossa on mieluiten pari keikkaa RAM -muistia, tai sinun on odotettava kauan ja laajennettava vaihtotilaa). Koodi käyttää myös OpenCV: tä verkkokameramoduulissa, joten suorita:

sudo apt-get install python-opencv

Asennusvaiheet voivat vaihdella, jos käytät MacOSia tai muita käyttöjärjestelmiä.

Ota nyt kasvojentunnistuksen maamerkitiedot

dlib.net/files/shape_predictor_68_face_land…

Pura se (Archive Managerilla/7zip) ja aseta se HOME/Lataukset/shape_predictor_68_face_landmarks.dat

Vaihe 6: Kasvontunnistimen liittäminen robottiisi

Kasvojentunnistimen kytkeminen robottiisi
Kasvojentunnistimen kytkeminen robottiisi

Kytke Arduino-ohjaava USB tietokoneeseen ja varmista, että tiedosto "/dev/ttyACM0" on olemassa (tämä laite lähettää sarjakomennot). Jos se ei toimi ja jokin muu saman niminen hakemisto näkyy /dev -tiedostossa, kun liität sen, korvaa /dev /ttyACM0 faceDetectThreadCorrelationCV2FaceSmile.py -tiedostossa repossa.

Kytke verkkokamera (jos käyttämässäsi tietokoneessa ei ole sisäänrakennettua verkkokameraa) ja suorita.py -tiedosto komentorivillä tai Geany -tekstieditorin Run/F5 -komennolla. Jos haluat käyttää toista/ulkoista verkkokameraa kannettavassa tietokoneessa, voit vaihtaa "VideoCapture (0)" - asetukseksi "VideoCapture (1)", jotta voit käyttää toista verkkokameraa, jonka voit sijoittaa askelmoottorin päälle robotin laatikon päälle.

Jos kaikki menee hyvin, näet hymyn ääriviivat, kun kasvot ovat verkkokameran edessä.

Lue yleiskatsaus ja.py -tiedoston lähdekoodi nähdäksesi matematiikkaa siitä, miten hymyn tunnistus toimii pisteistä, joita Dlib antaa kasvojen maamerkkitoiminnoista.:)

Suositeltava: