Isi kandungan:

Pemeriksa Rana Kamera Filem Arduino: 4 Langkah
Pemeriksa Rana Kamera Filem Arduino: 4 Langkah

Video: Pemeriksa Rana Kamera Filem Arduino: 4 Langkah

Video: Pemeriksa Rana Kamera Filem Arduino: 4 Langkah
Video: Behind scene steadicam operator Cooke optics 2024, Julai
Anonim
Pemeriksa Rana Kamera Filem Arduino
Pemeriksa Rana Kamera Filem Arduino
Pemeriksa Rana Kamera Filem Arduino
Pemeriksa Rana Kamera Filem Arduino

Baru-baru ini saya membeli dua kamera filem lama. Setelah membersihkannya, saya menyedari bahawa kelajuan rana dapat ditinggalkan oleh kekurangan habuk, kakisan atau minyak, jadi saya memutuskan untuk membuat sesuatu untuk mengukur masa pemaparan sebenar kamera mana pun, kerana, oleh mata saya yang telanjang, saya tidak dapat mengukurnya tepat. Projek ini menggunakan Arduino sebagai komponen utama untuk mengukur masa eksposisi. Kami akan membuat pasangan opto (LED IR dan transistor foto IR) dan membaca berapa lama rana kamera dibuka. Pertama, saya akan menerangkan cara pantas untuk mencapai matlamat kita dan, pada akhirnya, kita akan melihat semua teori di sebalik projek ini.

Senarai komponen:

  • 1 x Kamera Filem
  • 1 x Arduino Uno
  • 2 x 220 Ω Perintang filem karbon
  • 1 x LED IR
  • 1 x Phototransistor
  • 2 x papan roti kecil (atau 1 papan roti besar, cukup besar untuk memuatkan kamera di tengah)
  • Banyak jumper atau kabel

* Komponen tambahan ini diperlukan untuk bahagian penjelasan

  • 1 x LED Warna Biasa
  • 1 x butang tekan sesaat

Langkah 1: Bahan Pendawaian

Bahan Pendawaian
Bahan Pendawaian
Bahan Pendawaian
Bahan Pendawaian
Bahan Pendawaian
Bahan Pendawaian

Pertama, pasangkan LED IR di satu papan roti dan IR Phototransistor yang lain supaya kita dapat menghadapinya satu sama lain. Sambungkan satu perintang 220 Ω ke anod LED (kaki panjang atau sisi tanpa sempadan rata) dan sambungkan perintang ke bekalan kuasa 5V di Arduino. Sambungkan juga katod LED (kaki pendek atau sisi dengan sempadan rata) ke salah satu port GND di Arduino.

Seterusnya, pasangkan pin Pemungut pada transistor foto (bagi saya adalah kaki pendek, tetapi anda harus memeriksa lembaran data transistor anda untuk memastikan anda memasangnya dengan cara yang betul atau anda mungkin akan meletupkan transistor) ke perintang 220 Ω dan perintang ke pin A1 di Arudino, kemudian sambungkan pin Pemancar transistor foto (kaki panjang atau yang tanpa sisi sempadan rata). Dengan cara ini, LED IR sentiasa menyala dan transistor foto diset sebagai sink sink.

Apabila lampu IR tiba transistor, ia akan membenarkan arus mengalir dari pin Pemungut ke pin Pemancar. Kami akan menetapkan pin A1 untuk input pull up, jadi pin akan sentiasa berada dalam keadaan tinggi kecuali transistor merendam arus ke jisim.

Langkah 2: Pengaturcaraan

Siapkan Arduino IDE anda (port, board dan programmer) agar sesuai dengan konfigurasi yang diperlukan untuk papan Arduino anda.

Salin kod ini, susun dan muat naik:

int readPin = A1; // pin di mana disambungkan 330resistor dari phototransistor

int ptValue, j; // tempat penyimpanan data yang dibaca dari kunci bool analogRead (); // a bolean digunakan untuk membaca keadaan pemasa panjang tanpa tanda readPin, pemasa2; dibaca dua kali; String select [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; jangka panjang [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; batal persediaan () {Serial.begin (9600); // kami menetapkan komunikasi bersiri pada 9600 bit per saat pinMode (readPin, INPUT_PULLUP); // kita akan menetapkan pin selalu tinggi kecuali ketika transistor foto tenggelam, jadi, kita akan "membalikkan" logik // itu bermaksud TINGGI = tidak ada isyarat IR dan LOW = isyarat IR yang diterima kelewatan (200); // kelewatan ini adalah untuk memulakan sistem dan mengelakkan pembacaan palsu j = 0; // memulakan kaunter kami} gelung void () {lock = digitalRead (readPin); // membaca keadaan pin yang diberikan dan memberikannya kepada pemboleh ubah jika (! lock) {// jalankan hanya apabila pin adalah pemasa RENDAH = mikro (); // tetapkan pemasa rujukan semasa (! kunci) {// lakukan ini sementara pin RENDAH, dengan kata lain, pemasa buka rana2 = mikro (); // ambil kunci masa berlalu = digitalRead (readPin); // baca keadaan pin untuk mengetahui apakah rana telah ditutup} Serial.print ("Position:"); // teks ini adalah untuk memaparkan maklumat Serial.print yang diminta (pilih [j]); Cetakan bersiri ("|"); Serial.print ("Masa dibuka:"); dibaca = (pemasa2 - pemasa); // hitung berapa masa shutter dibuka Serial.print (dibaca); Serial.print ("kami"); Cetakan bersiri ("|"); Serial.print ("Dijangka:"); Serial.println (dijangka [j] * 1000); j ++; // tingkatkan rana, ini boleh dilakukan dengan butang}}

Setelah muat naik selesai, buka monitor bersiri (Alat -> Monitor bersiri) dan sediakan kamera untuk dibaca

Hasilnya ditunjukkan setelah kata-kata "waktu dibuka:", semua maklumat lain telah diprogramkan.

Langkah 3: Menyiapkan dan Mengukur

Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur
Menyiapkan dan Mengukur

Tanggalkan lensa kamera anda dan buka ruang filem. Sekiranya anda sudah memuatkan filem, ingatlah untuk menyelesaikannya sebelum melakukan prosedur ini atau anda akan merosakkan foto yang diambil.

Letakkan IR LED dan transistor foto IR di sisi kamera yang berlawanan, satu di sisi filem dan yang lain di sebelahnya adalah lensa. Tidak kira bahagian mana yang anda gunakan untuk LED atau transistor, pastikan mereka melakukan hubungan visual semasa rana ditekan. Untuk melakukan ini, tetapkan rana pada "1" atau "B" dan periksa monitor bersiri semasa "mengambil" foto. Sekiranya rana berfungsi dengan baik, monitor harus menunjukkan bacaan. Anda juga boleh meletakkan objek legap di antara mereka dan memindahkannya untuk mencetuskan program pengukuran.

Tetapkan semula Arduino dengan butang reset dan ambil gambar satu persatu dengan kelajuan pengatup yang berbeza bermula dari "B" hingga "1000". Monitor bersiri akan mencetak maklumat setelah penutup ditutup. Sebagai contoh, anda dapat melihat masa yang diukur dari kamera filem Miranda dan Praktica pada gambar yang dilampirkan.

Gunakan maklumat ini untuk melakukan pembetulan semasa mengambil foto atau mendiagnosis keadaan kamera anda. Sekiranya anda ingin membersihkan atau menyesuaikan kamera anda, saya sangat mengesyorkan untuk menghantarnya ke juruteknik yang pakar.

Langkah 4: Bahan Geeks

Bahan Geeks
Bahan Geeks
Bahan Geeks
Bahan Geeks
Bahan Geeks
Bahan Geeks
Bahan Geeks
Bahan Geeks

Transistor adalah asas semua teknologi elektronik yang kita lihat hari ini, mereka pertama kali dipatenkan sekitar tahun 1925 oleh seorang ahli fizik Jerman-Amerika kelahiran Austro-Hungaria. Mereka digambarkan sebagai alat untuk mengawal arus. Sebelum mereka, kita harus menggunakan tiub vakum untuk melakukan operasi transistor hari ini (televisyen, penguat, komputer).

Transistor mempunyai keupayaan untuk mengawal arus yang mengalir dari pemungut ke pemancar dan kita dapat mengawal arus itu, pada transistor biasa dengan 3 kaki, menggunakan arus di pintu transistor. Di kebanyakan transistor, arus gerbang diperkuat, jadi, sebagai contoh, jika kita menerapkan 1 mA ke gerbang, kita mendapat 120 mA yang mengalir dari pemancar. Kita boleh membayangkannya sebagai injap paip air.

Transistor foto adalah transistor biasa tetapi bukannya mempunyai kaki gerbang, pintu gerbang disambungkan ke bahan foto yang masuk akal. Bahan ini menghasilkan arus yang kecil apabila teruja oleh foton, dalam kes kita, foton panjang gelombang IR. Jadi, kami mengawal transistor foto yang mengubah kuasa sumber cahaya IR.

Terdapat beberapa spesifikasi yang harus kita ambil kira sebelum membeli dan memasang elemen. Dilampirkan adalah maklumat yang diambil dari lembaran data transistor dan LED. Pertama, kita perlu memeriksa voltan pemecahan transistor yang merupakan voltan maksimum yang dapat dikendalikannya, sebagai contoh, voltan pemecahan saya dari pemancar ke pemungut adalah 5V, jadi jika saya salah memasangkan 8V, saya akan menggoreng transistor. Juga, periksa penyebaran kuasa, ini bermaksud berapa banyak arus yang dapat menyampaikan transistor sebelum mati. Tambang mengatakan 150mW. Pada 5V, 150mW bermaksud sumber 30 mA (Watt = V * I). Itulah sebabnya saya memutuskan untuk menggunakan perintang limiter 220 Ω, kerana, pada 5V, perintang 220 Ω hanya membenarkan lulus arus maksimum 23 mA. (Hukum Ohm: V = I * R). Kes yang sama berlaku untuk LED, maklumat lembaran data mengatakan arus maksimumnya sekitar 50mA, jadi, perintang 220 Ω yang lain akan baik-baik saja, kerana arus keluaran maksimum Arduino pin kami adalah 40 mA dan kami tidak mahu membakar pin.

Kita perlu membuat persediaan seperti yang terdapat dalam gambar. Sekiranya anda menggunakan butang seperti saya, berhati-hatilah meletakkan dua tonjolan bulat di tengah papan. Kemudian, muat naik kod berikut ke Arduino.

int readPin = A1; // pin di mana dihubungkan 220resistor dari phototransistorint ptValue, j; // tempat penyimpanan data yang dibaca dari analogRead () penyediaan tidak sah () {Serial.begin (9600); } gelung void () {ptValue = analogRead (readPin); // kami membaca nilai voltan pada readPin (A1) Serial.println (ptValue); // dengan cara ini, kami mengirim data yang dibaca ke monitor bersiri, sehingga kami dapat memeriksa apa yang terjadi kelewatan (35); // hanya kelewatan untuk membuat tangkapan skrin lebih mudah}

Selepas memuat naik, buka plotter bersiri (Alat -> Penipu bersiri) dan perhatikan apa yang berlaku apabila anda menekan butang suis LED IR anda. Sekiranya anda ingin memeriksa sama ada LED IR berfungsi (juga remote tv) letakkan kamera telefon bimbit anda di hadapan LED dan ambil gambar. Sekiranya tidak, anda akan melihat cahaya biru-ungu yang datang dari LED.

Dalam plotter bersiri anda boleh membezakan ketika LED menyala dan mati, jika tidak, periksa pendawaian anda.

Akhirnya, anda boleh menukar kaedah analogRead untuk digitalRead, jadi anda hanya dapat melihat 0 atau 1. Saya cadangkan untuk melakukan kelewatan selepas Penyediaan () untuk mengelakkan pembacaan LOW yang salah, (gambar dengan satu puncak RENDAH kecil).

Disyorkan: