Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
S niekoľkými recyklovanými časťami, štítom motora Arduino + a počítačovým softvérom Dlib si môžete vyrobiť funkčný vrhač cukroviniek na detekciu tváre.
Materiály:
- Drevený rám
- Notebook/počítač (najlepšie jeden výkonnejší ako Raspberry Pi!).
- Arduino (najlepšie Uno alebo ten, ktorý sa hodí k vášmu štítu motora.)
- Motorový štít Arduino (použil som starý štít Adafruit, ako sa tu stále predáva)
- Akákoľvek štandardná webová kamera
- Malá práčka
Recyklované diely:
- Kryt (stará kovová krabica funguje dobre.)
- Krokový motor, jednosmerný motor z demontovanej starej tlačiarne.
- Starý napájač tlačiarne
- Dávkovač na cukrovinky (veľká nádoba na jogurt).
Vnútornosti hotového výrobku budú vyzerať ako priložený prehľad.
Výstraha
Pred zapojením/opätovným zapojením nezabudnite odpojiť napájanie z nastavenia Arduino/motora. Nezabudnite zapojiť napájanie so správnou polaritou!
Jedná sa o stredne pokročilý projekt využívajúci Arduino a softvér, ktorý je potrebné nainštalovať alebo skompilovať do počítača. Pokyny sa môžu líšiť a boli testované v systéme Ubuntu.
Ak nepoužívate starý štít motora Adafruit, možno budete musieť upraviť kód Arduino na akýkoľvek kryt motora, ktorý používate.
Krok 1: Vŕtajte, pripojte a namontujte motor
Do puzdra vyvŕtajte otvory a pripevnite krokový motor, aby sa webová kamera mohla pohybovať hore, a v spodnej časti sa dávkovač môže otáčať.
Krokové motory sa môžu pohybovať v malých krokoch (4 vodiče), na rozdiel od jednosmerných motorov (2 drôty), ktoré bežia dozadu/dopredu, nie po krokoch.
Jednosmerný motor má 2 vodiče (beží v oboch smeroch), voliteľný krokový motor bude mať 4 v dvoch cievkach (otestujte multimeterový odporový merač, aby ste zistili, kde sú cievky zapojené, ako je tu popísané.)
Ak používate starý štít Adafruit ako v mojom prípade, mali by ste pripojiť motor DC cukríkového rozmetadla k motoru č. 3 a krokový motor k prvým dvom motorom (č. 1, č. 2) podľa popisu v ich dokumentácii.
Po pripojení zapojte motory k štítu motora Arduino pripojenému k Arduinu. Na dosiahnutie najlepších výsledkov sa odporúča mať druhý napájací zdroj k motorom, ktorý môžete zapojiť do DC výstupu na nástennej bradavici za 2 doláre z obchodu s použitými tovarmi.
Krok 2: Pripojenie kontajnera
Odmerajte stred nádoby na jogurt alebo inú veľkú plastovú nádobu a vyvŕtajte podperu, ktorá je väčšia ako koniec motora.
Nádobu pripevnite k škatuľke pomocou malej podložky - Krazy prilepte k spodnej časti nádoby a k vretenu elektromotora.
Nechajte lepidlo jeden alebo dva dni zaschnúť, aby sa úplne vytvrdlo - možno budete chcieť medzi škatuľu a rotujúcu nádobu umiestniť malú rozperu, aby sa zaistilo, že nebude krivá.
Krok 3: Vytvorte malú dieru pre vrhač cukroviniek
Akonáhle je spinner správne pripevnený, nakreslite koncom ostrého noža malý otvor na vyhodenie cukroviniek z konca - ten by mal byť tesne nad dnom, kde je pysk.
(Na dosiahnutie najlepších výsledkov je možné na koniec veka dávkovača, ktorý bude spodnej časti, vložiť asi 30 kusov cukroviniek.)
Jemným obrysom pokračujte ostrým nožom, kým nevyskočí, pričom zostane malý otvor (otvor môžete podľa potreby neskôr rozšíriť).
Krok 4: Nastavenie Arduino
Ak ešte nemáte nainštalovaný softvér Arduino, stiahnite si ho z
www.arduino.cc/en/Main/Software
Akákoľvek najnovšia verzia by mala fungovať.
Otestujte DC/krokový motor podľa príkladov uvedených vo vzorovom kóde vášho Arduino Shieldu.
Ak náhodou používate tento štít (stále dostupný u niektorých predajcov), môžete priamo použiť môj kód:
github.com/programmin1/HowToTrainYourRobot…
Potom, čo ste vyskúšali a môžete vydávať sladkosti zadaním „d“v sériovom okne Arduino, je načase to pripojiť k rozpoznávaču Dliba.
Krok 5: Nastavenie kopírovania
Dlib (https://dlib.net/) poskytuje open-source, ľahko použiteľnú knižnicu na rozpoznávanie obrázkov. Nainštalujte modul Python Dlib pomocou:
sudo pip install Dlib
- alebo -
sudo easy_install Dlib
Počkajte, kým sa Dlib nainštaluje a skompiluje. (Budete potrebovať počítač, najlepšie s pár gigami pamäte RAM, alebo budete musieť dlho čakať a rozšíriť odkladací priestor). Kód tiež používa OpenCV pre modul webovej kamery, takže spustite:
sudo apt-get install python-opencv
Kroky inštalácie sa môžu líšiť, ak používate MacOS alebo iné operačné systémy.
Teraz uchopte údaje o orientačných bodoch detekcie tváre
dlib.net/files/shape_predictor_68_face_land…
Rozbaľte ho (pomocou Správcu archívov/7zip) a umiestnite do DOMOV/Downloads/shape_predictor_68_face_landmarks.dat
Krok 6: Pripojenie rozpoznávania tváre k vášmu robotu
Pripojte USB ovládajúce Arduino k počítaču a overte, či existuje súbor „/dev/ttyACM0“(toto je zariadenie, do ktorého sa majú odosielať sériové príkazy). Ak to nefunguje a iný podobne pomenovaný adresár, ktorý sa zobrazí v /dev, keď ho zapojíte, nahraďte /dev /ttyACM0 v súbore faceDetectThreadCorrelationCV2FaceSmile.py v repo.
Pripojte webovú kameru (ak v počítači, ktorý používate, nie je zabudovaná webkamera), spustite tento.py súbor v príkazovom riadku alebo príkazom Run/F5 v textovom editore Geany. Ak chcete na prenosnom počítači používať druhú/externú webovú kameru, možno budete chcieť zmeniť „VideoCapture (0)“na „VideoCapture (1)“a použiť druhú webovú kameru, ktorú môžete umiestniť na krokový motor na vrchole robota..
Ak všetko pôjde dobre, uvidíte obrys úsmevu, keď je tvár pred webovou kamerou.
Prečítajte si prehľad a zdrojový kód súboru.py, aby ste zistili, ako funguje rozpoznávanie úsmevu z bodov, ktoré Dlib dáva z funkcie orientačného bodu tváre.:)