Sadržaj:

Robot za bacanje bombona s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka
Robot za bacanje bombona s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka

Video: Robot za bacanje bombona s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka

Video: Robot za bacanje bombona s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka
Video: СПАМБОТ: КУПИТЬ (анимированный говорящий бот) 2024, Novembar
Anonim
Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom
Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom

S nekoliko recikliranih dijelova, Arduino + štitnikom motora i računalnim softverom Dlib, možete napraviti radni bacač slatkiša za otkrivanje lica.

Materijali:

  • Drveni okvir
  • Laptop/računar (po mogućnosti jedan moćniji od Raspberry Pi!).
  • Arduino (po mogućnosti Uno ili onaj koji odgovara vašem štitu motora.)
  • Arduino motorni štit (koristio sam stari Adafruit štit, koji se još uvijek prodaje ovdje)
  • Bilo koja standardna web kamera
  • Mala perilica

Reciklirani dijelovi:

  • Kućište (stara metalna kutija radi dobro.)
  • Step motor, DC motor sa rastavljenog starog štampača.
  • Napajanje starog štampača
  • Dozator za slatkiše (velika posuda za jogurt).

Unutrašnjost gotovog proizvoda izgledat će donekle kao priloženi pregled.

Upozorenje

Prije ožičenja/ponovnog ožičenja obavezno isključite napajanje iz Arduina/postavke motora. Uključite napajanje u pravilan polaritet!

Ovo je projekt srednje razine koji koristi Arduino i softver koji trebate instalirati ili kompajlirati na računaru. Upute se mogu razlikovati i testirane su na Ubuntuu.

Možda nećete morati prilagoditi Arduino kôd bilo kojem štitu motora koji koristite, ako ne koristite stari štitnik motora Adafruit.

Korak 1: Izbušite, spojite i montirajte motor

Izbušite, spojite i montirajte motor
Izbušite, spojite i montirajte motor
Izbušite, spojite i montirajte motor
Izbušite, spojite i montirajte motor

Izbušite rupe u kućištu, pričvrstite koračni motor tako da se web kamera može kretati po vrhu, a dozator može rotirati pri dnu.

Koračni motori mogu se kretati u malim koracima (4 žice), za razliku od istosmjernih motora (2 žice) koji se kreću unatrag/naprijed, a ne u koracima.

DC motor ima 2 žice (radi u oba smjera), opcionalni koračni motor će imati 4 u dvije zavojnice (testirajte pomoću multimetrskog mjerača otpora da vidite gdje su zavojnice ožičene, kako je ovdje opisano.)

Ako koristite stari Adafruit štit kao u mom primjeru, trebali biste spojiti istosmjerni motor za centrifugiranje bombona na motor #3, a stepper na prva dva motora (#1, #2) kako je opisano u njihovoj dokumentaciji.

Nakon spajanja, spojite motore na Arduino štitnik motora pričvršćen na Arduino. Za najbolje rezultate preporučuje se dodatno napajanje motora, koje možete priključiti na istosmjerni izlaz na zidnoj bradavici od 2 USD iz rabljene trgovine.

Korak 2: Pričvršćivanje spremnika

Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera
Pričvršćivanje kontejnera

Izmjerite središte posude za jogurt ili druge velike plastične posude i izbušite držač nešto veći od kraja motora.

Pričvrstite spremnik na kutiju pomoću male podloške - Krazy -zalijepite je na dno posude i na vreteno elektromotora.

Pustite da se ljepilo osuši dan ili dva kako bi se potpuno stvrdnulo - možda ćete htjeti staviti mali odstojnik između kutije i spremnika za predenje kako biste bili sigurni da se nije iskrivio.

Korak 3: Napravite malu rupu za bacač bombona

Napravite malu rupu za bacač bombona
Napravite malu rupu za bacač bombona

Nakon što je spinner pravilno pričvršćen, upotrijebite kraj oštrog noža kako biste ocrtali malu rupicu za izbacivanje slatkiša s kraja - to bi trebalo biti točno iznad dna, gdje je usna.

(Za najbolje rezultate, oko 30 komada slatkiša može se staviti na kraj poklopca dozatora, koji će biti donji.)

Lagano ocrtavajte oštrim nožem dok ne iskoči, ostavljajući malu rupu (rupu možete kasnije proširiti po potrebi).

Korak 4: Arduino postavljanje

Ako već niste instalirali Arduino softver, preuzmite ga

www.arduino.cc/en/Main/Software

Svaka novija verzija bi trebala raditi.

Testirajte istosmjerni/koračni motor s primjerima navedenim u primjeru koda vašeg Arduino Shielda.

Ako slučajno koristite ovaj štit (još uvijek dostupan od nekih prodavača), možete koristiti moj kôd izravno:

github.com/programmin1/HowToTrainYourRobot…

Nakon što ste isprobali i možete izdati slatkiše unosom "d" u Arduino serijski prozor, vrijeme je da ga povežete s Dlibovim prepoznavačem.

Korak 5: Dlib Setup

Dlib (https://dlib.net/) pruža biblioteku otvorenog koda, laku za upotrebu za prepoznavanje slika. Instalirajte Python Dlib modul koristeći:

sudo pip install Dlib

- ili -

sudo easy_install Dlib

Pričekajte da se Dlib instalira i kompajlira. (Trebat će vam računar s po mogućnosti nekoliko koncerata RAM -a ili ćete morati dugo čekati i proširiti prostor za zamjenu). Kod također koristi OpenCV za modul web kamere, pa pokrenite:

sudo apt-get install python-opencv

Koraci instalacije mogu se razlikovati ako koristite MacOS ili druge operativne sisteme.

Sada uzmite podatke o orijentirima za otkrivanje lica

dlib.net/files/shape_predictor_68_face_land…

Raspakirajte ga (pomoću programa Archive Manager/7zip) i postavite ga u HOME/Downloads/shape_predictor_68_face_landmarks.dat

Korak 6: Povezivanje prepoznavača lica sa vašim robotom

Povezivanje prepoznavača lica sa vašim robotom
Povezivanje prepoznavača lica sa vašim robotom

Priključite USB koji kontrolira Arduino na računalo i provjerite postoji li datoteka "/dev/ttyACM0" (ovo je uređaj za slanje serijskih naredbi). Ako ne radi i drugi direktorij sa sličnim imenom koji se prikazuje u /dev -u kada ga priključite, zamijenite /dev /ttyACM0 u datoteci faceDetectThreadCorrelationCV2FaceSmile.py u repo -u.

Uključite web kameru (ako nema ugrađene web kamere u računaru koji koristite) i pokrenite tu.py datoteku u komandnoj liniji ili pomoću naredbe Run/F5 u uređivaču teksta Geany. Ako želite koristiti drugu/vanjsku web kameru na prijenosnom računaru, možda ćete htjeti promijeniti "VideoCapture (0)" u "VideoCapture (1)" da biste koristili drugu web kameru koju možete postaviti na koračni motor na robotovu kutiju.

Ako sve prođe u redu, vidjet ćete obris osmijeha kada je lice ispred web kamere.

Pročitajte pregled i izvorni kod.py datoteke da biste vidjeli matematiku funkcioniranja otkrivanja osmijeha od tačaka koje Dlib daje iz orijentira funkcionalnosti lica.:)

Preporučuje se: