Obsah:

OUCH: 6 krokov
OUCH: 6 krokov

Video: OUCH: 6 krokov

Video: OUCH: 6 krokov
Video: Английский язык для среднего уровня за 50 уроков A2 Уроки английского языка Урок 6 2024, Júl
Anonim
OUCH
OUCH
OUCH
OUCH

Ouch je váš osobný všesmerový zbytočný pomocník pri katarakte. Ako rozpoznanie tváre zasiahne Zeitgeist, OUCH zasiahne vás! OUCH nielenže vie, ako vyzeráte, ale tiež vie byť veľmi nepríjemný! Na rozdiel od veľkého brata je tento stroj veľmi dobre viditeľný a plní iba jeden účel: Aby bol váš život o niečo drsnejší. Zabudli ste si niekedy doma slnečné okuliare a prekvapil vás jasný odraz? OUCH vám umožňuje prežiť tento okamih znova a znova. Odrazom svetla z najjasnejšieho zdroja svetla okolo vás priamo do tváre sa postará o to, že si okolo neho neužijete ani chvíľu.

Dávajte si pozor, inak môže byť OUCH to posledné, čo kedy uvidíte!

Projekt bol realizovaný ako súčasť seminára Výpočtový dizajn a digitálna výroba v programe ITECH masters.

August Lehrecke | Max Zorn

Zásoby

Elektronické súčiastky:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x fotorezistory
    • 4x 10k odpory
    • 2x potenciometre
    • 1x kábel USB pre tlačiareň

Malinový koláč

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-kanálový 12-bitový servopohon PWM
    • Externé napájanie 5 V DC
    • 1x napájací zdroj Rasberry Pi 5,1 V - 3 A (alebo externý ekvivalent)
    • 1x Ultrazvukový snímač MAKERFACTORY HC-SR05 (MF-6402156)
    • 1x odpor 470 Ohm
    • 1x odpor 320 ohmov

3D tlačené diely:

OUCH's majú rôzne tvary a veľkosti. V tejto verzii sme na tlač vlastných mechanizmov použili 3D tlačiareň.

  • 4 x stojan
  • 2 x Základňa S
  • 1 x Základňa L.
  • 2 x Dvojitý otočný podstavec
  • 1 x základňa rotácie jednoduchá
  • 1 x Sada podpery osi S
  • 1 x Sada podpery osi M
  • 1 x Sada podpery osi L
  • 1 x držiak na fotoaparát
  • 1 x Svetelný držiak
  • 1 x držiak na zrkadlo

Voliteľne môžete použiť dodaný dizajn veže na vyladenie komponentov na:

  • 1 x veža (namiesto 4 x stojan)
  • 1 x Base S a 1x Base M (namiesto 2 x Base S)

Ostatné diely:

  • Mylar
  • 1 x gumička
  • 1 x kravata na zips
  • 12 skrutiek s plochou hlavou M5 x 160
  • 2 skrutky s plochou hlavou M5 x 80

Náradie:

  • 3D tlačiareň
  • Skrutkovač H3.0
  • Horúca lepiaca pištoľ

Krok 1: Krok 1: Tlač dielov

Ak máte prístup k 3D tlačiarni, môžete si vytlačiť vlastné mechanizmy na umiestnenie serv a namontovanie troch hlavných komponentov.

Pre komponent Face potrebujeme:

  • 2 x stojany
  • 1 x Základňa L.
  • 1 x Dvojitý otočný podstavec
  • 1 x Sada podpery osi M
  • 1 x držiak kamery a snímača vzdialenosti

Svetelná zložka vyžaduje:

  • 1 x stojan
  • 1 x Základňa S
  • 1 x Dvojitý otočný podstavec
  • 1 x Sada podpery osi S
  • 1 x Svetelný držiak

Komponenty zrkadla sa skladajú z nasledujúcich prvkov:

  • 1 x stojan
  • 1 x Základňa S
  • 1 x otočná základňa jednoduchá
  • 1 x Sada podpery osi L
  • Zrkadlový držiak

Nakoniec si môžete dodanú vežu aj vytlačiť.

Ak ho chcete použiť ako základ pre všetky tri komponenty, budete musieť vektorovú matematiku v kóde zodpovedajúcim spôsobom upraviť. Ďalej k veži pripojte komponent Face s Base M namiesto Base L.

Krok 2: Krok 2: Vytvorenie zrkadla

Krok 2: Vytvorenie zrkadla
Krok 2: Vytvorenie zrkadla
Krok 2: Vytvorenie zrkadla
Krok 2: Vytvorenie zrkadla

Ak si chcete vytvoriť svoj vlastný komponent Mirror, odstrihnite kruhový kus Mylaru a položte ho na 3D vytlačenú časť zrkadla. Potom najskôr pomocou gumičky upevnite na mieste. Gumový pás by mal zapadnúť do drážky okolo komponentu. Potom pomocou jemného zipsu jemne zaistite spojenie, zatiaľ ho príliš neutahujte. Teraz môžete začať natahovať Mylar, kým nezískate lesklý, zrkadlový povrch. Nakoniec utiahnite zapínanie na zips a užívajte si odlesk svojej krásnej tváre!

Krok 3: Krok 3: Zostavenie komponentov

Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov
Krok 3: Zostavenie komponentov

Komponent tváre

  1. Horúce lepidlo päste servo v súlade s výrezom rotujúcej základne
  2. Prilepte konektor Servo do drážky umiestnenej v spodnej časti spodnej časti
  3. Spojte dve základné časti dohromady tak, aby sa servo spojilo s konektorom
  4. Pomocou skrutky serva pripevnite konektor k servu
  5. Druhý kus konektora zalepte za tepla do príslušnej drážky umiestnenej v hornej časti podpery osi
  6. Pomocou 4 skrutiek M5 priskrutkujte podperu osi k rotujúcej základni
  7. Horúce lepidlo druhého serva na držiak
  8. Posuňte fotoaparát na kolíky
  9. Ultrazvukový snímač vzdialenosti pripevnite k držiaku skrutkovaním alebo lepením za tepla
  10. Pripojte držiak kamery / senzora k držiaku osi, servo sa musí opäť zasunúť do konektora
  11. Pomocou skrutky serva pripevnite konektor k servu
  12. Zaskrutkujte Raspberry Pi a servopohon na kus preglejky (uistite sa, že sa rozstup zhoduje s otvormi v základni L)
  13. Skrutkujte komponent Face na stojany pomocou skrutiek M5

Zrkadlový komponent

  1. Postupujte podľa krokov 1 až 7
  2. Pripojte zrkadlo k držiaku osi
  3. Na preglejku prilepte stojan na zrkadlá tak, aby boli súčasti Zrkadlo a tvár zarovnané
  4. Skrutku Mirror priskrutkujte na stojan pomocou skrutiek M5

Svetelný komponent

  1. Postupujte podľa krokov 1 až 7 vyššie
  2. Prevlečte svetelné senzory cez montážne otvory v spodnej časti tieniaceho kríža
  3. Pripojte tieniaci kríž k podpore osi, servo sa opäť musí zasunúť do konektora
  4. Pomocou skrutky serva pripevnite konektor k servu
  5. Prilepte stojan na preglejku tak, aby boli komponenty Svetlo, Zrkadlo a Tvár zarovnané a Zrkadlo bolo medzi zložkami Tvár a Svetlo
  6. Skrutkujte komponent Face na stojany pomocou skrutiek M5

*Všetky prvky môžu byť tiež pripevnené k veži, prosím, vezmite do úvahy zvýšenú zložitosť kódovania a zapojenia a čas tlače. Ak chcete použiť vežu, použite časť Base M namiesto základne L pre komponent tváre a priskrutkujte diely základne k veži pomocou očiek a skrutiek M5.

Krok 4: Krok 4: Konfigurujte dosky

Krok 4: Konfigurujte dosky
Krok 4: Konfigurujte dosky
Krok 4: Konfigurujte dosky
Krok 4: Konfigurujte dosky
Krok 4: Konfigurujte dosky
Krok 4: Konfigurujte dosky

Tu je schéma zapojenia troch komponentov. Slnečný sledovač funguje na svojej vlastnej slučke na Arduine a odosiela svoje servo polohy na Rasberry Pi cez sériový port USB. Voliteľný snímač vzdialenosti je možné zavesiť na prednú stranu kamery piCamera otáčania/nakláňania, aby sa zaistila robustnejšia triangulácia cieľa. Tu ich zoradíme do priamky a spriemerujeme vektory, aby to nebolo potrebné.

K servopohonu PCA9685, ktorý je napájaný externým 5V zdrojom, sú pripojené štyri servá. Dve zo serva ovládajú natáčanie a nakláňanie kamery na sledovanie tváre, zatiaľ čo zvyšné dve ovládajú posúvanie a nakláňanie zrkadla.

Krok 5: Kód:

Kód
Kód

Kód pre tento projekt možno rozdeliť na dve časti: kód sledovania svetla Arduino a kód sledovania tváre/polohy zrkadla pythonu.

Arduino kód:

Tento kód je mierne upravenou verziou projektu sledovania slnka z geobruce. Je to skvelá referencia na získanie ďalších informácií o komponente sledovania slnečného žiarenia a ďalšie podrobnosti nájdete na tejto stránke s pokynmi. Hodnoty intenzity svetla sa odoberú zo 4 fotoodporov a spriemerujú sa, aby sa našla najjasnejšia oblasť a podľa toho sa nastavili servá. Potom zapíšeme hodnoty uhla serva do sériového portu.

Python kód:

Tento kód integruje otvorené CV na vytvorenie mechanizmu naklápania panvy na sledovanie tváre a poháňa servá pre zrkadlo. Na stiahnutie otvoreného životopisu do svojho Raspberry pi budete musieť vykonať niekoľko krokov. Existuje na to veľa zdrojov, ale veľmi sa mi páči ten od pyimagesearch. Celú prechádzku týmto procesom nájdete tu. Poznámka: Otvorené knižnice životopisov sme stiahli do virtuálneho prostredia, v ktorom spustíme celý kód. Ak ste sa tak rozhodli, uistite sa, že stiahnete všetky závislosti do virtuálneho prostredia, v ktorom spustíte program, a nie samotné Pi.

Keď si stiahnete otvorený životopis, tento kód bude na spustenie vyžadovať aj niekoľko ďalších závislostí (nainštalovaných v konkrétnom prostredí, ktoré používate):

  • Adafruit ServoKit: Celú stránku o procese sťahovania na malinovom Pi nájdete tu.
  • imutils
  • otupený
  • gpiozero (ak používate snímač vzdialenosti)

Na sledovanie tvárí skript vyžaduje argument (--faces), čo je súbor.xml, ktorý openCv používa na vyhľadanie tvárí. Tento súbor budete musieť vložiť do rovnakého adresára ako skript python. Poskytol som to v súboroch na stiahnutie a dá sa to nájsť aj tu.

Krok 6: Spustenie kódu

Spustenie kódu
Spustenie kódu
Spustenie kódu
Spustenie kódu

Akonáhle budete mať všetok kód stiahnutý do rovnakého adresára a nastavíte si virtuálne prostredie s otvoreným životopisom, ste pripravení ho spustiť.

  1. Otvorte príkazový riadok na počítači pi
  2. Zadajte workon cv (alebo ktorýkoľvek názov, ktorý ste si vybrali pre svoje virtuálne prostredie)
  3. Zmeňte adresár na miesto, kde máte uložené súbory (cd (cesta k súborom))
  4. Na poslednom riadku sa spustí program a špecifikuje kaskádový súbor haar. (python Face3.py --faces haarcascade_frontalface_default.xml)

Po spustení by ste mali na obrazovke vyskočiť stream videa z programu picam a príkazový riadok začne tlačiť hodnoty serv zo všetkých šiestich serv.

A ste hotoví! V závislosti od kvality vašich servov ich možno budete chcieť kalibrovať osobitne, aby ste zvýšili presnosť systému. Nakoniec sme museli vyladiť všetky rozsahy PWM, aby správne fungovali.

Odporúča: