Innholdsfortegnelse:

UT: 6 trinn
UT: 6 trinn

Video: UT: 6 trinn

Video: UT: 6 trinn
Video: Как зашить ДЫРКУ на куртке, джинсах, штанах, носке, футболке, чтобы не было видно 2024, Juli
Anonim
AU
AU
AU
AU

Ouch er din personlige Omnidirectional Useless Cataract Helper. Ettersom ansiktsgjenkjenning treffer Zeitgeist, treffer OUCH deg! OUCH vet ikke bare hvordan du ser ut, det vet også hvordan du skal være veldig irriterende! I motsetning til storebror er denne maskinen veldig synlig og oppfyller bare ett formål: Å gjøre livet ditt litt flinkere. Har du noen gang glemt solbrillene hjemme og blitt overrasket av en lys refleksjon? OUCH lar deg gjenoppleve dette øyeblikket igjen og igjen. Ved å reflektere lys fra den klareste lyskilden rundt deg rett i ansiktet ditt, vil det sørge for at du ikke vil nyte et eneste øyeblikk rundt det.

Se opp, eller OUCH kan være det siste du noen gang vil se!

Prosjektet ble gjennomført som en del av seminaret Computational Design and Digital Fabrication i ITECH masterprogrammet.

August Lehrecke | Max Zorn

Rekvisita

Elektroniske deler:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x fotoresistorer
    • 4x 10k motstander
    • 2x potensiometre
    • 1x USB -skriverkabel

Bringebær Pi

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-kanals 12-biters PWM-servodriver
    • 5v DC ekstern strømforsyning
    • 1x Rasberry Pi 5.1V - 3Amp strømforsyning (eller ekstern tilsvarende)
    • 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 Ohm motstand
    • 1x 320 Ohm motstand

3D -trykte deler:

UM kommer i forskjellige former og størrelser. For denne versjonen brukte vi en 3D -skriver for å skrive ut tilpassede mekanismer.

  • 4 x stativ
  • 2 x Base S
  • 1 x Base L
  • 2 x Dobbel rotasjonsbase
  • 1 x rotasjonsbase enkelt
  • 1 x sett med aksestøtte S
  • 1 x sett med aksestøtte M
  • 1 x sett med aksestøtte L
  • 1 x kamerafeste
  • 1 x lysfeste
  • 1 x speilfeste

Alternativt kan du bruke det medfølgende Tower -designet, for å mene komponentene til:

  • 1 x tårn (i stedet for 4 x stativ)
  • 1 x Base S & 1x Base M (i stedet for 2 x Base S)

Andre deler:

  • Mylar
  • 1 x gummibånd
  • 1 x glidelås
  • 12 M5 x 160 flatskruer
  • 2 M5 x 80 flatskruer

Verktøy:

  • 3D -skriver
  • H3.0 Skrutrekker
  • Varm limpistol

Trinn 1: Trinn 1: Skrive ut delene

Hvis du har tilgang til en 3D -skriver, kan du skrive ut tilpassede mekanismer for å huse servoene og montere de tre hovedkomponentene.

For Face -komponenten trenger vi:

  • 2 x stativ
  • 1 x Base L
  • 1 x Dobbel roterende base
  • 1 x sett med aksestøtte M
  • 1 x Kamera- og avstandssensorfeste

Light -komponenten krever:

  • 1 x stativ
  • 1 x Base S
  • 1 x Dobbel roterende base
  • 1 x sett med aksestøtte S
  • 1 x lysfeste

Speilkomponentene består av følgende:

  • 1 x stativ
  • 1 x Base S
  • 1 x roterende base singel
  • 1 x sett med aksestøtte L
  • Speilfeste

Til slutt kan du også skrive ut det medfølgende tårnet.

Hvis du vil bruke den som basis for alle tre komponentene, må du justere vektormatematikken i koden tilsvarende. Koble deretter Face -komponenten med Base M i stedet for Base L til tårnet.

Trinn 2: Trinn 2: Lag speilet

Trinn 2: Lag speilet
Trinn 2: Lag speilet
Trinn 2: Lag speilet
Trinn 2: Lag speilet

For å lage din egen speilkomponent, kutt et sirkelformet stykke Mylar og legg det på toppen av den 3D -trykte speildelen. Deretter bruker du først et gummibånd for å fikse det på plass. Gummibåndet skal passe inne i sporet rundt komponenten. Bruk deretter en glidelås for å sikre forbindelsen forsiktig, ikke stram den for mye, ennå. Nå kan du begynne å strekke Mylar til du får en skinnende, speilende overflate. Stram til slutt glidelåsen og nyt refleksjonen av det vakre ansiktet ditt!

Trinn 3: Trinn 3: Montering av komponentene

Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene
Trinn 3: Montering av komponentene

Ansiktskomponent

  1. Varm lim neven Servo i henhold til utskjæringen på den roterende basen
  2. Lim servokontakten inn i sporet, som ligger nederst på bunndelen
  3. Sett de to basedelene sammen, slik at servoen låser kontakten
  4. Bruk servoskruen for å feste kontakten til servoen
  5. Varm lim det andre kontaktstykket inn i det tilhørende sporet, plassert på toppen av aksestøtten
  6. Bruk 4 M5 bolter til å skru aksestøtten til den roterende basen
  7. Varm lim den andre servoen til festet
  8. Skyv kameraet på pinnene
  9. Fest ultralydavstandssensoren til festet, enten via skruing eller varmliming
  10. Koble kamera / sensorfestet til aksestøtten, Servoen må igjen gli inn i kontaktstykket
  11. Bruk servoskruen for å feste kontakten til servoen
  12. Skru Raspberry Pi og servodriveren til et stykke kryssfiner (Pass på at avstanden stemmer overens med hullene på Base L)
  13. Skru Face -komponenten til stativene med M5 -bolter

Speilkomponent

  1. Følg trinn 1 til 7
  2. Koble speilet til aksestøtten
  3. Lim et speilstativ til kryssfiner, slik at Mirror og Face -komponenten er justert
  4. Skru speilkomponenten til stativet med M5 -bolter

Lett komponent

  1. Følg trinn 1 til 7 ovenfra
  2. Tre lyssensorene gjennom monteringshullene nederst på skyggekorset
  3. Koble skyggekrysset til aksestøtten, Servoen må igjen gli inn i kontaktstykket
  4. Bruk servoskruen for å feste kontakten til servoen
  5. Lim et stativ på kryssfiner, slik at komponenten Light, Mirror og Face er justert og Mirror er mellom Face og Light -komponentene
  6. Skru Face -komponenten til stativene med M5 -bolter

*Alle komponenter kan også festes til tårnet. Vær imidlertid oppmerksom på den økte kompleksiteten i koding og ledninger og utskriftstiden. Hvis du vil bruke tårnet, bruker du Base M -delen i stedet for Base L for Face -komponenten og skruer Base -delene til tårnet ved hjelp av øyelokkene og M5 -boltene.

Trinn 4: Trinn 4: Konfigurer brettene

Trinn 4: Konfigurer brettene
Trinn 4: Konfigurer brettene
Trinn 4: Konfigurer brettene
Trinn 4: Konfigurer brettene
Trinn 4: Konfigurer brettene
Trinn 4: Konfigurer brettene

Her er koblingsskjemaet for de tre komponentene. Solsporeren fungerer på sin egen sløyfe på Arduino og sender sine servoposisjoner til Rasberry Pi via den serielle USB -porten. En valgfri avstandssensor kan kobles til forsiden av pan/tilt piCamera for å skape en mer robust triangulering av målet. Her vil vi stille dem opp i en rett linje og bare gjennomsnittsvektorene slik at det ikke er nødvendig.

Fire servoer er koblet til PCA9685 servodriveren som drives av en ekstern 5v strømforsyning. To av servoene styrer pan og tilt for ansiktssporingskameraet, mens de resterende to kontrollerer pan og tilt for speilet.

Trinn 5: Koden:

Koden
Koden

Koden for dette prosjektet kan deles inn i to deler: Arduino light-tracking-koden og python face tracking/mirror positioning code.

Arduino -kode:

Denne koden er en litt modifisert versjon av solsporingsprosjektet fra geobruce. Det er en flott referanse for å finne ut mer om solsporingskomponenten, og flere detaljer finner du på denne instruksjonssiden. Lysintensitetsverdier tas fra de 4 fotomotstandene og gjennomsnittet for å finne det lyseste området og justere servoene deretter. Vi skriver deretter ut servovinkelverdiene til serieporten.

Python -kode:

Denne koden integrerer åpen CV for å lage en ansiktssporingspanel vippemekanisme samt driver servoene til speilet. Du må gå gjennom noen trinn for å laste ned åpen CV på Raspberry pi. Det er mange ressurser for dette, men jeg liker veldig godt den fra pyimagesearch. En fullstendig gjennomgang av denne prosessen finner du her. Merk: Vi har lastet ned de åpne CV -bibliotekene til et virtuelt miljø som vi kjører hele koden på. Hvis du bestemte deg for å gjøre dette, må du laste ned alle avhengighetene til det virtuelle miljøet du kjører programmet på og ikke selve Pi.

Når du har lastet ned åpen CV, vil denne koden også kreve noen flere avhengigheter (installert på det spesifikke miljøet du kjører) for å kjøre:

  • Adafruit ServoKit: En hel side om prosessen for nedlasting på bringebær Pi finner du her.
  • imutils
  • numpy
  • gpiozero (hvis du bruker avstandssensor)

For ansiktssporing krever skriptet et argument (--faces) som er en.xml-fil som openCv bruker for å finne ansikter. Du må sette denne filen i samme katalog som python -skriptet. Jeg har gitt den i nedlastningene, og den kan også bli funnet her.

Trinn 6: Kjøre koden

Kjører koden
Kjører koden
Kjører koden
Kjører koden

Når du har lastet ned all koden i den samme katalogen og konfigurert det virtuelle miljøet med åpen CV, er du klar til å kjøre den.

  1. Åpne ledeteksten på pi -en din
  2. Skriv inn workon cv (eller hvilket navn du valgte for ditt virtuelle miljø)
  3. Endre katalogen der du har filene dine lagret (cd (sti til filer))
  4. Den siste linjen kjører programmet og spesifiserer haar cascade -filen. (python Face3.py --faces haarcascade_frontalface_default.xml)

Når du kjører den, bør du se en videostrøm fra picam dukke opp på skjermen, og ledeteksten begynner å skrive ut servoverdiene fra alle seks servoer.

Og du er ferdig! Avhengig av kvaliteten på servoene du har, kan det være lurt å kalibrere dem hver for seg for å forbedre systemets nøyaktighet. Vi endte opp med å måtte justere alle PWM -områdene for at de skulle fungere skikkelig.

Anbefalt: