Sisällysluettelo:
- Vaihe 1: Poraa, liitä ja asenna moottori
- Vaihe 2: Säiliön kiinnittäminen
- Vaihe 3: Tee pieni reikä karkkienheittimelle
- Vaihe 4: Arduino -asennus
- Vaihe 5: Dlib -asetukset
- Vaihe 6: Kasvontunnistimen liittäminen robottiisi
Video: Karkkia heittävä robotti, jossa on Arduino, kierrätetyt osat ja Dlib.: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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 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
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
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
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:
Esp8266 -pohjainen tehostusmuunnin, jossa on hämmästyttävä Blynk -käyttöliittymä, jossa on palautesäädin: 6 vaihetta
Esp8266 -pohjainen tehostusmuunnin hämmästyttävällä Blynk -käyttöliittymällä, jossa on palautesäädin: Tässä projektissa näytän sinulle tehokkaan ja yleisen tavan DC -jännitteiden lisäämiseen. Näytän sinulle, kuinka helppoa voi olla tehostusmuuntimen rakentaminen Nodemcun avulla. Rakennetaan se. Se sisältää myös näytön volttimittarin ja palautteen
Arduino Wedding Photo Booth - 3D -tulostetut osat, automaattinen ja alhainen budjetti: 22 vaihetta (kuvilla)
Arduino Wedding Photo Booth - 3D -tulostetut osat, automatisoitu ja pieni budjetti: Minut kutsuttiin äskettäin kumppanini veljen häihin ja he kysyivät ennen, voisimmeko rakentaa heille valokuvakopin, koska niiden vuokraaminen maksaa liikaa. Tämän me keksimme ja useiden kohteliaisuuksien jälkeen päätin muuttaa sen opetukselliseksi
ESP32 -liitäntä, jossa on SSD1306, jossa on MicroPython: 5 vaihetta
ESP32 -liitäntä SSD1306: lla, jossa on MicroPython: Mikropython on pythonin optimoima ja pieni jalanjälki. Mikropython on saatavana monille ohjainperheille, mukaan lukien ESP8266, ESP32, Ardui
Vintage Hipsterin kierrätetyt Bluetooth -kaiuttimet puulaatikosta: 5 vaihetta
Vintage Hipster Upcycled Bluetooth -kaiuttimet puulaatikosta: Miksi ei kierrättää kuin laihat farkkulasit, jotka käyttävät hipsteriä hitsaamalla puolikuorittua karamellilattia fixie-pyörällä! Etkö rakasta sanaa kierre! Todellakin. Laitetaan kaikki hölynpöly sivuun ja tehdään jotain hauskaa, helppoa ja hyödyllistä. Kaikki mitä tarvitset
Bluetooth Boombox -lataustelakka (kierrätetyt osat !!!): 6 vaihetta
Bluetooth Boombox -lataustelakka (kierrätetyt osat !!!): Tässä ohjeessa näytän sinulle, kuinka tehdä Bluetooth -kaiutin kokonaan kierrätetyistä osista. Kirjoitan tämän ohjeen " Roskakoriin aarre " kilpailu, koska se koostuu kierrätetystä roskasta, jonka löysin ullakoltani