Turinys:

Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“: 6 žingsniai
Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“: 6 žingsniai

Video: Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“: 6 žingsniai

Video: Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“: 6 žingsniai
Video: ROBOTAI?! KITSY GAMINA PIEŠIANTĮ ROBOTĄ ir MĖSAINIUS! 😲 SUPER Įdomūs faktai ir linksmybės vaikams! 2024, Liepa
Anonim
Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“
Saldainių metimo robotas su „Arduino“, perdirbtomis dalimis ir „Dlib“

Naudodami keletą perdirbtų dalių, „Arduino +“variklio skydą ir „Dlib“kompiuterinę programinę įrangą, galite sukurti veikiantį veido aptikimo saldainių metiklį.

Medžiagos:

  • Medinis rėmas
  • Nešiojamasis kompiuteris/kompiuteris (pageidautina vienas galingesnis nei „Raspberry Pi“!).
  • „Arduino“(pageidautina „Uno“arba tas, kuris tinka jūsų variklio skydui.)
  • „Arduino“variklio skydas (naudojau seną „Adafruit“skydą, kaip vis dar parduodamas čia)
  • Bet kuri standartinė internetinė kamera
  • Maža skalbyklė

Perdirbtos dalys:

  • Korpusas (gerai veikia sena metalinė dėžutė.)
  • Žingsninis variklis, nuolatinės srovės variklis iš išardyto seno spausdintuvo.
  • Senas spausdintuvo maitinimo šaltinis
  • Saldainių dozatorius (didelė jogurto talpykla).

Gatavo produkto vidus atrodys šiek tiek panašus į pridedamą apžvalgą.

Įspėjimas

Prieš prijungdami/vėl prijungdami, būtinai atjunkite „Arduino“/variklio sąranką. Būtinai įjunkite maitinimą į tinkamą poliškumą!

Tai yra vidutinio lygio projektas, kuriame naudojamas „Arduino“ir programinė įranga, kurią reikia įdiegti ar surinkti kompiuteryje. Instrukcijos gali skirtis ir buvo išbandytos dirbant su „Ubuntu“.

Jei nenaudojate senojo „Adafruit“variklio skydo, gali tekti pakoreguoti „Arduino“kodą, kad ir kokį naudojate variklio skydą.

1 žingsnis: gręžkite, prijunkite ir pritvirtinkite variklį

Gręžkite, prijunkite ir pritvirtinkite variklį
Gręžkite, prijunkite ir pritvirtinkite variklį
Gręžkite, prijunkite ir pritvirtinkite variklį
Gręžkite, prijunkite ir pritvirtinkite variklį

Išgręžkite skyles korpuse, pritvirtindami žingsninį variklį, kad kamera galėtų judėti viršuje, o dozatorius - suktis apačioje.

Žingsniniai varikliai gali judėti mažais žingsniais (4 laidai), skirtingai nei nuolatinės srovės varikliai (2 laidai), kurie važiuoja atgal/į priekį, o ne žingsniais.

Nuolatinės srovės variklis turi 2 laidus (veikia bet kuriuo atveju), pasirinktinis žingsninis variklis turės 4 iš dviejų ritinių (išbandykite su multimetro varžos matuokliu, kad sužinotumėte, kur ritės yra prijungtos, kaip aprašyta čia.)

Jei naudojate seną „Adafruit“skydą, kaip nurodyta mano pavyzdyje, DC saldainių suktuko variklį turėtumėte prijungti prie variklio Nr. 3, o žingsninį - prie pirmųjų dviejų variklių (#1, #2), kaip aprašyta jų dokumentuose.

Prijungę, prijunkite variklius prie „Arduino Motor Shield“, pritvirtinto prie „Arduino“. Norint gauti geriausius rezultatus, rekomenduojama antrą kartą prijungti maitinimo šaltinį prie variklių, kurį galite prijungti prie nuolatinės srovės išvesties ant 2 USD vertės karpos iš dėvėtų prekių parduotuvės.

2 žingsnis: konteinerio pritvirtinimas

Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas
Konteinerio tvirtinimas

Išmatuokite jogurto indo ar kito didelio plastikinio indo centrą ir išgręžkite laikiklį, didesnį nei variklio galas.

Pritvirtinkite konteinerį prie dėžutės naudodami mažą poveržlę - „Krazy“klijuokite ją prie talpyklos dugno ir prie elektros variklio veleno.

Leiskite klijams išdžiūti vieną ar dvi dienas, kad visiškai sukietėtų - galbūt norėsite įdėti nedidelį tarpiklį tarp dėžės ir besisukančio konteinerio, kad įsitikintumėte, jog jis nesukreipė.

3 žingsnis: padarykite mažą skylę saldainių metimui

Padarykite mažą skylę saldainių metimui
Padarykite mažą skylę saldainių metimui

Tinkamai pritvirtinus suktuką, aštraus peilio galu nubrėžkite mažą skylutę, kad saldainiai būtų išmesti iš galo - tai turėtų būti tiesiai virš dugno, kur yra lūpa.

(Norėdami gauti geriausius rezultatus, ant dozatoriaus dangtelio galo, kuris bus apačioje, galima įdėti apie 30 saldainių.)

Švelniai nubrėžkite aštriu peiliu, kol jis iššoks, paliekant nedidelę skylutę (prireikus vėliau galite ją išplėsti).

4 žingsnis: „Arduino“sąranka

Jei dar neįdiegėte „Arduino“programinės įrangos, gaukite ją iš

www.arduino.cc/en/Main/Software

Bet kokia naujausia versija turėtų veikti.

Išbandykite nuolatinės srovės/žingsninį variklį naudodami pavyzdžius, pateiktus jūsų „Arduino Shield“pavyzdiniame kode.

Jei atsitiktinai naudojate šį skydą (vis dar galima įsigyti iš kai kurių perpardavėjų), galite tiesiogiai naudoti mano kodą:

github.com/programmin1/HowToTrainYourRobot…

Kai išbandysite ir galėsite išpilstyti saldainius įvesdami „d“į „Arduino“serijos langą, laikas prijungti jį prie „Dlib“atpažinimo.

5 veiksmas: „Dlib“sąranka

„Dlib“(https://dlib.net/) yra atviro kodo, lengvai naudojama biblioteka vaizdų atpažinimui. Įdiekite „Python Dlib“modulį naudodami:

sudo pip įdiegti Dlib

- arba -

sudo easy_install Dlib

Palaukite, kol „Dlib“įdiegs ir sukompiliuos. (Jums reikės kompiuterio su pageidautina pora koncertų RAM, arba turėsite ilgai laukti ir išplėsti apsikeitimo vietą). Kodas taip pat naudoja „OpenCV“žiniatinklio kameros moduliui, todėl paleiskite:

sudo apt-get install python-opencv

Jei naudojate „MacOS“ar kitas operacines sistemas, diegimo veiksmai gali skirtis.

Dabar paimkite veido aptikimo orientyrų duomenis iš

dlib.net/files/shape_predictor_68_face_land…

Išpakuokite (naudodami archyvo tvarkyklę/7zip) ir įdėkite jį į HOME/Atsisiuntimai/shape_predictor_68_face_landmarks.dat

6 veiksmas: veido atpažinimo įrenginio prijungimas prie roboto

Veido atpažinimo įrenginio prijungimas prie jūsų roboto
Veido atpažinimo įrenginio prijungimas prie jūsų roboto

Prijunkite „Arduino“valdantį USB prie kompiuterio ir patikrinkite, ar yra „/dev/ttyACM0“failas (tai yra įrenginys, kuriuo siunčiamos serijinės komandos). Jei jis neveikia ir kitas panašiai pavadintas katalogas, rodomas /dev, kai jį prijungiate, pakeiskite /dev /ttyACM0 į failą faceDetectThreadCorrelationCV2FaceSmile.py repo.

Prijunkite internetinę kamerą (jei naudojamame kompiuteryje nėra įmontuotos internetinės kameros) ir paleiskite tą.py failą komandų eilutėje arba naudodami komandą Vykdyti/F5 „Geany“teksto rengyklėje. Jei norite nešiojamame kompiuteryje naudoti antrą/išorinę internetinę kamerą, galbūt norėsite pakeisti „VideoCapture (0)“į „VideoCapture (1)“, kad galėtumėte naudoti antrą internetinę kamerą, kurią galite pastatyti ant žingsninio variklio ant roboto dėžutės.

Jei viskas gerai, matysite šypsenos kontūrą, kai veidas bus priešais kamerą.

Perskaitykite „.py“failo apžvalgą ir šaltinio kodą, kad pamatytumėte šypsenos aptikimo matematiką iš taškų, kuriuos „Dlib“suteikia iš veido orientyro funkcijų.:)

Rekomenduojamas: