Sadržaj:

Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka
Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka

Video: Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka

Video: Robot za bacanje slatkiša s Arduinom, recikliranim dijelovima i Dlibom .: 6 koraka
Video: СПАМБОТ: КУПИТЬ (анимированный говорящий бот) 2024, Studeni
Anonim
Robot za bacanje bombona s Arduinom, recikliranim dijelovima i Dlibom
Robot za bacanje bombona 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
  • Prijenosno računalo (po mogućnosti jedno moćnije od Raspberry Pi!).
  • Arduino (po mogućnosti Uno ili onaj koji odgovara vašem motornom štitu.)
  • 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 pisača.
  • Napajanje starog pisača
  • Dozator za slatkiše (velika posuda za jogurt).

Unutrašnjost gotovog proizvoda izgledat će donekle poput priloženog pregleda.

Upozorenje

Prije ožičenja/ponovnog ožičenja svakako 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čunalu. Upute se mogu razlikovati i testirane su na Ubuntuu.

Možda ne morate prilagoditi Arduino kôd bilo kojem motornom štitu 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), opcijski koračni motor imat će 4 u dvije zavojnice (testirajte pomoću multimetra otpornika 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 spojiti na istosmjerni izlaz na zidnoj bradavici od 2 USD iz rabljene trgovine.

Korak 2: Pričvršćivanje spremnika

Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika
Pričvršćivanje spremnika

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 spremnika i na vreteno elektromotora.

Ostavite ljepilo da se suši dan ili dva kako bi se potpuno stvrdnulo - možda ćete htjeti staviti mali razmaknik između kutije i spremnika koji se okreće kako biste bili sigurni da nije postavljen krivo.

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 dno.)

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

Korak 4: Postavljanje Arduina

Ako već niste instalirali Arduino softver, preuzmite ga

www.arduino.cc/en/Main/Software

Svaka najnovija verzija trebala bi 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 testirali i možete izdati slatkiše unosom "d" u Arduino serijski prozor, vrijeme je da to povežete s Dlibovim prepoznavačem.

Korak 5: Dlib postavljanje

Dlib (https://dlib.net/) pruža biblioteku otvorenog koda, laku za korištenje, za prepoznavanje slika. Instalirajte Python Dlib modul pomoću:

sudo pip instalirajte Dlib

- ili -

sudo easy_install Dlib

Pričekajte da se Dlib instalira i prevede. (Trebat će vam računalo 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 operacijske sustave.

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 na 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.

Priključite web kameru (ako na računalu koje koristite) nema ugrađene web kamere i pokrenite tu.py datoteku u naredbenom retku ili naredbom Run/F5 u uređivaču teksta Geany. Ako želite koristiti drugu/vanjsku web kameru na prijenosnom računalu, 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 bude u redu, vidjet ćete obris osmijeha kad je lice ispred web kamere.

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

Preporučeni: