Inhoudsopgave:
- Benodigdheden
- Stap 1: Stap 1: De onderdelen afdrukken
- Stap 2: Stap 2: De spiegel maken
- Stap 3: Stap 3: Montage van de componenten
- Stap 4: Stap 4: Configureer de borden
- Stap 5: De code:
- Stap 6: De code uitvoeren
Video: OUCH: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Ouch is uw persoonlijke omnidirectionele nutteloze cataracthelper. Terwijl gezichtsherkenning de tijdgeest raakt, raakt OUCH jou! OUCH weet niet alleen hoe je eruit ziet, het weet ook heel vervelend te zijn! In tegenstelling tot grote broer, is deze machine erg zichtbaar en vervult hij maar één doel: je leven een klein beetje shittier maken. Ben je ooit je zonnebril thuis vergeten en werd je verrast door een felle reflectie? OUCH laat je dit moment keer op keer herbeleven. Door het licht van de felste lichtbron om je heen recht in je gezicht te reflecteren, zal het ervoor zorgen dat je er geen moment omheen kunt genieten.
Pas op, of OUCH is misschien wel het laatste wat je ooit zult zien!
Het project werd uitgevoerd als onderdeel van het seminar Computational Design en Digital Fabrication in het ITECH-masterprogramma.
Augustus Lehrecke | Max Zorn
Benodigdheden
Elektronische onderdelen:
Arduino
-
Arduino UNO
- 2x Reely Mini-Servo S0009
- 4x fotoweerstanden
- 4x 10k weerstanden
- 2x potmeters
- 1x USB-printerkabel
Raspberry Pi
-
Raspberry Pi 4
- 1x RaspiCam
- 4x Reely Mini-Servo S0009
- 1x PCA9685 16-kanaals 12-bits PWM-servostuurprogramma
- 5v DC externe voeding
- 1x Rasberry Pi 5.1V - 3Amp voeding (of extern equivalent)
- 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
- 1x 470 Ohm weerstand
- 1x 320 Ohm weerstand
3D-geprinte onderdelen:
OUCH's zijn er in verschillende soorten en maten. Voor deze versie hebben we een 3D-printer gebruikt om aangepaste mechanismen af te drukken.
- 4 x standaard
- 2 x basis S
- 1 x basis L
- 2 x rotatiebasis dubbel
- 1 x Rotatiebasis Single
- 1 x set assteun S
- 1 x set assteun M
- 1 x set assteunen L
- 1 x camerabevestiging
- 1 x lichtmontage
- 1 x spiegelmontage
Optioneel kunt u het meegeleverde Tower-ontwerp gebruiken om de componenten te combineren om:
- 1 x toren (in plaats van 4 x standaard)
- 1 x Basis S & 1x Basis M (in plaats van 2 x Basis S)
Overige onderdelen:
- Mylar
- 1 x rubberen band
- 1 x ritssluiting
- 12 M5 x 160 schroeven met platte kop
- 2 M5 x 80 schroeven met platte kop
Gereedschap:
- 3D-printer
- H3.0 Schroevendraaier
- Heet lijmpistool
Stap 1: Stap 1: De onderdelen afdrukken
Als u toegang hebt tot een 3D-printer, kunt u aangepaste mechanismen afdrukken om de servo's te huisvesten en de drie hoofdcomponenten te monteren.
Voor de Face-component hebben we nodig:
- 2 x standaards
- 1 x basis L
- 1 x roterende basis dubbel
- 1 x set assteun M
- 1 x camera- en afstandssensorbevestiging
De Light-component vereist:
- 1 x standaard
- 1 x basis S
- 1 x roterende basis dubbel
- 1 x set assteun S
- 1 x lichtmontage
De Mirror-componenten bestaan uit het volgende:
- 1 x standaard
- 1 x basis S
- 1 x roterende basis enkel
- 1 x set assteunen L
- Spiegelmontage
Ten slotte kunt u ook de meegeleverde toren afdrukken.
Als je het als basis voor alle drie de componenten wilt gebruiken, moet je de vectorberekening in de code dienovereenkomstig aanpassen. Verbind verder de Face-component met Base M in plaats van Base L met de toren.
Stap 2: Stap 2: De spiegel maken
Om je eigen spiegelcomponent te maken, knip je een cirkelvormig stuk Mylar en plaats je dit bovenop het 3D-geprinte spiegeldeel. Gebruik dan eerst een elastiekje om het op zijn plaats te fixeren. De rubberen band moet in de groef rond het onderdeel passen. Gebruik vervolgens een kabelbinder om de verbinding voorzichtig vast te zetten, trek deze nog niet te strak aan. Nu kunt u de Mylar uitrekken totdat u een glanzend, spiegelend oppervlak krijgt. Trek tenslotte de ritssluiting aan en geniet van de weerspiegeling van je mooie gezicht!
Stap 3: Stap 3: Montage van de componenten
Gezichtscomponent
- Heetlijm de vuist Servo in de overeenkomstige uitsparing van de roterende basis
- Lijm de servoconnector in de groef aan de onderkant van het basisdeel
- Zet de twee basisdelen bij elkaar, zodat de Servo in de connector grijpt
- Gebruik de schroef van de servo om de connector op de servo te bevestigen
- Heetlijm het tweede verbindingsstuk in de overeenkomstige groef, die zich bovenaan de assteun bevindt
- Gebruik 4 M5-bouten om de assteun op de roterende basis te schroeven
- Heet lijm de tweede servo op de houder
- Schuif de camera op de pinnen
- Bevestig de ultrasone afstandssensor aan de houder, door middel van schroeven of warmlijmen
- Sluit de camera / sensor mount aan op de assteun, de Servo moet weer in het koppelstuk schuiven
- Gebruik de schroef van de servo om de connector op de servo te bevestigen
- Schroef de Raspberry Pi en de servo-driver op een stuk triplex (zorg ervoor dat de afstand overeenkomt met de gaten van Base L)
- Schroef het Face-onderdeel op de standaards, met behulp van M5-bouten
Spiegelcomponent
- Volg stappen 1 t/m 7
- Sluit de spiegel aan op de assteun
- Lijm een spiegelstandaard op multiplex, zodat de component Mirror en Face op één lijn ligt
- Schroef het spiegelonderdeel op de standaard met M5-bouten
Lichtcomponent
- Volg stappen 1 tot 7 van hierboven
- Steek de lichtsensoren door de montagegaten aan de onderkant van het schaduwkruis
- Sluit het schaduwkruis aan op de assteun, de servo moet weer in het verbindingsstuk schuiven
- Gebruik de schroef van de servo om de connector op de servo te bevestigen
- Lijm een standaard op multiplex, zodat de Light-, Mirror- en Face-componenten zijn uitgelijnd en de Mirror zich tussen de Face- en Light-componenten bevindt
- Schroef het Face-onderdeel op de standaards, met behulp van M5-bouten
*Alle componenten kunnen ook aan de toren worden bevestigd, houd echter rekening met de toegenomen complexiteit van codering en bedrading en afdruktijd. Als je de toren wilt gebruiken, gebruik dan het Base M-deel in plaats van de Base L voor het Face-component en schroef de Base-delen op de toren met behulp van de oogjes en M5-bouten.
Stap 4: Stap 4: Configureer de borden
Hier is het bedradingsschema voor de drie componenten. De suntracker werkt op zijn eigen lus op de Arduino en stuurt zijn servoposities via de seriële USB-poort naar de Rasberry Pi. Een optionele afstandssensor kan aan de voorkant van de pan/tilt piCamera worden aangesloten om een robuustere triangulatie van het doel te creëren. Hier zullen we ze in een rechte lijn op een rij zetten en alleen de vectoren middelen, dus het is niet vereist.
Vier servo's zijn aangesloten op de PCA9685-servodriver die wordt gevoed door een externe 5v-voeding. Twee van de servo's regelen de pan en tilt voor de gezichtsvolgcamera, terwijl de overige twee de pan en tilt voor de spiegel regelen.
Stap 5: De code:
De code voor dit project kan in twee delen worden opgesplitst: de Arduino light-tracking-code en de python face-tracking/mirror positioning-code.
Arduino-code:
Deze code is een licht gewijzigde versie van het zonvolgproject van geobruce. Het is een geweldige referentie om meer te weten te komen over de component voor het volgen van zonne-energie en meer details zijn te vinden op deze instructables-pagina. De lichtintensiteitswaarden worden uit de 4 fotoweerstanden gehaald en gemiddeld om het helderste gebied te vinden en de servo's dienovereenkomstig aan te passen. Vervolgens schrijven we de servo-hoekwaarden uit naar de seriële poort.
Python-code:
Deze code integreert open CV om een pan-kantelmechanisme voor het volgen van gezichten te creëren en stuurt de servo's voor de spiegel aan. Je zult een aantal stappen moeten doorlopen om open CV op je Raspberry pi te downloaden. Er zijn veel bronnen hiervoor, maar ik vind die van pyimagesearch erg leuk. Een volledige doorloop van dit proces is hier te vinden. Opmerking: we hebben de open CV-bibliotheken gedownload naar een virtuele omgeving waarop we alle code uitvoeren. Als u besluit dit te doen, zorg er dan voor dat u alle afhankelijkheden downloadt naar de virtuele omgeving waarop u het programma uitvoert en niet de Pi zelf.
Nadat je open CV hebt gedownload, vereist deze code ook wat meer afhankelijkheden (geïnstalleerd in de specifieke omgeving die je gebruikt) om te draaien:
- Adafruit ServoKit: Een volledige pagina over het downloadproces op de Raspberry Pi is hier te vinden.
- imutils
- numpy
- gpiozero (bij gebruik van afstandssensor)
Voor het volgen van gezichten vereist het script een argument (--faces), een.xml-bestand dat openCv gebruikt om gezichten te vinden. U moet dit bestand in dezelfde map plaatsen als het python-script. Ik heb het bij de downloads opgegeven en het is ook hier te vinden.
Stap 6: De code uitvoeren
Zodra u alle code in dezelfde map hebt gedownload en uw virtuele omgeving met open CV hebt ingesteld, bent u klaar om deze uit te voeren.
- Open de opdrachtprompt op uw pi
- Typ workon cv (of welke naam u ook kiest voor uw virtuele omgeving)
- Verander de map naar waar je je bestanden hebt opgeslagen (cd (pad naar bestanden))
- De laatste regel voert het programma uit en specificeert het haar cascadebestand. (python Face3.py --faces haarcascade_frontalface_default.xml)
Wanneer je het uitvoert, zou je een videostream van de picam op het scherm moeten zien verschijnen en de opdrachtprompt zal beginnen met het afdrukken van de servowaarden van alle zes servo's.
En je bent klaar! Afhankelijk van de kwaliteit van de servo's die je hebt, wil je ze misschien elk specifiek kalibreren om de nauwkeurigheid van je systeem te verbeteren. Uiteindelijk moesten we alle PWM-reeksen aanpassen om ze goed te laten werken.
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)