INHOUDSOPGAWE:

Liggevoelige Iris: 4 stappe
Liggevoelige Iris: 4 stappe

Video: Liggevoelige Iris: 4 stappe

Video: Liggevoelige Iris: 4 stappe
Video: Правила работы с микроскопом / Как настроить / Инструкция 2024, November
Anonim
Image
Image
Liggevoelige Iris
Liggevoelige Iris

Hierdie handleiding wys hoe u 'n iris -diafragma kan skep wat, net soos die menslike iris, in swak lig sal vergroot en in helder ligomgewings sal saamtrek.

Stap 1: 3D -drukwerk

3D druk
3D druk
3D druk
3D druk
3D druk
3D druk

Die vervaardigingsproses vir die 3D -gedrukte komponente van hierdie build kan 'n eie tutoriaalbladsy hê, en eintlik het ek dit gebruik:

www.thingiverse.com/thing:2019585

Ek het die lêers hier vir u gemak ingesluit.

'N Paar aantekeninge oor hierdie voorbeeld, die lemme (of blare) van die iris is eintlik vervaardig met 'n harsdrukker met dieselfde lêers as gevolg van die beperkings van die 3D -drukker. Die hele druk is ook met 10%vergroot. Om die stukke bymekaar te kry, het 'n paar detailwerk geverg; ek het uiteindelik die stukke baie gevorm met fyn sandpapier, 'n mes en 'n boor.

Ander irisse wat ek tydens hierdie proses ondersoek het:

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

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

Stap 2: Onderdele

Dele
Dele
Dele
Dele
Dele
Dele

Die foto's toon die onderdele wat u benodig, asook 'n paar gereedskap en materiaal waarmee ek die model in die galery gebou het:

- 3D -gedrukte iris -diafragma

- Futaba S3003 servomotor

- Arduino UNO mikro -kontroleerder

- Ligte afhanklike weerstand: donker weerstand 1M ohm / ligweerstand 10 ohm - 20k ohm

- 10k ohm analoog potensiometer

- weerstand van 500 ohm

- PCB (printplaat)

- opskrifte (vyf)

- draad: swart, rooi, wit en geel

- dupont -aansluitdrade (twee)

- soldeerbout (en soldeer)

-multimeter

- draadknipsels

Die struktuur wat hierdie prototipe huisves, is gemaak van MDF, laaghout van 3/4 duim, houtgom, warm gomgeweer, stywe draad (van 'n kapstok en 'n skuifspeld), asook verskillende bore en stukkies, 'n tafelsaag en 'n bandzaag, skuurmasjien en baie beproewing. Die voorwerp van die foto's is die derde iterasie.

Stap 3: Bou die stroombaan/behuising

Bou van die stroombaan/behuising
Bou van die stroombaan/behuising
Bou van die stroombaan/behuising
Bou van die stroombaan/behuising
Bou van die stroombaan/behuising
Bou van die stroombaan/behuising

Ek het 'n raaisel van 'hoender en eier' gehad terwyl ek hierdie aspek ontwerp het. Aangesien ek nie ervaring met elektroniese skemas het nie, dink ek liewer aan die stroombaan in terme van die werklike opset, of pseudo-skematiese. Ek het gevind dat die argitektuur van beide die MDF/laaghoutbehuizing en die bedrading mekaar op onverwagte maniere belemmer. Ek het probeer om iets te vind wat visueel eenvoudig en selfstandig was.

-Die potensiometer was 'n laat stadium tydens die dinkskrum om 'n 'sensitiwiteits' -versteller by te voeg, aangesien die omgewingstoestande baie kan wissel, neem die potensiometer en weerstand saam die plek van 'n normale weerstand in die spanningsverdeler aspek van die stroombaan. Ek kan nie in detail hieroor ingaan nie, want ek weet nie regtig hoe dit alles werk nie.

-Die vertikale deel van die behuising (gemaak van MDF) het 'n effense hoek. Om in dieselfde vlak as die iris te draai, het ek 'n tafelgordelschuurder op dieselfde tafel gebruik om dieselfde hoek op die hout -servo -houer te maak as wat ek op die laaghoutbasis vasgeplak het.

-Ek het ook agtergekom dat die servo verkies om die MDF -bord van die basis af op te lig in plaas van om die iris te verwoord, en ek het 'n draadhouer bygevoeg wat aan die voorkant ingevoeg is om die twee stukke te sluit. Terwyl ek besig was, het ek penne vir die Arduino -bord uit dieselfde draad bygevoeg. Die draad wat die bedieningsarm met die servo verbind, is terloops 'n skuifspeld.

-Die iris pas lekker in die MDF, maar nog steeds het ek 'n kraal warm gom bygevoeg om te verhoed dat die hele behuising in die houer draai in plaas van net die aandrywerarm. Dit het 'n meer presiese uitlijning van die servo -hefboomarm vereis as wat ek verwag het. Wat baie duidelik voor die hand liggend is deur hierdie tutoriaal te gebruik, hoewel dit vir my onverwags was toe ek begin het, was dat die draai van die servo en die rotasie van die iris 1: 1 is. Ek moes 'n klein plastiekarmverlenging maak vir die servo om dieselfde radius as die iris -bedieningsarm te bereik. Die kode het oorspronklik ten volle gebruik gemaak van die servo se rotasiepotensiaal, maar ek het uiteindelik die werklike rotasie van die iris gemeet, en dan het ek deur middel van proef en fout 'n aangepaste waarde gevind vir die rotasie van die servo wat 'n interessante effek behaal het.

- Baie van die belangrike bedradingaansluitings is onder die printplaat in die beelde versteek. Ek het vergeet om 'n foto van die kant van die PCB te neem voordat ek dit aan die MDF warm plak. Dit is ten beste, want niemand mag die gemors wat ek onder die klein stukkie PCB weggesteek het, kopieer nie. My doel met die PCB was om kopstukke vir die 5 volt-, grond- en servo -aansluitings te hê, sodat die stukke maklik uitmekaar kan val vir onvoorsiene probleemoplossing in die toekoms, 'n funksie wat handig te pas gekom het. Ek het die korrekte oriëntasie van kopkonnekteerders aangedui met 'n stuk maskeerband op die MDF langs die print, alhoewel ek vermoed dat ek direk op die MDF kon geskryf het … dit lyk destyds na die regte ding.

Stap 4: Kode

Kode
Kode

#sluit // servobiblioteek in

Servo serv; // verklaring van servo naam

int sensorPin = A1; // kies die invoerpen vir LDR

int sensorValue = 0; // veranderlike om die waarde wat van die sensor afkomstig is, te stoor

int timeOUT = 0; // veranderlike vir servo

int hoek = 90; // veranderlike om pulse op te slaan

leemte opstelling ()

{

serv.aanheg (9); // plak die servo op pen 9 aan die servo -voorwerp Serial.begin (9600); // stel die seriële poort vir kommunikasie

}

leemte lus ()

{

sensorValue = analogRead (sensorPin); // lees die waarde van die sensor

Serial.println (sensorValue); // druk die waardes afkomstig van die sensor op die skerm

hoek = kaart (sensorValue, 1023, 0, 0, 88); // sit digitale waardes om in rotasiegrade vir die servo

serv.write (hoek); // laat servo beweeg

vertraging (100);

}

Aanbeveel: