Innholdsfortegnelse:

Lysfølsom iris: 4 trinn
Lysfølsom iris: 4 trinn

Video: Lysfølsom iris: 4 trinn

Video: Lysfølsom iris: 4 trinn
Video: Вещи, которые мистеру Уэлчу больше не разрешается делать в сборнике для чтения RPG № 1-2450 2024, November
Anonim
Image
Image
Lysfølsom Iris
Lysfølsom Iris

Denne opplæringen viser hvordan du lager en irismembran som, i likhet med den menneskelige iris, vil utvide seg i svakt lys og trekke seg sammen i sterke lysmiljøer.

Trinn 1: 3D -utskrift

3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift
3D -utskrift

Produksjonsprosessen for 3D -trykte komponenter i denne bygningen kan ha sin egen opplæringsside, og faktisk var det det jeg brukte til å lage dem:

www.thingiverse.com/thing:2019585

Jeg har tatt med filene her for enkelhets skyld.

Noen få notater om dette eksemplet, bladene (eller bladene) til iris ble faktisk produsert med en harpiksskriver som brukte de samme filene på grunn av begrensningene i 3D -skriveren. Hele utskriften ble også skalert opp med 10%. Å få bitene til å fungere sammen tok litt detaljarbeid, jeg endte med å forme bitene mye med fint sandpapir, en kniv og en borekrone.

Andre iris jeg undersøkte under denne prosessen:

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

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

Trinn 2: Deler

Deler
Deler
Deler
Deler
Deler
Deler

Bildene viser delene du trenger, i tillegg til noen av verktøyene og materialene jeg brukte for å bygge modellen vist i galleriet:

- 3D -trykt irismembran

- Futaba S3003 servomotor

- Arduino UNO mikrokontroller

- Lysavhengig motstand: mørk motstand 1M ohm / lysmotstand 10 ohm - 20k ohm

- 10k ohm analogt potensiometer

- 500 ohm motstand

- PCB (kretskort)

- overskrifter (fem)

- ledning: svart, rød, hvit og gul

- dupont -kontaktledninger (to)

- loddejern (og loddetinn)

-multimeter

- wire snips

Strukturen som huser denne prototypen ble laget med MDF, 3/4 tommers kryssfiner, trelim, varm limpistol, stiv tråd (fra en kleshenger og et binders), samt forskjellige bor og biter, en bordsag og en båndsag, slipemaskin og mye prøving og feiling. Objektet fra bildene er den tredje iterasjonen.

Trinn 3: Bygg kretsen/huset

Bygg kretsen/huset
Bygg kretsen/huset
Bygg kretsen/huset
Bygg kretsen/huset
Bygg kretsen/huset
Bygg kretsen/huset

Jeg hadde en "kylling og egg" stil gåte mens jeg utformet dette aspektet. Siden jeg ikke har erfaring med elektronikkskjemaer, foretrekker jeg å tenke på kretsen når det gjelder den faktiske konfigurasjonen, eller pseudoskjematisk. Jeg fant ut at arkitekturen til både MDF/kryssfinerhus og ledninger begrenset hverandre på uventede måter. Jeg prøvde å finne på noe som var visuelt enkelt og selvstendig.

-Potensiometret var en sen fase under brainstormingen for å legge til en "følsomhets" justerer, siden omgivelsesbelysningsforholdene kan variere sterkt, og potensiometeret og motstanden tar sammen plassen til en normal motstand i spenningsdeleren ved kretsen. Jeg kan ikke gå i detalj om dette fordi jeg egentlig ikke vet hvordan det hele fungerer.

-Den vertikale delen av huset (laget av MDF) er i en liten vinkel. For å rotere i samme plan som iris, brukte jeg en bordmontert beltemaskin for å lage den samme vinkelen på servosettet i tre som jeg limte til kryssfinerbunnen.

-Jeg fant også ut at servoen foretrakk å løfte MDF -brettet rett av basen i stedet for å artikulere iris, så jeg la til en stift med trådholder som settes inn foran for å låse de to delene. Mens jeg var i gang, la jeg til pins for Arduino -brettet ut av den samme ledningen. Ledningen som kobler aktuatorarmen til servoen er forresten et binders.

-Irisen sitter godt i MDF -en, men til og med har jeg lagt til en lim med varmt lim for å forhindre at hele huset roterer i kontakten i stedet for bare aktuatorarmen. Dette nødvendiggjorde mer presis justering av servoarmarmen enn jeg hadde forventet. Det som sannsynligvis er åpenbart for mange som bruker denne opplæringen, selv om det var uventet for meg da jeg begynte, var at rotasjonen av servoen og rotasjonen av iris er 1: 1. Jeg måtte lage en liten plastarmforlengelse for at servoen skulle oppnå samme radius som irisaktuatorarmen. Koden tok opprinnelig full nytte av servos rotasjonspotensial, men jeg endte opp med å måle den faktiske rotasjonen av iris, da jeg gjennom prøving og feiling fant en egendefinert verdi for rotasjonsgrader av servoen som oppnådde en interessant effekt.

- Mange av de viktige ledningsforbindelsene er skjult under kretskortet i bildene. Jeg glemte å ta et bilde av den siden av kretskortet før jeg varmlimte det til MDF. Dette er det beste, siden ingen skal kopiere rotet jeg gjemte under den lille PCB -biten. Målet mitt for kretskortet var å ha overskrifter for 5 volt, bakken og servokontaktene slik at brikkene lett kunne skilles fra hverandre for uforutsett feilsøking i fremtiden, en funksjon som kom godt med. Jeg angav riktig orientering for topptekster med et stykke maskeringstape på MDF ved siden av kretskortet, selv om jeg antar at jeg kunne ha skrevet direkte på MDF … det virket som det riktige å gjøre den gangen.

Trinn 4: Kode

Kode
Kode

#include // servobibliotek

Servo serv; // erklæring om servonavn

int sensorPin = A1; // velg inngangspinnen for LDR

int sensorValue = 0; // variabel for å lagre verdien som kommer fra sensoren

int timeOUT = 0; // variabel for servo

int vinkel = 90; // variabel for å lagre pulser

ugyldig oppsett ()

{

serv. fest (9); // fester servoen på pinne 9 til servoobjektet Serial.begin (9600); // angir seriell port for kommunikasjon

}

hulrom ()

{

sensorValue = analogRead (sensorPin); // les verdien fra sensoren

Serial.println (sensorValue); // skriver ut verdiene som kommer fra sensoren på skjermen

vinkel = kart (sensorValue, 1023, 0, 0, 88); // konverterer digitale verdier til rotasjonsgrader for servoen

serv.write (vinkel); // får servoen til å bevege seg

forsinkelse (100);

}

Anbefalt: