Kazalo:
- Zaloge
- 1. korak: 1. korak: Tiskanje delov
- 2. korak: 2. korak: Izdelava ogledala
- 3. korak: 3. korak: Sestavljanje komponent
- 4. korak: 4. korak: Konfigurirajte plošče
- 5. korak: Koda:
- 6. korak: Zaženite kodo
Video: OUCH: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Ouch je vaš osebni vsestranski neuporabni pomočnik pri katarakti. Ko prepoznavanje obrazov zadene Zeitgeist, vas OUCH zadene! OUCH ne ve samo, kako izgledate, ampak tudi zna biti zelo moteč! Za razliko od velikega brata je ta stroj zelo viden in izpolnjuje le en namen: narediti vaše življenje nekoliko bolj usrano. Ste kdaj pozabili sončna očala doma in vas presenetil svetel odsev? OUCH vam omogoča, da znova in znova podoživite ta trenutek. Z odbojem svetlobe iz najsvetlejšega svetlobnega vira okoli vas naravnost v obraz bo poskrbel, da ne boste uživali niti v enem trenutku okoli njega.
Pazite, sicer bo OUCH zadnje, kar boste kdaj videli!
Projekt je bil izveden v okviru seminarja Računalniško oblikovanje in digitalna izdelava v magistrskem programu ITECH.
August Lehrecke | Max Zorn
Zaloge
Elektronski deli:
Arduino
-
Arduino UNO
- 2x Reely Mini-Servo S0009
- 4 -kratni foto upori
- 4x 10k upori
- 2x potenciometra
- 1x USB kabel za tiskalnik
Malina Pi
-
Rasberry Pi 4
- 1x RaspiCam
- 4x Reely Mini-Servo S0009
- 1x 16-kanalni 12-bitni PWM servo gonilnik PCA9685
- 5v DC zunanji napajalnik
- 1x napajalnik Rasberry Pi 5.1V - 3Amp (ali zunanji ekvivalent)
- 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
- 1x 470 ohmski upor
- 1x 320 ohmski upor
3D natisnjeni deli:
OUCH so različnih oblik in velikosti. Za to različico smo uporabili 3D tiskalnik za tiskanje mehanizmov po meri.
- 4 x stojalo
- 2 x Podstavek S
- 1 x Podstavek L
- 2 x dvojna vrtljiva osnova
- 1 x vrtljiva osnova Single
- 1 x komplet osi za podporo S
- 1 x Komplet osi za podporo M
- 1 x komplet osi za podporo L
- 1 x nosilec za fotoaparat
- 1 x svetlobni nosilec
- 1 x nosilec za ogledalo
Po želji lahko uporabite priloženo obliko stolpa, da komponente označite za:
- 1 x stolp (namesto 4 x stojalo)
- 1 x Base S & 1x Base M (namesto 2 x Base S)
Drugi deli:
- Mylar
- 1 x gumijasti trak
- 1 x kravata z zadrgo
- 12 ploskih vijakov M5 x 160
- 2 vijaka M5 x 80 s plosko glavo
Orodja:
- 3D tiskalnik
- H3.0 izvijač
- Pištola za vroče lepilo
1. korak: 1. korak: Tiskanje delov
Če imate dostop do 3D tiskalnika, lahko natisnete mehanizme po meri za namestitev servomotorjev in namestite tri glavne komponente.
Za komponento obraza potrebujemo:
- 2 x stojala
- 1 x Podstavek L
- 1 x Dvojna vrtljiva osnova
- 1 x Komplet osi za podporo M
- 1 x Nosilec za senzor kamere in razdalje
Lahka komponenta zahteva:
- 1 x stojalo
- 1 x Podstavek S
- 1 x Dvojna vrtljiva osnova
- 1 x Komplet osi za podporo S
- 1 x svetlobni nosilec
Zrcalne komponente so sestavljene iz naslednjega:
- 1 x stojalo
- 1 x Podstavek S
- 1 x vrtljiva osnova Single
- 1 x komplet osi za podporo L
- Zrcalni nosilec
Nazadnje lahko natisnete tudi priloženi stolp.
Če ga želite uporabiti kot osnovo za vse tri komponente, boste morali ustrezno prilagoditi vektorsko matematiko v kodi. Nadalje priključite komponento Face z bazo M namesto baze L na stolp.
2. korak: 2. korak: Izdelava ogledala
Če želite izdelati svojo zrcalno komponento, izrežite okrogel kos Mylarja in ga položite na 3D ogledalo. Nato najprej pritrdite z gumijastim trakom. Gumijasti trak se mora prilegati v utor okoli sestavnega dela. Nato z zadrgo nežno zavarujte povezavo, vendar je ne zategnite preveč. Zdaj lahko začnete raztezati Mylar, dokler ne dobite sijoče, zrcalne površine. Nazadnje zategnite kravato na zadrgo in uživajte v odsevu vašega čudovitega obraza!
3. korak: 3. korak: Sestavljanje komponent
Komponenta obraza
- Vroče lepite pest Servo v skladu z izrezom vrtljive podlage
- Priključite servo konektor v utor, ki se nahaja na dnu osnovnega dela
- Dva osnovna dela sestavite skupaj, tako da se servo poveže s priključkom
- S servo vijakom pritrdite konektor na servo
- Drugi konektor vroče prilepite v ustrezen utor, ki se nahaja na vrhu osi
- S pomočjo 4 vijakov M5 privijte nosilec osi na vrtljivo podlago
- Drugi servo vroče lepite na nosilec
- Kamero potisnite na zatiče
- Ultrazvočni senzor razdalje pritrdite na nosilec bodisi z vijačenjem bodisi z vročim lepljenjem
- Nosilec kamere / senzorja priključite na osi, servo mora spet zdrsniti v priključek
- S servo vijakom pritrdite konektor na servo
- Privijte Raspberry Pi in servo gonilnik na kos vezanega lesa (Prepričajte se, da se razmik ujema z luknjami podnožja L)
- S pomočjo vijakov M5 privijte komponento Face na stojala
Zrcalna komponenta
- Sledite korakom od 1 do 7
- Ogledalo priključite na nosilec osi
- Stojalo za ogledalo prilepite na vezan les, tako da sta sestavni del ogledala in obraza poravnani
- Z vijaki M5 privijte ogledalo na stojalo
Svetlobna komponenta
- Sledite korakom od 1 do 7 od zgoraj
- Svetlobne senzorje napeljite skozi pritrdilne luknje na dnu zasenčenega križa
- Zasenčevalni križ povežite z nosilcem osi, servo mora spet zdrsniti v konektor
- S servo vijakom pritrdite konektor na servo
- Lepilo pritrdite na vezan les, tako da so sestavni deli svetlobe, ogledala in obraza poravnani, ogledalo pa med komponentama obraza in svetlobe
- S pomočjo vijakov M5 privijte komponento Face na stojala
*Vse komponente so lahko pritrjene tudi na stolp, vendar upoštevajte povečano kompleksnost kodiranja in ožičenja ter čas tiskanja. Če želite uporabiti stolp, uporabite del Base M namesto baze L za komponento Face in pritrdite osnovne dele na stolp z ušesci in vijaki M5.
4. korak: 4. korak: Konfigurirajte plošče
Tukaj je shema ožičenja za tri komponente. Sledilnik sonca deluje na lastni zanki na Arduinu in pošilja svoje servo položaje na Rasberry Pi prek serijskih vrat USB. Izbirni senzor razdalje lahko priključite na sprednjo stran kamere za premikanje/nagibanje, da ustvarite močnejšo triangulacijo cilja. Tukaj jih bomo postavili v ravno črto in samo povprečili vektorje, tako da ni potrebno.
Štirje servomotorji so priključeni na servo gonilnik PCA9685, ki ga napaja zunanji napajalnik 5 V. Dva servomotorja nadzorujeta pomik in nagib za kamero za sledenje obraza, preostala dva pa nadzorujeta pomik in nagib ogledala.
5. korak: Koda:
Kodo za ta projekt lahko razdelimo na dva dela: kodo za sledenje svetlobe Arduino in kodo za sledenje obrazu/pozicioniranje zrcala python.
Koda Arduino:
Ta koda je nekoliko spremenjena različica projekta za sledenje soncu iz geobruce. To je odlična referenca za več informacij o komponenti za sledenje soncu, več podrobnosti pa najdete na tej strani z navodili. Vrednosti jakosti svetlobe se vzamejo iz 4 foto-uporov in se povprečijo, da najdejo najsvetlejše območje in temu ustrezno prilagodijo servomotorje. Nato vrednosti servo kota izpišemo v serijska vrata.
Koda Python:
Ta koda združuje odprt življenjepis za ustvarjanje mehanizma za nagibanje s sledenjem obrazov in poganja servomotorje za ogledalo. Če želite prenesti odprti življenjepis na svoj Raspberry pi, boste morali opraviti nekaj korakov. Za to obstaja veliko virov, vendar mi je zelo všeč tisti, ki ga je naredil pyimagesearch. Celoten opis tega procesa najdete tukaj. Opomba: Knjižnice odprtih življenjepisov smo prenesli v virtualno okolje, v katerem izvajamo vso kodo. Če ste se tako odločili, prenesite vse odvisnosti v virtualno okolje, v katerem izvajate program, in ne sam Pi.
Ko prenesete odprti življenjepis, bo za izvajanje te kode potrebno tudi nekaj več odvisnosti (nameščenih v določenem okolju, ki ga izvajate):
- Adafruit ServoKit: Celotno stran o postopku prenosa na malino Pi najdete tukaj.
- imutils
- numpy
- gpiozero (če uporabljate senzor razdalje)
Za sledenje obrazov skript zahteva argument (--faces), ki je datoteka.xml, ki jo openCv uporablja za iskanje obrazov. To datoteko boste morali dati v isti imenik kot skript python. Zagotovil sem ga v prenosih in ga najdete tudi tukaj.
6. korak: Zaženite kodo
Ko prenesete vso kodo v isti imenik in nastavite navidezno okolje z odprtim življenjepisom, ste pripravljeni na zagon.
- Odprite ukazni poziv na pi
- Vnesite workon cv (ali katero koli ime, ki ste ga izbrali za svoje virtualno okolje)
- Spremenite imenik v mesto, kjer imate shranjene datoteke (cd (pot do datotek))
- Zadnja vrstica zažene program in določi kaskadno datoteko haar. (python Face3.py -obrazi haarcascade_frontalface_default.xml)
Ko ga zaženete, bi morali na zaslonu prikazati video tok iz picama in ukazni poziv bo začel tiskati vrednosti servo iz vseh šestih servomotorjev.
In končali ste! Odvisno od kakovosti servomotorjev, ki jih imate, jih boste morda želeli kalibrirati posebej, da izboljšate natančnost vašega sistema. Na koncu smo morali prilagoditi vse obsege PWM, da bodo delovali pravilno.
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)
Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Merilnik korakov 1. del: Enobarvni zaslon 128x32 in Arduino: 5 korakov
Pedometer 1. del: Enobarvni zaslon 128x32 in Arduino: To je osnovna vadnica, ki uči, kako uporabljati zaslon OLED s svojim Arduinom. Uporabljam zaslon velikosti 128x32, lahko pa uporabite tudi drugačen zaslon z ločljivostjo in po potrebi spremenite ločljivost/koordinate. V tem delu vam bom pokazal, kako
Preklopna obremenitvena banka z manjšo velikostjo korakov: 5 korakov
Preklopna banka odpornikov obremenitve z manjšo velikostjo korakov: Banke uporovnih obremenitev so potrebne za preskušanje energetskih proizvodov, za karakterizacijo sončnih kolektorjev, v preskusnih laboratorijih in v industriji. Reostati zagotavljajo stalno spreminjanje odpornosti na obremenitev. Ker pa se vrednost upora zmanjša, moč