Innehållsförteckning:

Godis-kastrobot med Arduino, återvunna delar och Dlib .: 6 steg
Godis-kastrobot med Arduino, återvunna delar och Dlib .: 6 steg

Video: Godis-kastrobot med Arduino, återvunna delar och Dlib .: 6 steg

Video: Godis-kastrobot med Arduino, återvunna delar och Dlib .: 6 steg
Video: Безымянная звезда (1 серия) (1978) фильм 2024, November
Anonim
Godis-kastrobot med Arduino, återvunna delar och Dlib
Godis-kastrobot med Arduino, återvunna delar och Dlib

Med några återvunna delar, en Arduino + motorsköld och Dlib-datorprogramvara kan du göra en fungerande ansiktsdetekterande godiskastare.

Material:

  • Träram
  • Bärbar dator/dator (helst en mer kraftfull än en Raspberry Pi!).
  • Arduino (helst Uno, eller en som passar din motorsköld.)
  • Arduino motorsköld (jag använde den gamla Adafruit -skölden, som den fortfarande säljs här)
  • Vilken vanlig webbkamera som helst
  • Liten bricka

Återvunna delar:

  • Hölje (gammal metalllåda fungerar bra.)
  • Stegmotor, likströmsmotor från demonterad gammal skrivare.
  • Gammal skrivarens strömförsörjning
  • Godisautomat (stor yoghurtbehållare).

Inre i den färdiga produkten kommer att se ut ungefär som bifogad översikt.

Varning

Se till att du kopplar ur strömmen till Arduino/motorinställningen innan du kopplar/kopplar om. Var noga med att ansluta strömmen till rätt polaritet!

Detta är ett mellanliggande projekt med Arduino och programvara som du behöver installera eller kompilera på din dator. Instruktioner kan variera och testades på Ubuntu.

Du kan behöva justera Arduino -koden till vilken motorsköld du än använder om du inte använder den gamla Adafruit -motorskärmen.

Steg 1: Borra, anslut och montera motor

Borra, anslut och montera motor
Borra, anslut och montera motor
Borra, anslut och montera motor
Borra, anslut och montera motor

Borra hål i höljet, fästa stegmotor så att webbkameran kan röra sig ovanpå och dispensern kan rotera längst ner.

Stegmotorer kan röra sig i små steg (4 trådar), till skillnad från likströmsmotorer (2 trådar) som går bakåt/framåt, inte i steg.

Likströmsmotorn har 2 trådar (går åt båda hållen), stegmotorn som tillval kommer att ha 4 i två spolar (testa med multimeter motståndsmätare för att se var spolarna är anslutna, som beskrivs här.)

Om du använder den gamla Adafruit -skölden som i mitt exempel, bör du ansluta DC -godis -spinnermotorn till motor nr 3 och steget till de två första motorerna (#1, #2) enligt beskrivningen i deras dokumentation.

När de är anslutna kopplar du motorerna till ett Arduino -motorskydd som är anslutet till en Arduino. För bästa resultat rekommenderas att ha en andra strömförsörjning till motorerna, som du kan ansluta till DC -utgången på en $ 2 väggvarta från en begagnad butik.

Steg 2: Montera behållaren

Fäst behållaren
Fäst behållaren
Fäst behållaren
Fäst behållaren
Fäst behållaren
Fäst behållaren
Fäst behållaren
Fäst behållaren

Mät upp mitten av en yoghurtbehållare eller annan stor plastbehållare och borra ett grepp som är bara större än motorns ände.

Fäst behållaren på lådan med en liten bricka - Krazy -lim den på botten av behållaren och till elmotorspindeln.

Låt limmet torka en dag eller två för att härda helt - du kanske vill placera en liten distans mellan lådan och spinnbehållaren för att se till att den inte fastnar snett.

Steg 3: Gör ett litet hål för godiskastare

Gör ett litet hål för godiskastare
Gör ett litet hål för godiskastare

När spinnern är ordentligt fastsatt, använd änden av en vass kniv för att skissera ett litet hål för att godis ska slängas ut från änden - det ska vara precis ovanför botten, där läppen är.

(För bästa resultat kan cirka 30 godisbitar laddas på lockänden på dispensern, som blir botten.)

Fortsätt försiktigt med en skarp kniv tills det dyker upp och lämna ett litet hål (du kan expandera hålet senare vid behov).

Steg 4: Arduino -installation

Om du inte redan har installerat Arduino -programvaran, hämta den från

www.arduino.cc/en/Main/Software

Varje ny version bör fungera.

Testa DC/Stepper -motorn med exemplen i din Arduino Shields exempelkod.

Om du råkar använda denna sköld (fortfarande tillgänglig från vissa återförsäljare) kan du använda min kod direkt:

github.com/programmin1/HowToTrainYourRobot …

När du har testat och kan avge godis genom att ange "d" i Arduino -seriefönstret är det dags att ansluta detta till Dlibs identifierare.

Steg 5: Dlib Setup

Dlib (https://dlib.net/) tillhandahåller ett bibliotek med öppen källkod som är lätt att använda för bildigenkänning. Installera Python Dlib -modulen med:

sudo pip installera Dlib

- eller -

sudo easy_install Dlib

Vänta på att Dlib ska installeras och kompileras. (Du behöver en dator med helst ett par gig RAM -minne, eller du måste vänta länge och utöka bytesutrymmet). Koden använder också OpenCV för webbkameramodulen, så kör:

sudo apt-get install python-opencv

Installationsstegen kan variera om du använder MacOS eller andra operativsystem.

Ta nu fram data från ansiktsdetektering från

dlib.net/files/shape_predictor_68_face_land…

Packa upp den (med Archive Manager/7zip) och placera den i HOME/Downloads/shape_predictor_68_face_landmarks.dat

Steg 6: Anslut ansiktsigenkänning till din robot

Ansluter ansiktsigenkänning till din robot
Ansluter ansiktsigenkänning till din robot

Anslut den Arduino-styrande USB-enheten till datorn och kontrollera att "/dev/ttyACM0" -filen finns (detta är enheten att skicka de seriella kommandona till). Om det inte fungerar och en annan katalog med liknande namn som visas i /dev när du ansluter den, ersätt /dev /ttyACM0 i filen faceDetectThreadCorrelationCV2FaceSmile.py i repo.

Anslut webbkameran (om ingen inbyggd webbkamera finns i datorn du använder) och kör den.py -filen på kommandoraden eller med kommandot Kör/F5 i Geany textredigerare. Om du vill använda en andra/extern webbkamera på en bärbar dator kanske du vill ändra "VideoCapture (0)" till "VideoCapture (1)" för att använda en andra webbkamera, som du kan placera på stegmotorn ovanpå robotens låda.

Om allt går bra ser du en kontur av ett leende när ett ansikte är framför webbkameran.

Läs översikten och källkoden för.py -filen för att se matematiken för hur leendeknologi fungerar från de punkter Dlib ger från ansiktsmärkesfunktionen.:)

Rekommenderad: