INHOUDSOPGAWE:

Lekker gooi-robot met Arduino, herwinde onderdele en Dlib .: 6 stappe
Lekker gooi-robot met Arduino, herwinde onderdele en Dlib .: 6 stappe

Video: Lekker gooi-robot met Arduino, herwinde onderdele en Dlib .: 6 stappe

Video: Lekker gooi-robot met Arduino, herwinde onderdele en Dlib .: 6 stappe
Video: Stuurautomaat met Arduino proefopstelling testen 2024, November
Anonim
Lekker gooi-robot met Arduino, herwinde onderdele en Dlib
Lekker gooi-robot met Arduino, herwinde onderdele en Dlib

Met 'n paar herwinde onderdele, 'n Arduino + -motorskerm en Dlib-rekenaarprogrammatuur, kan u 'n werkende snoepwerper maak wat die gesig opspoor.

Materiaal:

  • Houtraamwerk
  • Skootrekenaar/rekenaar (verkieslik een meer kragtig as 'n Raspberry Pi!).
  • Arduino (verkieslik Uno, of een wat by u motorskerm pas.)
  • Arduino -motorskerm (ek het die ou Adafruit -skild gebruik, soos dit steeds hier verkoop word)
  • Enige standaard webkamera
  • Klein wasser

Herwinde onderdele:

  • Omhulsel (ou metaalkas werk goed.)
  • Stepper motor, DC motor van gedemonteerde ou drukker.
  • Ou drukkragbron
  • Lekkergoedhouer (groot jogurthouer).

Die binnekant van die voltooide produk sal 'n bietjie soos 'n aangehegte oorsig lyk.

Waarskuwing

Maak seker dat u die krag van die Arduino-/motoropstelling ontkoppel voordat u die bedrading/herbedrading aansluit. Sluit die krag in die regte polariteit aan!

Dit is 'n projek op intermediêre vlak met behulp van Arduino en sagteware wat u op u rekenaar moet installeer of opstel. Die instruksies kan wissel en is getoets op Ubuntu.

Miskien moet u die Arduino -kode aanpas by watter motorskerm u ook al gebruik, as u nie die ou Adafruit -motorskerm gebruik nie.

Stap 1: Boor, koppel en monteer die motor

Boor, koppel en monteer motor
Boor, koppel en monteer motor
Boor, koppel en monteer motor
Boor, koppel en monteer motor

Boor gate in die omhulsel en maak 'n stepper -motor vas sodat die webkamera bo -op kan rondbeweeg en die dispenser onderaan kan draai.

Stappermotors kan in klein stappe (4 drade) beweeg, anders as GS -motors (2 drade) wat agteruit/vorentoe loop, nie in trappe nie.

Die GS -motor het 2 drade (loop in beide rigtings), die opsionele stapmotor het 4 in twee spoele (toets met 'n multimeter weerstandsmeter om te sien waar die spoele bedraad is, soos hier beskryf.)

As u die ou Adafruit -skild gebruik, soos in my voorbeeld, moet u die DC -snoepmotor aansluit op motor #3 en die stapper op die eerste twee motors (#1, #2), soos beskryf in hul dokumentasie.

Sodra dit verbind is, dra die motors na 'n Arduino -motorskerm wat aan 'n Arduino gekoppel is. Vir die beste resultate word dit aanbeveel om 'n tweede kragtoevoer na die motors te kry, wat u op 'n muurwrat van $ 2 van 'n tweedehandse winkel na die GS -uitset kan dra.

Stap 2: Bevestig die houer

Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer
Bevestiging van die houer

Meet die middel van 'n jogurthouer of 'n ander groot plastiekhouer en boor 'n houer wat net groter is as die einde van die motor.

Bevestig die houer met 'n klein wasser aan die boks - plak dit aan die onderkant van die houer en plak dit op die elektriese motoras.

Laat die gom 'n dag of twee droog word om heeltemal te genees - u kan 'n klein afstandhouer tussen die boks en die houer plaas om seker te maak dat dit nie krom word nie.

Stap 3: Maak 'n klein gaatjie vir lekkergoedgooier

Maak 'n klein gaatjie vir lekkergoedgooier
Maak 'n klein gaatjie vir lekkergoedgooier

Sodra die spinnerak goed vasgemaak is, gebruik 'n skerp mes se punt om 'n klein gaatjie te skets sodat snoepgoed uit die punt kan gooi - dit moet net bokant die onderkant wees, waar die lip is.

(Vir die beste resultate kan ongeveer 30 stukke lekkergoed op die dekselkant van die bak geplaas word, wat die onderkant is.)

Hou dit liggies met 'n skerp mes omlyn totdat dit uitkom, en laat 'n klein gaatjie (u kan die gat later uitbrei indien nodig).

Stap 4: Arduino -opstelling

As u nog nie die Arduino -sagteware geïnstalleer het nie, kan u dit aflaai

www.arduino.cc/en/Main/Software

Enige onlangse weergawe behoort te werk.

Toets die DC/Stepper -motor met die voorbeelde in die voorbeeldkode van u Arduino Shield.

As u toevallig hierdie skild gebruik (steeds beskikbaar by sommige herverkopers), kan u my kode direk gebruik:

github.com/programmin1/HowToTrainYourRobot…

As u eers getoets het en lekkergoed kan afgee deur 'd' in die Arduino -reeksvenster in te voer, is dit tyd om dit aan te sluit op die herkenning van Dlib.

Stap 5: Dlib -opstelling

Dlib (https://dlib.net/) bied 'n oopbron, maklik om te gebruik biblioteek vir beeldherkenning. Installeer die Python Dlib -module met behulp van:

sudo pip installeer Dlib

- of -

sudo easy_install Dlib

Wag totdat Dlib geïnstalleer en saamgestel is. (U benodig 'n rekenaar met verkieslik 'n paar gig RAM, of u moet lank wag en die ruilruimte uitbrei). Die kode gebruik ook OpenCV vir die webcam -module, dus voer uit:

sudo apt-get install python-opencv

Die installeringstappe kan wissel as u MacOS of ander bedryfstelsels gebruik.

Gryp nou die data van die gesigsporingmerke van

dlib.net/files/shape_predictor_68_face_land…

Pak dit uit (met Archive Manager/7zip) en plaas dit in HOME/Downloads/shape_predictor_68_face_landmarks.dat

Stap 6: Koppel gesig-herkener aan u robot

Koppel gesig-herkenner aan u robot
Koppel gesig-herkenner aan u robot

Koppel die Arduino-beheer USB aan die rekenaar en verifieer dat die lêer "/dev/ttyACM0" bestaan (dit is die toestel waarna die reeksopdragte gestuur moet word). As dit nie werk nie en 'n ander gids met dieselfde naam wat in /dev verskyn wanneer u dit aansluit, vervang /dev /ttyACM0 in die lêer faceDetectThreadCorrelationCV2FaceSmile.py in die repo.

Sluit die webkamera aan (as daar geen ingeboude webkamera op die rekenaar is wat u gebruik nie) en voer die.py -lêer in die opdragreël of met die Run/F5 -opdrag in Geany -teksredakteur uit. As u 'n tweede/eksterne webkamera op 'n skootrekenaar wil gebruik, wil u 'VideoCapture (0)' na 'VideoCapture (1)' verander om 'n tweede webkamera te gebruik wat u op die stapmotor bo -op die robot se boks kan plaas.

As alles goed gaan, sal u 'n uiteensetting van 'n glimlag sien as 'n gesig voor die webkamera is.

Lees die oorsig en die bronkode van die.py -lêer om die wiskunde van hoe glimlagopsporing werk, te sien vanaf die punte wat Dlib gee uit die funksie van die gesigspunt.:)

Aanbeveel: