Tartalomjegyzék:

OUCH: 6 lépés
OUCH: 6 lépés

Videó: OUCH: 6 lépés

Videó: OUCH: 6 lépés
Videó: Настя Кравченко - Ромашки "Песня Года Беларуси 2022 2024, November
Anonim
JAJ
JAJ
JAJ
JAJ

Ouch az Ön személyes mindenirányú haszontalan szürkehályog -segítője. Ahogy az arcfelismerés eléri a Zeitgeist, az OUCH megüti Önt! Az OUCH nemcsak tudja, hogy néz ki, hanem azt is, hogyan lehet nagyon idegesítő! A nagytestvérrel ellentétben ez a gép nagyon jól látható, és csak egy célt szolgál: hogy egy kicsit szarabb legyen az életed. Elfelejtette valaha otthon a napszemüvegét, és meglepte egy fényes tükröződés? Az OUCH lehetővé teszi, hogy újra és újra átélje ezt a pillanatot. Azáltal, hogy a legfényesebb fényforrás fényét egyenesen az arcába tükrözi, biztosítja, hogy egyetlen pillanatot sem fog élvezni körülötte.

Vigyázz, különben OUCH lehet az utolsó dolog, amit valaha látni fogsz!

A projekt az ITECH mesterképzésben a Számítástechnikai tervezés és digitális gyártás szeminárium részeként valósult meg.

August Lehrecke | Max Zorn

Kellékek

Elektronikus részek:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x fényellenállás
    • 4x 10k ellenállás
    • 2x potenciométer
    • 1x USB nyomtatókábel

Raspberry Pi

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16 csatornás 12 bites PWM szervo meghajtó
    • 5V DC külső tápegység
    • 1x Rasberry Pi 5.1V - 3Amp tápegység (vagy külső megfelelő)
    • 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 Ohm ellenállás
    • 1x 320 Ohm ellenállás

3D nyomtatott alkatrészek:

Az OUCH különböző formákban és méretekben kapható. Ehhez a verzióhoz 3D nyomtatót használtunk az egyedi mechanizmusok nyomtatásához.

  • 4 x állvány
  • 2 x S alap
  • 1 x L alap
  • 2 x forgó bázis dupla
  • 1 x forgatható alap
  • 1 x S tengelytámasz készlet
  • 1 x tengelytartó készlet M
  • 1 x L tengelytámasz készlet
  • 1 x kamera tartó
  • 1 x fénytartó
  • 1 x tükör tartó

Opcionálisan használhatja a mellékelt torony kialakítást az alkatrészek összeszereléséhez:

  • 1 x torony (4 x állvány helyett)
  • 1 x Base S és 1 x Base M (2 x Base S helyett)

Más részek:

  • Mylar
  • 1 x gumiszalag
  • 1 x cipzáras nyakkendő
  • 12 M5 x 160 laposfejű csavar
  • 2 M5 x 80 laposfejű csavar

Eszközök:

  • 3d nyomtató
  • H3.0 Csavarhúzó
  • Ragasztópisztoly

1. lépés: 1. lépés: Az alkatrészek nyomtatása

Ha hozzáfér a 3D nyomtatóhoz, egyéni mechanizmusokat nyomtathat a szervók elhelyezésére és a három fő komponens rögzítésére.

Az Arc komponenshez a következőkre van szükségünk:

  • 2 x állvány
  • 1 x L alap
  • 1 x forgó talp dupla
  • 1 x tengelytartó készlet M
  • 1 x kamera és távolságérzékelő tartó

A Light komponenshez a következőkre van szükség:

  • 1 x állvány
  • 1 x S alap
  • 1 x forgó talp dupla
  • 1 x S tengelytámasz készlet
  • 1 x fénytartó

A tükör alkatrészei a következőkből állnak:

  • 1 x állvány
  • 1 x S alap
  • 1 x forgó talp
  • 1 x L tengelytámasz készlet
  • Tükör tartó

Végül kinyomtathatja a mellékelt tornyot is.

Ha mindhárom komponens alapjául akarja használni, akkor ennek megfelelően kell módosítania a vektor matematikáját a kódban. Továbbá csatlakoztassa a Face komponenst az M alappal az L bázis helyett a toronyhoz.

2. lépés: 2. lépés: A tükör készítése

2. lépés: A tükör készítése
2. lépés: A tükör készítése
2. lépés: A tükör készítése
2. lépés: A tükör készítése

Ha saját tükörkomponenst szeretne készíteni, vágjon le egy kör alakú darabot a Mylar -ból, és tegye rá a 3D nyomtatott tükörrészre. Ezután először gumiszalaggal rögzítse a helyén. A gumiszalagnak bele kell illeszkednie az alkatrész körüli horonyba. Ezután használjon cipzárat, hogy óvatosan rögzítse a csatlakozást, de még ne húzza meg túlságosan. Most elkezdheti nyújtani a Mylar -t, amíg fényes, tükröződő felületet nem kap. Végül húzza meg a cipzárat, és élvezze gyönyörű arcának tükröződését!

3. lépés: 3. lépés: Az alkatrészek összeszerelése

3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése
3. lépés: Az alkatrészek összeszerelése

Arckomponens

  1. Forgassa be a Servo ököllel a forgó alap megfelelő kivágását
  2. Ragassza a szervocsatlakozót az alaprész alján található horonyba
  3. Tegye össze a két alaprészt úgy, hogy a szervó összekapcsolódjon a csatlakozóval
  4. A Servo csavarral rögzítse a csatlakozót a Servo -hoz
  5. A második csatlakozódarabot forró ragasztóval illessze be a tengelytartó tetején található horonyba
  6. 4 M5 csavarral csavarja a tengelytámaszt a forgó alapra
  7. A második szervót forró ragasztóval rögzítse a tartóhoz
  8. Csúsztassa a kamerát a csapokra
  9. Rögzítse az ultrahangos távolságérzékelőt a tartóhoz csavarozással vagy forró ragasztással
  10. Csatlakoztassa a kamera / érzékelő tartóját a tengelytámaszhoz, a szervónak ismét be kell csúsznia a csatlakozóba
  11. A Servo csavarral rögzítse a csatlakozót a Servo -hoz
  12. Csavarja a Raspberry Pi -t és a szervo meghajtót egy rétegelt lemezre (Győződjön meg róla, hogy a távolság megegyezik az L alap lyukaival)
  13. Csavarja a Face komponenst az állványokra M5 csavarokkal

Tükör alkatrész

  1. Kövesse az 1-7. Lépéseket
  2. Csatlakoztassa a tükröt a tengelytámaszhoz
  3. Ragasszon egy tükörállványt rétegelt lemezre, hogy a Tükör és az Arc alkatrészek egy vonalban legyenek
  4. Csavarja a tükör alkatrészt az állványra M5 csavarokkal

Fénykomponens

  1. Kövesse fentről az 1-7. Lépéseket
  2. Fűzze át a fényérzékelőket az árnyékoló kereszt alján található rögzítő lyukakon
  3. Csatlakoztassa az árnyékoló keresztet a tengelytámaszhoz, a szervónak ismét be kell csúsznia a csatlakozódarabba
  4. A Servo csavarral rögzítse a csatlakozót a Servo -hoz
  5. Ragasszon egy állványt rétegelt lemezre úgy, hogy a Fény, a Tükör és az Arc komponensek illeszkedjenek, és a Tükör az Arc és a Fény komponensek között legyen
  6. Csavarja a Face komponenst az állványokra M5 csavarokkal

*Valamennyi alkatrész a toronyhoz is csatlakoztatható, kérjük, vegye figyelembe a megnövelt kódolási és huzalozási bonyolultságot, valamint a nyomtatási időt. Ha használni szeretné a tornyot, akkor használja a Base M részt az Alap L helyett az Arc komponenshez, és csavarja az alaprészeket a toronyhoz a fűzőlyukak és az M5 csavarok segítségével.

4. lépés: 4. lépés: Konfigurálja a táblákat

4. lépés: Konfigurálja a táblákat
4. lépés: Konfigurálja a táblákat
4. lépés: Konfigurálja a táblákat
4. lépés: Konfigurálja a táblákat
4. lépés: Konfigurálja a táblákat
4. lépés: Konfigurálja a táblákat

Itt található a három alkatrész bekötési rajza. A napkövető saját hurokként működik az Arduino -n, és szervo pozícióit elküldi a Rasberry Pi -nek a soros USB porton keresztül. Egy opcionális távolságérzékelő csatlakoztatható a pan/billenő piCamera elejéhez, hogy robusztusabb háromszögelést hozzon létre a célpontról. Itt egyenes vonalban sorakoztatjuk fel őket, és csak átlagoljuk a vektorokat, így nem szükséges.

Négy szervó csatlakozik a PCA9685 szervo meghajtóhoz, amelyet külső 5 V -os tápegység táplál. A szervók közül kettő vezérli az arckövető kamera serpenyőjét és döntését, míg a többi kettő a serpenyőt és a tükröt dönt.

5. lépés: A kód:

A kód
A kód

A projekt kódja két részre bontható: az Arduino fénykövető kódra és a python arckövető/tükrös pozícionáló kódra.

Arduino kód:

Ez a kód a geobruce napkövetési projektjének kissé módosított változata. Kiváló referencia a napkollektoros komponensről való további tájékozódáshoz, és további részleteket ezen az útmutató oldalon talál. A fényerősség értékeit a 4 fotóellenállásból vesszük és átlagoljuk, hogy megtaláljuk a legfényesebb területet, és ennek megfelelően állítsuk be a szervókat. Ezután kiírjuk a szervo szög értékeit a soros portra.

Python kód:

Ez a kód integrálja a nyitott CV -t az arckövető serpenyő billenési mechanizmusának létrehozásához, valamint a tükör szervóit hajtja meg. Néhány lépést meg kell tennie a nyílt önéletrajz letöltéséhez a Raspberry pi -re. Sok forrás létezik erre, de nagyon tetszik a pyimagesearch. Ennek a folyamatnak a teljes leírását itt találja. Megjegyzés: Letöltöttük a nyitott önéletrajz -könyvtárakat egy virtuális környezetbe, amelyen az összes kódot futtatjuk. Ha úgy dönt, hogy ezt megteszi, győződjön meg arról, hogy minden függőséget letölt a virtuális környezetbe, amelyen a programot futtatja, és nem maga a Pi.

Miután letöltötte a nyílt önéletrajzot, ennek a kódnak a futtatásához további függőségekre is szükség lesz (telepítve az adott környezetben):

  • Adafruit ServoKit: A málna Pi -n történő letöltés folyamatának teljes oldala itt található.
  • imutils
  • szar
  • gpiozero (ha távolságérzékelőt használ)

Az arckövetéshez a szkriptnek szüksége van egy argumentumra (--faces), amely egy.xml fájl, amelyet az openCv használ az arcok megkereséséhez. Ezt a fájlt ugyanabba a könyvtárba kell helyeznie, mint a python parancsfájlt. A letöltésekben megadtam, és itt is megtalálható.

6. lépés: A kód futtatása

A kód futtatása
A kód futtatása
A kód futtatása
A kód futtatása

Miután letöltötte az összes kódot ugyanabba a könyvtárba, és beállította a virtuális környezetet nyílt önéletrajzzal, készen áll a futtatására.

  1. Nyissa meg a parancssort a pi -n
  2. Gépelje be a workon cv fájlt (vagy a virtuális környezethez választott nevet)
  3. Változtassa meg a könyvtárat arra a helyre, ahol a fájlokat tárolta (cd (fájlok elérési útja))
  4. Az utolsó sor futtatja a programot és specifikálja a haar kaszkád fájlt. (python Face3.py -arcok haarcascade_frontalface_default.xml)

Amikor futtatja, látnia kell a képernyőn egy videófolyamot a pikamból, és a parancssor elkezdi nyomtatni a szervoértékeket mind a hat szervóból.

És kész! A szervók minőségétől függően érdemes kalibrálni mindegyiket, hogy javítsa a rendszer pontosságát. Végül az összes PWM tartományt módosítanunk kellett, hogy megfelelően működjenek.

Ajánlott: