Cuprins:
- Provizii
- Pasul 1: Pasul 1: Tipărirea pieselor
- Pasul 2: Pasul 2: Realizarea oglinzii
- Pasul 3: Pasul 3: Asamblarea componentelor
- Pasul 4: Pasul 4: Configurați plăcile
- Pasul 5: Codul:
- Pasul 6: Rularea codului
Video: OUCH: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Ouch este ajutorul tău personal pentru omnidirecțional inutil pentru cataractă. Pe măsură ce recunoașterea facială lovește Zeitgeist-ul, OUCH te lovește! OUCH nu doar știe cum arăți, ci știe și să fie foarte enervant! Spre deosebire de fratele mai mare, această mașină este foarte vizibilă și îndeplinește un singur scop: de a-ți face viața un pic mai shittier. Ți-ai uitat vreodată ochelarii de soare acasă și ai fost surprins de o reflexie strălucitoare? OUCH vă permite să retrăiți acest moment din nou și din nou. Reflectând lumina de la cea mai strălucitoare sursă de lumină din jurul tău direct în față, te va asigura că nu te vei bucura niciun moment în jurul ei.
Ferește-te, sau OUCH ar putea fi ultimul lucru pe care îl vei vedea vreodată!
Proiectul a fost realizat ca parte a seminarului Computațional de proiectare și fabricare digitală din cadrul programului de masterat ITECH.
August Lehrecke | Max Zorn
Provizii
Parți electronice:
Arduino
-
Arduino UNO
- 2x Reely Mini-Servo S0009
- 4x fotorezistoare
- 4x rezistențe de 10k
- 2x potențiometre
- 1x cablu de imprimantă USB
Raspberry Pi
-
Rasberry Pi 4
- 1x RaspiCam
- 4x Reely Mini-Servo S0009
- 1x PCA9685 16-Channel PWM Servo Driver
- Sursă de alimentare externă 5V DC
- 1x sursa de alimentare Rasberry Pi 5.1V - 3Amp (sau echivalent extern)
- 1x senzor cu ultrasunete MAKERFACTORY HC-SR05 (MF-6402156)
- 1x rezistor de 470 Ohm
- 1x rezistor de 320 Ohm
Piese imprimate 3D:
OUCH vine în diferite forme și dimensiuni. Pentru această versiune, am folosit o imprimantă 3D pentru a imprima mecanisme personalizate.
- 4 x Stand
- 2 x Baza S
- 1 x Baza L
- 2 x Baza de rotație dublă
- 1 x bază de rotație simplă
- 1 x Set Axis Support S
- 1 x Set de suport Axis M
- 1 x set de suport Axis L
- 1 x Suport pentru cameră
- 1 x montaj luminos
- 1 x Suport oglindă
Opțional, puteți utiliza designul Tower furnizat, pentru a combina componentele la:
- 1 x Turn (în loc de 4 x Stand)
- 1 x bază S și 1x bază M (în loc de 2 x bază S)
Alte părți:
- Mylar
- 1 x bandă de cauciuc
- 1 x cravată cu fermoar
- 12 șuruburi cu cap plat M5 x 160
- 2 șuruburi cu cap plat M5 x 80
Instrumente:
- imprimantă 3d
- H3.0 Șurubelniță
- Hot Glue Gun
Pasul 1: Pasul 1: Tipărirea pieselor
Dacă aveți acces la o imprimantă 3D, puteți imprima mecanisme personalizate pentru a găzdui Servo-urile și pentru a monta cele trei componente principale.
Pentru componenta Face, avem nevoie de:
- 2 x suporturi
- 1 x Baza L
- 1 x bază rotativă dublă
- 1 x Set de suport Axis M
- 1 x Suport senzor pentru cameră și distanță
Componenta Light necesită:
- 1 x Stand
- 1 x Baza S
- 1 x bază rotativă dublă
- 1 x Set Axis Support S
- 1 x montaj luminos
Componentele Mirror constau din următoarele:
- 1 x Stand
- 1 x Baza S
- 1 x bază rotativă simplă
- 1 x set de suport Axis L
- Muntele oglinzii
În cele din urmă, puteți imprima și turnul furnizat.
Dacă doriți să-l utilizați ca bază pentru toate cele trei componente, va trebui să ajustați matematica vectorială în cod în consecință. Mai mult, conectați componenta feței cu baza M în loc de baza L la turn.
Pasul 2: Pasul 2: Realizarea oglinzii
Pentru a vă crea propria componentă Mirror, tăiați o bucată circulară de Mylar și așezați-o deasupra părții oglinzii imprimate 3D. Apoi folosiți mai întâi o bandă de cauciuc pentru a o fixa în poziție. Banda de cauciuc trebuie să se potrivească în interiorul canelurii din jurul componentei. Apoi utilizați o cravată cu fermoar pentru a asigura ușor conexiunea, nu o strângeți încă prea mult. Acum puteți începe să întindeți Mylar până când veți obține o suprafață strălucitoare, în oglindă. În cele din urmă, strângeți cravata cu fermoar și bucurați-vă de reflexia feței dvs. frumoase!
Pasul 3: Pasul 3: Asamblarea componentelor
Componenta feței
- Lipiți fierbinte pumnul Servo în decupajul corespunzător al bazei rotative
- Lipiți conectorul Servo în canelură, situat în partea de jos a piesei de bază
- Puneți cele două părți de bază împreună, astfel încât Servo-ul să se blocheze cu conectorul
- Folosiți șurubul Servo-ului pentru a fixa conectorul pe Servo
- Lipiți a doua piesă a conectorului în canelura corespunzătoare, situată în partea superioară a suportului axei
- Folosiți 4 șuruburi M5 pentru a înșuruba suportul axei la baza rotativă
- Adeziv fierbinte al doilea Servo pe suport
- Glisați camera pe știfturi
- Atașați senzorul de distanță cu ultrasunete la suport, fie prin înșurubare, fie prin lipire la cald
- Conectați suportul camerei / senzorului la suportul axei, Servo-ul trebuie să alunece din nou în piesa conectorului
- Folosiți șurubul Servo-ului pentru a fixa conectorul pe Servo
- Înșurubați Raspberry Pi și servo-driverul pe o bucată de placaj (Asigurați-vă că distanța se potrivește cu găurile bazei L)
- Înșurubați componenta față la standuri, folosind șuruburi M5
Componenta oglindă
- Urmați pașii de la 1 la 7
- Conectați oglinda la suportul axei
- Lipiți un suport pentru oglindă pe placaj, astfel încât componenta oglindă și față să fie aliniate
- Înșurubați componenta oglindă pe suport, folosind șuruburi M5
Componenta luminoasa
- Urmați pașii de la 1 la 7 de mai sus
- Infilați senzorii de lumină prin orificiile de montare din partea de jos a crucii de umbrire
- Conectați crucea de umbrire la suportul axei, Servo-ul trebuie să alunece din nou în piesa conectorului
- Folosiți șurubul Servo-ului pentru a fixa conectorul pe Servo
- Lipiți un suport pe placaj, astfel încât componenta Light, Mirror și Face să fie aliniate și oglinda să fie între componentele Face și Light
- Înșurubați componenta față la standuri, folosind șuruburi M5
* Toate componentele ar putea fi, de asemenea, atașate la turn, vă rugăm să luați în considerare complexitatea sporită de codare și cablare și timpul de imprimare. Dacă doriți să utilizați turnul, utilizați partea de bază M în loc de baza L pentru componenta față și înșurubați piesele de bază la turn folosind ochiurile și șuruburile M5.
Pasul 4: Pasul 4: Configurați plăcile
Iată schema de conectare a celor trei componente. Sun tracker-ul acționează pe propria buclă pe Arduino și își trimite pozițiile servo către Rasberry Pi prin portul USB serial. Un senzor de distanță opțional poate fi conectat la partea din față a camerei pi / tilt piCamera pentru a crea o triangulare mai robustă a țintei. Aici îi vom alinia în linie dreaptă și vom face doar o medie a vectorilor, astfel încât să nu fie necesară.
Patru servouri sunt conectate la servo-driverul PCA9685 care este alimentat de o sursă de alimentare externă de 5v. Două dintre servome controlează panoramarea și înclinarea pentru camera de urmărire a feței, în timp ce celelalte două controlează panoramarea și înclinarea pentru oglindă.
Pasul 5: Codul:
Codul pentru acest proiect poate fi împărțit în două părți: Codul de urmărire a luminii Arduino și codul de urmărire a feței python / poziționare în oglindă.
Cod Arduino:
Acest cod este o versiune ușor modificată a proiectului de urmărire solară de la geobruce. Este o referință excelentă pentru a afla mai multe despre componenta de urmărire solară și mai multe detalii puteți găsi pe această pagină instructabile. Valorile intensității luminii sunt luate de la cele 4 foto-rezistoare și mediate pentru a găsi cea mai strălucitoare zonă și pentru a regla servo-urile în consecință. Apoi scriem valorile servo unghiului în portul serial.
Cod Python:
Acest cod integrează CV deschis pentru a crea un mecanism de înclinare panoramică de urmărire a feței, precum și pentru a conduce servomotoarele pentru oglindă. Va trebui să parcurgeți câțiva pași pentru a descărca CV-ul deschis pe Raspberry pi. Există multe resurse pentru asta, dar îmi place foarte mult cea de la pyimagesearch. O plimbare completă a acestui proces poate fi găsită aici. Notă: Am descărcat bibliotecile CV deschise într-un mediu virtual pe care rulăm tot codul, dacă ați decis să faceți acest lucru, asigurați-vă că descărcați toate dependențele în mediul virtual pe care rulați programul și nu Pi în sine.
După ce ați descărcat CV-ul deschis, acest cod va necesita și alte dependențe (instalate în mediul specific pe care îl executați) pentru a rula:
- Adafruit ServoKit: O pagină completă despre procesul de descărcare pe raspberry Pi poate fi găsită aici.
- imutile
- neclintit
- gpiozero (dacă utilizați senzorul de distanță)
Pentru urmărirea feței, scriptul necesită un argument (--faces) care este un fișier.xml pe care openCv îl folosește pentru a găsi fețe. Va trebui să puneți acest fișier în același director cu scriptul python. L-am furnizat în descărcări și poate fi găsit și aici.
Pasul 6: Rularea codului
După ce ați descărcat tot codul în același director și ați configurat mediul virtual cu CV deschis, sunteți gata să îl rulați.
- Deschideți promptul de comandă de pe pi
- Tastați workon cv (sau oricare nume ați ales pentru mediul dvs. virtual)
- Schimbați directorul în locul în care aveți fișierele stocate (cd (calea către fișiere))
- Ultima linie rulează programul și specifică fișierul cascadă haar. (Python Face3.py --faces haarcascade_frontalface_default.xml)
Când îl rulați, ar trebui să vedeți pe ecran un flux video din picam și promptul de comandă va începe să tipărească valorile servo din toate cele șase servouri.
Și ai terminat! În funcție de calitatea serviciilor pe care le aveți, vă recomandăm să le calibrați în mod specific pentru a îmbunătăți acuratețea sistemului. Am ajuns să trebuiască să modificăm toate gamele PWM pentru ca acestea să funcționeze corect.
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?