Isi kandungan:

Iris Sensitif Cahaya: 4 Langkah
Iris Sensitif Cahaya: 4 Langkah

Video: Iris Sensitif Cahaya: 4 Langkah

Video: Iris Sensitif Cahaya: 4 Langkah
Video: Bagian-bagian Mata Manusia dan Fungsinya 2024, November
Anonim
Image
Image
Iris Sensitif Cahaya
Iris Sensitif Cahaya

Tutorial ini menunjukkan cara membuat diafragma iris yang, seperti iris manusia, akan melebar dalam cahaya rendah dan menyempit di persekitaran cahaya terang.

Langkah 1: Percetakan 3D

Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D
Percetakan 3D

Proses pembuatan komponen cetak 3D dari binaan ini mungkin mempunyai halaman tutorialnya sendiri, dan sebenarnya, itulah yang saya gunakan untuk membuatnya:

www.thingiverse.com/thing:2019585

Saya telah memasukkan fail di sini untuk kemudahan.

Beberapa catatan mengenai contoh ini, bilah (atau daun) iris sebenarnya dihasilkan dengan pencetak resin menggunakan fail yang sama kerana keterbatasan pencetak 3D. Juga, keseluruhan cetakan dinaikkan 10%. Mengusahakan kepingan itu memerlukan kerja terperinci, saya akhirnya banyak membentuk kepingan itu dengan kertas pasir halus, pisau utiliti, dan sedikit gerudi.

Iris lain yang saya selidiki semasa proses ini:

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

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

Langkah 2: Bahagian

Bahagian
Bahagian
Bahagian
Bahagian
Bahagian
Bahagian

Gambar menunjukkan bahagian yang anda perlukan serta beberapa alat dan bahan yang saya gunakan untuk membina model yang ditunjukkan di galeri:

- diafragma iris bercetak 3D

- Motor servo Futaba S3003

- Pengawal mikro Arduino UNO

- Perintang Bergantung Cahaya: rintangan gelap 1M ohm / rintangan cahaya 10 ohm - 20k ohm

- Potensiometer analog 10k ohm

- Perintang 500 ohm

- PCB (papan litar bercetak)

- tajuk (lima)

- wayar: hitam, merah, putih, dan kuning

- wayar penyambung dupont (dua)

- besi pematerian (dan pateri)

-multimeter

- potongan wayar

Struktur yang menempatkan prototaip ini dibuat dengan MDF, papan lapis 3/4 inci, gam kayu, pistol lem panas, wayar kaku (dari penyangkut mantel dan klip kertas), serta pelbagai gerudi dan bit, gergaji meja dan gergaji pita, power sander dan banyak percubaan dan ralat. Objek dari foto adalah lelaran ketiga.

Langkah 3: Membina Litar / Perumahan

Membina Litar / Perumahan
Membina Litar / Perumahan
Membina Litar / Perumahan
Membina Litar / Perumahan
Membina Litar / Perumahan
Membina Litar / Perumahan

Saya mempunyai teka-teki gaya "ayam dan telur" semasa merancang aspek ini. Oleh kerana saya tidak mempunyai pengalaman dengan skema elektronik, saya lebih suka memikirkan litar dari segi konfigurasi sebenarnya, atau skema pseudo. Saya dapati bahawa seni bina perumahan MDF / papan lapis dan pendawaian saling mengekang dengan cara yang tidak dijangka. Saya cuba mengemukakan sesuatu yang ringkas dan mandiri secara visual.

-Potensiometer adalah idea peringkat akhir semasa percambahan idea untuk menambahkan pelaras "kepekaan", kerana keadaan pencahayaan ambien dapat sangat berbeza, potensiometer dan perintang bersama-sama menggantikan perintang normal dalam aspek pembahagi voltan litar. Saya tidak dapat memperincikan perkara ini kerana saya tidak tahu bagaimana semuanya berfungsi.

-Bahagian menegak perumahan (terbuat dari MDF) berada pada sudut sedikit. Untuk berputar pada satah yang sama dengan iris, saya menggunakan tali pengikat yang dipasang di atas meja untuk membuat sudut yang sama pada pelekap servo kayu yang saya tempelkan ke dasar papan lapis.

-Saya juga mendapati bahawa servo lebih suka mengangkat papan MDF dari pangkal daripada mengartikulasikan iris, jadi saya menambah ruji penahan wayar yang menyisip di bahagian depan untuk mengunci dua kepingan. Semasa saya berada, saya menambah pin untuk papan Arduino dari wayar yang sama. Kawat yang menghubungkan lengan penggerak ke servo adalah klip kertas.

- Iris sesuai dengan tepat ke MDF, tetapi saya masih menambah sebiji gam panas untuk mengelakkan seluruh perumahan berputar di soket dan bukan hanya lengan penggerak. Ini memerlukan penjajaran yang lebih tepat pada lengan tuas servo daripada yang saya jangkakan. Yang mungkin jelas bagi banyak orang menggunakan tutorial ini, walaupun tidak disangka oleh saya ketika saya bermula, adalah bahawa putaran servo dan putaran iris adalah 1: 1. Saya terpaksa membuat sambungan lengan plastik kecil untuk servo untuk mencapai jejari yang sama dengan lengan penggerak iris. Kod ini pada awalnya memanfaatkan sepenuhnya potensi putaran servo, tetapi saya akhirnya mengukur putaran iris sebenar, kemudian, melalui percubaan dan kesilapan, menemukan nilai khusus untuk darjah putaran servo yang mencapai kesan yang menarik.

- Banyak sambungan pendawaian penting tersembunyi di bawah PCB dalam gambar. Saya terlupa mengambil gambar bahagian PCB sebelum saya melekatkannya ke MDF. Ini adalah yang terbaik, kerana tidak ada yang harus menyalin kekacauan yang saya sembunyikan di bawah sekeping kecil PCB itu. Objektif saya untuk PCB adalah mempunyai header untuk penyambung 5volt, Ground, dan servo supaya bahagian-bahagiannya dapat dipisahkan dengan mudah untuk menyelesaikan masalah yang tidak dijangka pada masa akan datang, satu ciri yang sangat berguna. Saya menunjukkan orientasi yang tepat untuk penyambung header dengan sehelai pita pelekat pada MDF di sebelah PCB, walaupun saya rasa saya boleh menulis secara langsung pada MDF … sepertinya itu adalah perkara yang tepat untuk dilakukan pada masa itu.

Langkah 4: Kod

Kod
Kod

#masuk // perpustakaan servo

Servo serv; // pengisytiharan nama servo

int sensorPin = A1; // pilih pin input untuk LDR

int sensorValue = 0; // pemboleh ubah untuk menyimpan nilai yang berasal dari sensor

int timeOUT = 0; // pemboleh ubah untuk servo

sudut int = 90; // pemboleh ubah untuk menyimpan denyutan

persediaan tidak sah ()

{

serv.attach (9); // melampirkan servo pada pin 9 ke objek servial Serial.begin (9600); // menetapkan port bersiri untuk komunikasi

}

gelung kosong ()

{

sensorValue = analogRead (sensorPin); // baca nilai dari sensor

Serial.println (sensorValue); // mencetak nilai yang berasal dari sensor di skrin

sudut = peta (sensorValue, 1023, 0, 0, 88); // menukar nilai digital kepada darjah putaran untuk servo

serv.write (sudut); // membuat servo bergerak

kelewatan (100);

}

Disyorkan: