Sadržaj:

OUCH: 6 koraka
OUCH: 6 koraka

Video: OUCH: 6 koraka

Video: OUCH: 6 koraka
Video: Урок № 6: «Изхар» (إِظْهَار) Ясное чтение / 1-ое правило Нун-Сакина и Танвина 2024, Studeni
Anonim
JAČE
JAČE
OH
OH

Joj, vaš je osobni svekoliki beskorisni pomoćnik za kataraktu. Dok prepoznavanje lica pogađa Zeitgeist, OUCH pogađa vas! OUCH ne samo da zna kako izgledate, već također zna biti i jako dosadan! Za razliku od velikog brata, ovaj stroj je vrlo vidljiv i ispunjava samo jednu svrhu: učiniti vaš život sitnijim. Jeste li ikada zaboravili sunčane naočale kod kuće i iznenadili vas svijetlim odsjajem? OUCH vam omogućuje da iznova proživljavate ovaj trenutak. Odbijajući svjetlost iz najsvjetlijeg izvora svjetlosti oko sebe ravno u vaše lice, pobrinut ćete se da nećete uživati niti u jednom trenutku oko nje.

Pazite, ili će OUCH biti posljednje što ćete vidjeti!

Projekt je proveden u sklopu seminara Računalno projektiranje i digitalna izrada u master programu ITECH.

August Lehrecke | Max Zorn

Pribor

Elektronički dijelovi:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x fotootpornici
    • 4x 10k otpornici
    • 2x potenciometra
    • 1x USB kabel pisača

Malina Pi

  • Rasberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-kanalni 12-bitni PWM servo upravljački program
    • 5v DC vanjsko napajanje
    • 1x napajanje Rasberry Pi 5.1V - 3Amp (ili vanjski ekvivalent)
    • 1x MAKERFAKTORIJA HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 Ohm otpornik
    • 1x 320 Ohm otpornik

3D ispisani dijelovi:

OUCH dolaze u različitim oblicima i veličinama. Za ovu verziju koristili smo 3D pisač za ispis prilagođenih mehanizama.

  • 4 x Stalak
  • 2 x Baza S
  • 1 x Baza L
  • 2 x Rotacijska baza Double
  • 1 x Rotacijska baza Single
  • 1 x Set nosača osi S
  • 1 x Set nosača osi M
  • 1 x Set nosača osi L
  • 1 x Nosač kamere
  • 1 x svjetlosni nosač
  • 1 x Nosač ogledala

Po želji možete upotrijebiti priloženi dizajn tornja kako biste komponente izmjerili na:

  • 1 x toranj (umjesto 4 x postolje)
  • 1 x Baza S & 1x Baza M (umjesto 2 x Baza S)

Ostali dijelovi:

  • Mylar
  • 1 x gumica
  • 1 x kravata s patentnim zatvaračem
  • 12 vijaka s ravnom glavom M5 x 160
  • 2 vijka M5 x 80 s ravnom glavom

Alati:

  • 3D pisač
  • Odvijač H3.0
  • Pištolj za vruće ljepilo

Korak 1: Korak 1: Ispis dijelova

Ako imate pristup 3D pisaču, možete ispisati prilagođene mehanizme za smještaj servomotora i montiranje tri glavne komponente.

Za komponentu Face potrebno nam je:

  • 2 x stalci
  • 1 x Baza L
  • 1 x Rotirajuća baza Double
  • 1 x Set nosača osi M
  • 1 x Nosač kamere i senzora udaljenosti

Svjetlosna komponenta zahtijeva:

  • 1 x Stalak
  • 1 x Baza S
  • 1 x Rotirajuća baza Double
  • 1 x Set nosača osi S
  • 1 x svjetlosni nosač

Komponente ogledala sastoje se od sljedećeg:

  • 1 x Stalak
  • 1 x Baza S
  • 1 x Rotirajuća baza Single
  • 1 x Set nosača osi L
  • Nosač ogledala

Na kraju, također možete ispisati priloženi toranj.

Ako ga želite koristiti kao bazu za sve tri komponente, morat ćete prema tome prilagoditi vektorsku matematiku u kodu. Nadalje, spojite komponentu Face s bazom M umjesto baze L na toranj.

Korak 2: Korak 2: Izrada zrcala

Korak 2: Izrada ogledala
Korak 2: Izrada ogledala
Korak 2: Izrada ogledala
Korak 2: Izrada ogledala

Za izradu vlastite komponente Mirror, izrežite kružni komad Mylara i stavite ga na 3D dio zrcala. Zatim prvo pomoću gumene trake pričvrstite na mjesto. Gumena traka treba stati unutar utora oko komponente. Zatim pomoću patentnog zatvarača nježno učvrstite vezu, nemojte je još previše zatezati. Sada možete započeti rastezanje Mylara sve dok ne dobijete sjajnu, zrcalnu površinu. Na kraju, stegnite kravatu s patentnim zatvaračem i uživajte u odrazu vašeg prekrasnog lica!

Korak 3: Korak 3: Sastavljanje komponenti

Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti
Korak 3: Sastavljanje komponenti

Komponenta za lice

  1. Vruće zalijepite Servo šaku u odgovarajući izrez na rotirajućoj podlozi
  2. Zalijepite servo konektor u utor koji se nalazi na dnu osnovnog dijela
  3. Spojite dva osnovna dijela tako da se Servo spoji s konektorom
  4. Pomoću servo vijka pričvrstite priključak na servo
  5. Vruće zalijepite drugi dio spojnice u odgovarajući utor, koji se nalazi na vrhu osnog nosača
  6. Pomoću 4 vijka M5 pričvrstite osni os na rotirajuću podlogu
  7. Drugi servo vruće zalijepite na držač
  8. Gurnite kameru na iglice
  9. Pričvrstite ultrazvučni senzor udaljenosti na držač, bilo pomoću vijka ili vrućim lijepljenjem
  10. Spojite nosač kamere / senzora na osnu potporu, servo opet mora ući u priključak
  11. Pomoću servo vijka pričvrstite konektor na servo
  12. Pričvrstite Raspberry Pi i servo upravljač na komad šperploče (Pazite da razmak odgovara rupama baze L)
  13. Pričvrstite komponentu Face na postolja, pomoću vijaka M5

Komponenta ogledala

  1. Slijedite korake od 1 do 7
  2. Spojite Ogledalo na os oslonca
  3. Zalijepite stalak za ogledalo na šperploču, tako da su komponenta Ogledalo i Lice poravnane
  4. Pričvrstite zrcalnu komponentu na postolje, pomoću vijaka M5

Svjetlosna komponenta

  1. Slijedite gore navedene korake 1 do 7
  2. Provucite svjetlosne senzore kroz montažne rupe na dnu križa za zasjenjivanje
  3. Spojite križ za zasjenjivanje na os oslonaca, servo opet mora ući u dio spojnice
  4. Pomoću servo vijka pričvrstite priključak na servo
  5. Zalijepite stalak na šperploču tako da se svjetlo, zrcalo i komponenta lica poravnaju, a zrcalo između komponenti lica i svjetla
  6. Pričvrstite komponentu Face na postolja, pomoću vijaka M5

*Sve komponente također se mogu pričvrstiti na toranj, ali razmislite o povećanoj složenosti kodiranja i ožičenja i vremenu ispisa. Ako želite koristiti toranj, upotrijebite dio baze M umjesto baze L za komponentu lica i pričvrstite dijelove osnove na toranj pomoću ušica i vijaka M5.

Korak 4: Korak 4: Konfigurirajte ploče

Korak 4: Konfigurirajte ploče
Korak 4: Konfigurirajte ploče
Korak 4: Konfigurirajte ploče
Korak 4: Konfigurirajte ploče
Korak 4: Konfigurirajte ploče
Korak 4: Konfigurirajte ploče

Ovdje je dijagram ožičenja za tri komponente. Tragač za sunce djeluje na vlastitu petlju na Arduinu i šalje svoje servo položaje na Rasberry Pi putem serijskog USB priključka. Dodatni senzor udaljenosti može se priključiti na prednju stranu kamere za pomicanje/naginjanje kako bi se stvorila robusnija triangulacija cilja. Ovdje ćemo ih poredati u ravnu liniju i samo usrednjavati vektore pa to nije potrebno.

Četiri servo pogona spojena su na servo upravljački program PCA9685 koji se napaja vanjskim napajanjem od 5 V. Dva servo upravljača upravljaju pomicanjem i nagibom kamere za praćenje lica, dok preostala dva upravljaju pomicanjem i nagibom zrcala.

Korak 5: Kôd:

Kod
Kod

Kôd za ovaj projekt može se podijeliti na dva dijela: Arduino kôd za praćenje svjetla i kôd za pozicioniranje zrcala python lica.

Arduino kod:

Ovaj kôd je malo izmijenjena verzija projekta praćenja sunca iz geobrucea. To je sjajna referenca za saznanje više o komponenti za praćenje Sunca, a više detalja možete pronaći na ovoj stranici s uputama. Vrijednosti intenziteta svjetlosti preuzimaju se iz 4 foto-otpornika i prosječno se pronalaze najsvjetlije područje i u skladu s tim prilagođavaju servomotori. Zatim zapisujemo vrijednosti kutova servo u serijski port.

Python kod:

Ovaj kôd integrira otvoreni životopis radi stvaranja mehanizma za naginjanje lica s praćenjem lica, kao i pokreće servo pogone za ogledalo. Morat ćete proći neke korake za preuzimanje otvorenog životopisa na svoj Raspberry pi. Za to postoji mnogo resursa, ali jako mi se sviđa onaj od pyimagesearch. Potpuni pregled ovog procesa možete pronaći ovdje. Napomena: Preuzeli smo otvorene biblioteke životopisa u virtualno okruženje u kojem pokrećemo sav kôd. Ako ste to odlučili, svakako preuzmite sve ovisnosti u virtualno okruženje na kojem pokrećete program, a ne sam Pi.

Nakon što preuzmete otvoreni životopis, ovaj će kôd zahtijevati i dodatne ovisnosti (instalirane na određenom okruženju koje pokrećete) za pokretanje:

  • Adafruit ServoKit: Cijelu stranicu o procesu preuzimanja na malini Pi možete pronaći ovdje.
  • imutili
  • numpy
  • gpiozero (ako koristite senzor udaljenosti)

Za praćenje lica, skripta zahtijeva argument (--faces) koji je.xml datoteka koju openCv koristi za pronalaženje lica. Morat ćete staviti ovu datoteku u isti direktorij kao i python skripta. Naveo sam ga u preuzimanjima, a može se pronaći i ovdje.

Korak 6: Pokretanje koda

Pokretanje koda
Pokretanje koda
Pokretanje koda
Pokretanje koda

Nakon što preuzmete sav kôd u isti direktorij i postavite virtualno okruženje s otvorenim životopisom, spremni ste za njegovo pokretanje.

  1. Otvorite naredbeni redak na svom pi
  2. Upišite workon cv (ili bilo koje ime koje ste odabrali za svoje virtualno okruženje)
  3. Promijenite direktorij u mjesto gdje imate spremljene datoteke (cd (put do datoteka))
  4. Posljednji redak pokreće program i navodi haar kaskadnu datoteku. (python Face3.py -lica haarcascade_frontalface_default.xml)

Kada ga pokrenete, trebali biste vidjeti video stream s picama koji će se pojaviti na zaslonu, a naredbeni redak počet će ispisivati vrijednosti servo iz svih šest servo pogona.

I gotovi ste! Ovisno o kvaliteti servosistema koje imate, možda ćete ih htjeti posebno kalibrirati kako biste poboljšali točnost vašeg sustava. Na kraju smo morali prilagoditi sve raspone PWM -a kako bi ispravno radili.

Preporučeni: