Përmbajtje:

Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib .: 6 hapa
Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib .: 6 hapa

Video: Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib .: 6 hapa

Video: Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib .: 6 hapa
Video: Sabiani & Marseli - Do vdisja per ty (Official Video HD) 2024, Nëntor
Anonim
Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib
Robot që hedhin karamele me Arduino, pjesë të ricikluara dhe Dlib

Me disa pjesë të ricikluara, një mburojë motorike Arduino + dhe softuer kompjuterik Dlib, ju mund të bëni një hedhës karamele që zbulon fytyrën.

Materiale:

  • Kornizë druri
  • Laptop/kompjuter (mundësisht një më i fuqishëm se një Raspberry Pi!).
  • Arduino (Preferohet Uno, ose ai që i përshtatet mburojës tuaj motorike.)
  • Mburoja motorike Arduino (kam përdorur mburojën e vjetër Adafruit, siç shitet akoma këtu)
  • Çdo kamerë standarde në internet
  • Rondele e vogël

Pjesët e ricikluara:

  • Zorrë (kutia e vjetër metalike funksionon mirë.)
  • Motor stepper, motor DC nga printeri i vjetër i çmontuar.
  • Furnizimi me energji i vjetër i printerit
  • Shpërndarës Candy (Enë e madhe kos).

Pjesët e brendshme të produktit të përfunduar do të duken disi si një përmbledhje e bashkangjitur.

Paralajmërim

Sigurohuni që të shkëputni rrymën nga konfigurimi i Arduino/motorit përpara se të lidheni/lidhni përsëri. Sigurohuni që të lidhni rrymën në polaritetin e duhur!

Ky është një projekt i nivelit të ndërmjetëm duke përdorur Arduino dhe softuer që ju nevojiten për të instaluar ose përpiluar në kompjuterin tuaj. Udhëzimet mund të ndryshojnë dhe janë testuar duke punuar në Ubuntu.

Ju mund të keni nevojë të rregulloni kodin Arduino në çfarëdo mburoje motorike që përdorni, nëse nuk përdorni mburojën e vjetër motorike Adafruit.

Hapi 1: Stërviteni, lidheni dhe montoni motorin

Stërviteni, lidheni dhe montoni motorin
Stërviteni, lidheni dhe montoni motorin
Stërvitje, Lidhje dhe Montim Motor
Stërvitje, Lidhje dhe Montim Motor

Stërvitni vrima në kasë, duke bashkuar motor stepper në mënyrë që kamera e internetit të lëvizë në majë dhe shpërndarësi të rrotullohet në pjesën e poshtme.

Motorët stepper mund të lëvizin me hapa të vegjël (4 tela), ndryshe nga motorët DC (2 tela) që shkojnë prapa/përpara, jo në hapa.

Motori DC ka 2 tela (shkon në të dyja anët), motori stepper opsional do të ketë 4 në dy spirale (provoni me njehsorin e rezistencës së multimetrit për të parë se ku lidhen mbështjelljet, siç përshkruhet këtu.)

Nëse jeni duke përdorur mburojën e vjetër Adafruit si në shembullin tim, duhet të lidhni motorin rrotullues të karameleve DC me motorin #3, dhe stepper me dy motorët e parë (#1, #2) siç përshkruhet në dokumentacionin e tyre.

Pasi të lidheni, lidhni motorët në një Mburojë Motor Arduino të bashkangjitur në një Arduino. Për rezultate më të mira, rekomandohet të keni një furnizim të dytë me energji për motorët, të cilët mund t'i lidhni me daljen DC në një lyth muri prej 2 dollarësh nga një dyqan i dorës së dytë.

Hapi 2: Bashkimi i Kontejnerit

Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit
Bashkimi i Kontejnerit

Matni qendrën e një ene kosi ose enë tjetër të madhe plastike dhe shponi një mbajtëse pak më të madhe se fundi i motorit.

Bashkangjiteni enën në kuti duke përdorur një rondele të vogël - ngjiteni Krazy atë në fund të enës dhe në gishtin e motorit elektrik.

Lëreni ngjitësin të thahet për një ose dy ditë që të shërohet plotësisht - ju mund të dëshironi të vendosni një ndarës të vogël midis kutisë dhe enës rrotulluese për t'u siguruar që të mos shtrembërohet.

Hapi 3: Bëni një vrimë të vogël për hedhësin e karameleve

Bëni një vrimë të vogël për hedhësin e karameleve
Bëni një vrimë të vogël për hedhësin e karameleve

Pasi rrotulluesi është ngjitur siç duhet, përdorni fundin e një thike të mprehtë për të përshkruar një vrimë të vogël që karamelet të hidhen nga fundi - kjo duhet të jetë pak mbi pjesën e poshtme, aty ku është buza.

(Për rezultate më të mira, rreth 30 copë karamele mund të ngarkohen në fundin e kapakut të shpërndarësit, i cili do të jetë fundi.)

Vazhdoni të përshkruani butësisht me një thikë të mprehtë derisa të dalë jashtë, duke lënë një vrimë të vogël (mund ta zgjeroni vrimën më vonë sipas nevojës).

Hapi 4: Konfigurimi i Arduino

Nëse nuk e keni instaluar programin Arduino, merrni atë nga

www.arduino.cc/en/Main/Software

Çdo version i fundit duhet të funksionojë.

Provoni motorin DC/Stepper me shembujt e dhënë në kodin shembullor të Arduino Shield.

Nëse ndodh që po e përdorni këtë mburojë (akoma e disponueshme nga disa shitës) mund të përdorni kodin tim direkt:

github.com/programmin1/HowToTrainYourRobot…

Pasi të keni testuar dhe mund të shpërndani ëmbëlsirat duke futur "d" në dritaren serike Arduino, është koha ta lidhni këtë me njohësin e Dlib.

Hapi 5: Konfigurimi i Dlib

Dlib (https://dlib.net/) siguron një bibliotekë me burim të hapur dhe të lehtë për t’u përdorur për njohjen e imazhit. Instaloni modulin Python Dlib duke përdorur:

sudo pip instaloni Dlib

- ose -

sudo easy_install Dlib

Prisni që Dlib të instalohet dhe përpilohet. (Do t'ju duhet një kompjuter me mundësisht disa koncerte RAM, ose do t'ju duhet të prisni një kohë të gjatë dhe të zgjeroni hapësirën e shkëmbimit). Kodi gjithashtu përdor OpenCV për modulin e kamerës në internet, kështu që ekzekutoni:

sudo apt-get install python-opencv

Hapat e instalimit mund të ndryshojnë nëse përdorni MacOS ose sisteme të tjera operative.

Tani merrni të dhënat nga pikat referuese të zbulimit të fytyrës nga

dlib.net/files/shape_predictor_68_face_land…

Zbërtheni atë (me Menaxherin e Arkivit/7zip) dhe vendoseni në HOME/Shkarkime/shape_predictor_68_face_landmarks.dat

Hapi 6: Lidhni njohësin e fytyrës me robotin tuaj

Lidh njohësin e fytyrës me robotin tuaj
Lidh njohësin e fytyrës me robotin tuaj

Lidhni USB-në që kontrollon Arduino në kompjuter dhe verifikoni që skedari "/dev/ttyACM0" ekziston (kjo është pajisja për të dërguar komandat serike). Nëse nuk funksionon dhe një drejtori tjetër me emër të ngjashëm që shfaqet në /dev kur e lidhni, zëvendësoni /dev /ttyACM0 në skedarin faceDetectThreadCorrelationCV2FaceSmile.py në repo.

Lidhni kamerën në internet (nëse nuk ka një kamerë të integruar në kompjuterin që po përdorni) dhe ekzekutoni atë.py skedar në rreshtin e komandës ose me komandën Run/F5 në redaktuesin e tekstit Geany. Nëse dëshironi të përdorni një kamerë të dytë/të jashtme në një kompjuter portativ, mund të dëshironi të ndryshoni "VideoCapture (0)" në "VideoCapture (1)" për të përdorur një kamerë të dytë në internet, të cilën mund ta vendosni në motorin stepper mbi kutinë e robotit Me

Nëse gjithçka shkon mirë, do të shihni një skicë të një buzëqeshjeje kur një fytyrë është para kamerës në internet.

Lexoni përmbledhjen dhe kodin burimor të skedarit.py për të parë matematikën se si funksionon zbulimi i buzëqeshjes nga pikat që Dlib jep nga funksionaliteti historik i fytyrës.:)

Recommended: