Indholdsfortegnelse:

Lysfølsom Iris: 4 trin
Lysfølsom Iris: 4 trin

Video: Lysfølsom Iris: 4 trin

Video: Lysfølsom Iris: 4 trin
Video: 😖 Высший класс или ширпотреб? В каких версиях Focus 3 меньше проблем? 2024, November
Anonim
Image
Image
Lysfølsom Iris
Lysfølsom Iris

Denne vejledning viser, hvordan du opretter en irismembran, der ligesom den menneskelige iris vil udvide sig i svagt lys og trække sig sammen i stærkt lysmiljøer.

Trin 1: 3D -udskrivning

3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning
3D -udskrivning

Fremstillingsprocessen for 3D -printede komponenter i denne build kunne have sin egen tutorialside, og det var faktisk det, jeg plejede at lave dem:

www.thingiverse.com/thing:2019585

Jeg har inkluderet filerne her for nemheds skyld.

Et par noter om dette eksempel, bladene (eller bladene) på iris blev faktisk produceret med en harpiksprinter, der brugte de samme filer på grund af 3D -printerens begrænsninger. Hele printet blev også opskaleret med 10%. At få stykkerne til at arbejde sammen tog noget detaljeret arbejde, jeg endte med at forme stykkerne meget med fint sandpapir, en kniv og et bor.

Andre iris jeg undersøgte under denne proces:

souzoumaker.com/blog-1/2017/8/12/mechanica…

www.instructables.com/id/How-to-make-a-12-…

Trin 2: Dele

Dele
Dele
Dele
Dele
Dele
Dele

Billederne viser de dele, du skal bruge, samt nogle af de værktøjer og materialer, jeg brugte til at bygge modellen vist i galleriet:

- 3D -printet iris -membran

- Futaba S3003 servomotor

- Arduino UNO mikrokontroller

- Lysafhængig modstand: mørk modstand 1M ohm / lysmodstand 10 ohm - 20k ohm

- 10k ohm analogt potentiometer

- 500 ohm modstand

- PCB (printkort)

- overskrifter (fem)

- ledning: sort, rød, hvid og gul

- dupont -stikledninger (to)

- loddejern (og lodning)

-multimeter

- trådklip

Strukturen, der huser denne prototype, blev lavet med MDF, 3/4 tommer krydsfiner, trælim, varm limpistol, stiv tråd (fra en bøjle og en papirclips), samt forskellige bor og bits, en bordsav og en båndsav, slibemaskine og masser af forsøg og fejl. Objektet fra billederne er den tredje iteration.

Trin 3: Opbygning af kredsløb/hus

Bygger kredsløbet/huset
Bygger kredsløbet/huset
Bygger kredsløbet/huset
Bygger kredsløbet/huset
Bygger kredsløbet/huset
Bygger kredsløbet/huset

Jeg havde en "kylling og æg" stil gåde, mens jeg designede dette aspekt. Da jeg ikke har erfaring med elektroniske skemaer, foretrækker jeg at tænke på kredsløbet med hensyn til dets faktiske konfiguration eller pseudoskematisk. Jeg fandt ud af, at arkitekturen i både MDF/krydsfinerhuset og ledningerne begrænsede hinanden på uventede måder. Jeg forsøgte at finde på noget, der var visuelt enkelt og selvstændigt.

-Potentiometeret var en idé i en sen fase under brainstormingen for at tilføje en "følsomhed" -justering, da omgivelsesbelysningsforholdene kan variere meget, potentiometeret og modstanden tilsammen træder i stedet for en normal modstand i spændingsdelers aspekt af kredsløbet. Jeg kan ikke gå i detaljer om dette, fordi jeg ikke rigtig ved, hvordan det hele fungerer.

-Den lodrette del af huset (fremstillet af MDF) er i en lille vinkel. For at rotere i samme plan som iris brugte jeg en bordmonteret båndslibemaskine til at skabe den samme vinkel på træ -servomontage, som jeg limede til krydsfinerbasen.

-Jeg fandt også ud af, at servoen foretrak at løfte MDF -pladen lige fra basen i stedet for at artikulere iris, så jeg tilføjede en hæfteklammer med tråd, der indsættes foran for at låse de to stykker. Mens jeg var i gang, tilføjede jeg stifter til Arduino -kortet ud af den samme ledning. Tråden, der forbinder aktuatorarmen til servoen, er i øvrigt en papirclips.

-Irisen sidder tæt ind i MDF'en, men alligevel tilføjede jeg stadig en lim med varm lim for at forhindre, at hele huset roterer i fatningen i stedet for kun aktuatorarmen. Dette nødvendiggjorde en mere præcis justering af servoarmarmen, end jeg havde forventet. Hvad der sandsynligvis er indlysende for mange ved hjælp af denne vejledning, selvom det var uventet for mig da jeg begyndte, var at servoens rotation og irisens rotation er 1: 1. Jeg var nødt til at lave en lille plastarmarmforlængelse for at servoen skulle opnå samme radius som irisaktuatorarmen. Koden udnyttede oprindeligt fuldt ud servos rotationspotentiale, men jeg endte med at måle den faktiske rotation af iris, så fandt jeg gennem forsøg og fejl en brugerdefineret værdi for rotationsgrader af servoen, der opnåede en interessant effekt.

- Mange af de vigtige ledningsforbindelser er skjult under printkortet i billederne. Jeg glemte at tage et billede af den side af printkortet, før jeg varmlimede det til MDF. Dette er det bedste, da ingen skal kopiere det rod, jeg gemte under det lille stykke PCB. Mit mål for printkortet var at have headere til 5 volt, jord og servokonnektorer, så stykkerne let kunne skilles fra hinanden til uforudsete fejlfinding i fremtiden, en funktion der kom godt med. Jeg angav den korrekte retning for header -stik med et stykke maskeringstape på MDF ved siden af printkortet, selvom jeg formoder, at jeg kunne have skrevet direkte på MDF … det virkede som det rigtige at gøre dengang.

Trin 4: Kode

Kode
Kode

#include // servobibliotek

Servo serv; // erklæring om servonavn

int sensorPin = A1; // vælg input -pin til LDR

int sensorValue = 0; // variabel for at gemme værdien fra sensoren

int timeOUT = 0; // variabel til servo

int vinkel = 90; // variabel til lagring af impulser

ugyldig opsætning ()

{

serv. vedhæftning (9); // fastgør servoen på pin 9 til servoobjektet Serial.begin (9600); // indstiller seriel port til kommunikation

}

hulrum ()

{

sensorValue = analogRead (sensorPin); // læs værdien fra sensoren

Serial.println (sensorValue); // udskriver de værdier, der kommer fra sensoren på skærmen

vinkel = kort (sensorValue, 1023, 0, 0, 88); // konverterer digitale værdier til rotationsgrader for servoen

serv.skriv (vinkel); // får servo til at bevæge sig

forsinkelse (100);

}

Anbefalede: