Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Tangkap Tetesan Air dalam Aksi Menggunakan Arduino Nano – Fotografi Kecepatan Tinggi DIY

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Proyek ini lahir dari keinginan untuk mencoba bidang fotografi ini. Di bawah ini Anda akan melihat pengaturan berbasis Arduino sederhana yang saya buat untuk membuat foto kecepatan tinggi dari tetesan air.

Pertama-tama Anda harus memiliki kamera foto dengan pengaturan manual dan lampu flash eksternal, keduanya harus mendukung pengendalian jarak jauh. Saya memiliki Sony DSC-HX300 (Gambar 1) dan GODOX SY8000 (Gambar 2) dengan kabel.

Pada Gambar 2 terlihat dua kabel Arduino yang diisolasi dengan hati-hati dan dipasang pada konektor PC dari SyncCable.

Saya memutuskan untuk memodifikasi pengendali jarak jauh dengan menambahkan header 3 pin sederhana (Gambar 3).

Di dalam pengendali jarak jauh (Gambar 4) terdapat tiga spring logam (1 – «+» dari shutter; 2 – GND; 3 – «+» dari autofocus) yang mencoret dua rangkaian («2–3», kemudian «1–2») saat tombol ditekan.

Karena header pin sekarang terpasang, kita dapat meniru tekanan tombol secara terprogram menggunakan Arduino.

SyncCable bekerja dengan cara yang sama: kontak di konektor PC harus dicoret untuk memicu flash.

Tujuan saya adalah menangkap momen percikan saat tetesan air jatuh ke permukaan air.

Untuk menyederhanakan pengaturan, saya menggunakan beberapa bagian dari tetesan obat yang disatukan bersama (Gambar 5).

Modul laser KY-008 dan modul sensor cahaya berbasis LM393 akan mendeteksi tetesan air yang jatuh (Gambar 6).

Modul-modul ini dapat diatur sehingga tetesan air yang jatuh akan menghambat sinar laser sehingga memutuskan rangkaian. Sensor cahaya dapat menyesuaikan sensitivitasnya terhadap daya laser dengan memutar resistor variabel pada modul. Selain itu, modul dapat diposisikan pada jarak yang jauh satu sama lain.

Pengambilan gambar dilakukan dalam kegelapan dengan paparan lama selama beberapa detik sehingga hanya lampu flash waktu singkat yang penting untuk hasil akhir.

Diagram rangkaian ditunjukkan pada Gambar 7.

Pengaturan ini belum sepenuhnya terotomatisasi. Sebelum pemisahan tetesan yang dapat diamati, pengguna menekan tombol. Ini membuka shutter selama beberapa detik melalui mencoret kontak secara berurutan di pengendali jarak jauh oleh Autofocus Trigger dan Shutter Trigger. Tekanan tombol juga memungkinkan memicu lampu flash. Saat tetesan melintasi sinar laser, Flash Light Trigger mencoret kontak di konektor PC dan lampu flash menyala. Waktu antara melintasi sinar laser dan mencoret kontak di SyncCable disesuaikan oleh Potensiometer dalam rentang 1 hingga 500 ms. (batas dapat diubah dalam kode). Dengan cara ini, momen berbeda dari percikan dapat ditangkap. Tetesan berikutnya tidak memicu lampu flash: untuk mengaktifkan fungsi ini tombol harus ditekan lagi.

Rangkaian ditunjukkan pada Gambar 8.

Pengikat optik dapat ditambahkan pada rangkaian di atas untuk memisahkan lampu flash tegangan tinggi dari elektronika tegangan rendah.

Parameter kode utama ditunjukkan pada Gambar 9. Proyek ini didasarkan pada Arduino Nano.

Flag «DBG_MODE» dimaksudkan untuk pengaturan dan penyesuaian awal baik modul laser maupun modul sensor cahaya. Dalam mode ini, kamera dan lampu flash tidak digunakan. LED built-in papan Arduino berfungsi sebagai indikator.

Untuk menyesuaikan pengaturan, nonaktifkan komentar flag, kompilasi kode dan flash Arduino. Jika pengaturan benar, LED akan menyala saat tombol ditekan (simulasi shutter) dan mati saat tetesan melintasi sinar laser (simulasi pemakaian lampu flash).

Jika pengaturan berfungsi dengan baik, aktifkan kembali komentar flag, kompilasi kode dan flash Arduino lagi.

Kode juga berisi konstanta berikut:

Beberapa hasil ditunjukkan pada Gambar 10 – 12.

Kode

Untitled file
//#define DBG_MODE const byte BUTTON_PIN = 2; const byte FOCUS_PIN = 3; const byte SHUTTER_PIN = 4; const byte FLASH_PIN = 5; const byte SENSOR_PIN = 6; const byte RESISTOR_PIN = A5; const unsigned int FOCUS_DELAY = 100; const unsigned int SHUTTER_DELAY = 100; const unsigned int FLASH_DELAY = 10; const unsigned int FIRE_DELAY_MIN = 1; const unsigned int FIRE_DELAY_MAX = 500; boolean prevButton, currButton; boolean prevSensor, currSensor; boolean allowFlash; unsigned long fireDelay; void openShutter() { #ifndef DBG_MODE digitalWrite(FOCUS_PIN, HIGH); delay(FOCUS_DELAY); digitalWrite(SHUTTER_PIN, HIGH); delay(SHUTTER_DELAY); digitalWrite(SHUTTER_PIN, LOW); delay(FOCUS_DELAY); digitalWrite(FOCUS_PIN, LOW); #else digitalWrite(LED_BUILTIN, HIGH); #endif } void fireFlash() { #ifndef DBG_MODE digitalWrite(FLASH_PIN, HIGH); delay(FLASH_DELAY); digitalWrite(FLASH_PIN, LOW); #else digitalWrite(LED_BUILTIN, LOW); #endif } void setup() { pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(FOCUS_PIN, OUTPUT); pinMode(SHUTTER_PIN, OUTPUT); pinMode(FLASH_PIN, OUTPUT); pinMode(SENSOR_PIN, INPUT); #ifdef DBG_MODE pinMode(LED_BUILTIN, OUTPUT); #endif digitalWrite(FOCUS_PIN, LOW); digitalWrite(SHUTTER_PIN, LOW); digitalWrite(FLASH_PIN, LOW); prevButton = digitalRead(BUTTON_PIN); prevSensor = digitalRead(SENSOR_PIN); allowFlash = false; } void loop() { currButton = digitalRead(BUTTON_PIN); if (prevButton != currButton) { prevButton = currButton; if (currButton == LOW) { allowFlash = true; prevSensor = HIGH; fireDelay = map(analogRead(RESISTOR_PIN), 0, 1023, FIRE_DELAY_MIN, FIRE_DELAY_MAX); openShutter(); } else { delay(50); } } currSensor = digitalRead(SENSOR_PIN); if (prevSensor != currSensor) { prevSensor = currSensor; if (currSensor == HIGH) { if (allowFlash) { allowFlash = false; delay(fireDelay); fireFlash(); } } } } 

Skematik

Tangkap Tetesan Air dalam Aksi Menggunakan Arduino Nano – Fotografi Kecepatan Tinggi DIY

Proses manufaktur

  1. Bangun Tabung Pintar: Kendalikan Penerima Koin dengan Arduino Nano
  2. Pemantauan Kualitas Air Berbasis IoT & AI Melindungi Kehidupan Akuatik
  3. JX Wave Generator – Osilator DDS Kompatibel Arduino dengan Tampilan OLED
  4. Kontrol LED melalui Bluetooth dengan Arduino – Panduan DIY Sederhana
  5. Pantau Suhu Rumah Anda dari Mana Saja dengan Integrasi Arduino Cloud
  6. Menghubungkan Arduino Mega ke Modul GPS NEO‑6M: Panduan Langkah demi Langkah
  7. Modul GPS u-blox LEA-6H 02: Panduan Integrasi Arduino & Python
  8. Integrasi Sensor Denyut Nadi MAX30100 dengan Arduino: Panduan Langkah demi Langkah
  9. Panduan Membangun Aplikasi Fridgeye dengan Tampilan Nextion: Langkah demi Langkah
  10. Panduan Langkah demi Langkah: Menghubungkan Sensor Kelembaban Tanah YL-39/YL-69 ke Arduino UNO