Daftar Isi:
- Langkah 1: Tapi.. Bagaimana?
- Langkah 2: Mempelajari Cara Memicu Kamera
- Langkah 3: Cara Memicu
- Langkah 4: Menulis Kode untuk Pemicu
- Langkah 5: Interval Kelas{};
- Langkah 6: Memanipulasi Interval Melalui Arduino
- Langkah 7: Menampilkan Interval
- Langkah 8: Menyatukan Semuanya
- Langkah 9: Menambahkan Satu Hal Terakhir
- Langkah 10: Mengandung Mess
- Langkah 11: Sens0rs
- Langkah 12: PoweeEeEer
- Langkah 13: Kandang.. Agak
- Langkah 14: Fin
Video: Pimp My Cam: 14 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:59
Dari sinilah proyek ini berasal.
Beberapa waktu lalu saya berpikir untuk merekam beberapa timelapse. "Bagaimana?" Saya bertanya pada diri sendiri? Jawaban pertama adalah "Yah.. Anda hanya memfilmkan sesuatu dan mempercepatnya dan hanya itu". Tapi apakah itu benar-benar sederhana? Pertama, saya ingin menggunakan DSLR saya untuk itu, dan Nikon D3100 saya memiliki batas waktu 10 menit untuk merekam video. Kedua, bahkan jika saya memiliki kamera tanpa batas waktu untuk merekam video, bagaimana jika saya ingin membuat timelapse yang sangat lama, seperti 12 jam? Saya membuat video 1080p berdurasi 12 jam. Saya ragu baterainya akan bertahan selama itu dan, itu sangat tidak praktis, bukan? Oke, melewati "ide pembuatan video". Nah, kemudian ada gambar. Mengambil foto di kamera pada interval tertentu dan berakhir dengan ratusan gambar yang kemudian saya proses melalui perangkat lunak untuk membuat video.. ?
Sepertinya ide yang bagus jadi saya memutuskan untuk mencobanya. Jadi saya akhirnya ingin membuat perangkat di mana saya dapat memasukkan periode waktu, dan berdasarkan periode itu akan memicu kamera saya terus-menerus. Dan sementara kita melakukannya, mengapa tidak menambahkan beberapa hal lain seperti pemicu gerakan dan sebagainya?
Langkah 1: Tapi.. Bagaimana?
BAGAIMANA? adalah pertanyaan kami berikutnya yang tidak memiliki jawaban. Karena pengaturan waktu, pemicu, sensor, dan hal-hal semacam itu, tidak mengherankan jika yang pertama kali terlintas dalam pikiran adalah Arduino. Baiklah, tapi tetap saja, kita perlu belajar cara memicu rana pada kamera kita. Hm.. servo panas ditempel ke body camera? Sama sekali tidak, kami ingin ini senyap dan hemat daya. Hemat daya - mengapa? Karena saya ingin membuatnya portabel dan memasukkan baterai ke dalamnya, saya tidak akan berada di dekat colokan listrik setiap saat. Jadi bagaimana kita memicunya.. sebenarnya cukup sederhana.
Nikon sudah tahu bahwa Anda akan menginginkan remote dan aksesori lainnya dan mereka berkata " oke, kami akan memberikan semuanya, tetapi kami akan membuat port khusus sehingga kami dapat menghasilkan lebih banyak uang untuk aksesori itu ", malu Anda Nikon. Port itu (dalam kasus saya) disebut MC-DC2, dan cara termurah untuk mendapatkannya adalah dengan membeli pelepas rana jarak jauh di eBay seharga 2-3$ dan cukup gunakan kabelnya.
*Beberapa kamera lain, seperti Canon, memiliki jack headphone 3.5mm sederhana yang dibuat untuk penggunaan yang sama sehingga Anda dapat menggunakan beberapa kabel dari speaker/headphone lama.
Langkah 2: Mempelajari Cara Memicu Kamera
Bagaimanapun, inilah kesepakatannya, port akan memiliki 3 koneksi yang akan menjadi perhatian kami (Ground, Focus, dan Shutter) dan Anda akan memilikinya di ujung kabel remote shutter yang baru saja Anda beli yang baru saja Anda hancurkan. Ketiga koneksi itu penting bagi kami karena jika kami menyingkat Ground dan Focus, kamera akan fokus seperti Anda menekan tombol fokus dan kemudian, selama koneksi itu tetap, Anda dapat menyingkat Ground dan Shutter dan kamera akan mengambil gambar. seperti jika Anda menekan tombol rana pada kamera.
Anda dapat menguji ini dengan benar-benar menyingkat kabel hidup di ujung kabel untuk mengidentifikasi kabel mana. Setelah Anda selesai melakukannya, demi mengidentifikasi lebih mudah, kami akan mewarnainya seperti ini:
Tanah = HITAM; Fokus = PUTIH; Rana = MERAH.
Baiklah, sekarang kita perlu mengajari Arduino untuk melakukan ini untuk kita.
Langkah 3: Cara Memicu
Hal paling sederhana yang dapat kita katakan kepada Arduino untuk dikirim ke dunia luar adalah sinyal keluaran digitalnya. Sinyal ini dapat berupa TINGGI (logis '1') atau RENDAH (logis '0'), maka nama "digital", atau ketika diubah menjadi makna intinya: 5V untuk TINGGI logis, dan 0V untuk RENDAH logis.
Apa yang harus kita lakukan dengan sinyal digital ini? Kita tidak bisa begitu saja menghubungkannya ke kamera dan mengharapkan kamera mengetahui apa yang kita inginkan. Seperti yang telah kita lihat, kita perlu mempersingkat koneksi pada kamera agar dapat bereaksi, jadi kita perlu menggunakan sinyal digital Arduino untuk menggerakkan beberapa komponen yang dapat memperpendek terminalnya tergantung pada sinyal listrik yang kita kirim.. * Cara saya menggambarkannya, Anda mungkin berpikir "Ah, Relay!" tapi tidak tidak. Relay akan melakukan pekerjaan tetapi kita berhadapan dengan arus kecil sehingga kita dapat dengan mudah menggunakan ilmu hitam semikonduktor.
Komponen pertama yang akan saya coba adalah optocoupler. Saya telah melihat mereka paling banyak menerapkan untuk ini dan itu mungkin solusi terbaik. Optocoupler adalah komponen listrik yang Anda gunakan untuk mengontrol rangkaian keluaran sementara rangkaian masukan benar-benar terisolasi darinya. Ini dicapai dengan mentransmisikan informasi melalui cahaya, sirkuit input menyalakan LED, dan fototransistor pada output beralih sesuai.
Jadi kami akan menggunakan optocoupler dengan cara ini: kami memberi tahu Arduino kami untuk mengirim digital HIGH pada satu pin digital, sinyal itu praktis 5V yang akan menggerakkan LED di dalam optocoupler dan fototransistor di dalamnya akan "pendek " terminal keluarannya ketika mendeteksi cahaya itu, dan sebaliknya, terminalnya akan "melepas" karena tidak ada cahaya dari LED ketika kita mengirim LOW digital melalui Arduino.
Secara praktis, ini berarti: salah satu pin digital Arduino terpasang ke pin ANODE optocoupler, GND Arduino terpasang ke CATHODE, GND kamera terpasang ke EMITTER dan FOCUS (atau SHUTTER) ke KOLEKTOR. Lihat lembar data optocoupler yang Anda gunakan untuk menemukan pin ini pada pin Anda. Saya menggunakan 4N35 sehingga Anda dapat mengikuti skema saya secara membabi buta jika Anda tidak terlalu peduli dengan apa yang terjadi di dalam optocoupler. Tak perlu dikatakan, kita akan membutuhkan dua ini, karena kita perlu mengontrol FOKUS dan SHUTTER kedua kamera.
Karena kita melihat cara kerjanya, dengan fototransistor pada outputnya, mengapa kita tidak mencobanya hanya dengan transistor NPN sederhana. Kali ini, kita akan membawa sinyal digital secara langsung (melintasi resistor) ke dasar transistor dan menghubungkan GND kamera dan Arduino ke emitor dan fokus/rana kamera ke kolektor transistor.
Sekali lagi, kita membutuhkan dua ini karena kita mengendalikan dua sinyal. Saya menggunakan BC547B dan pada dasarnya Anda dapat menggunakan NPN apa pun untuk ini karena arus yang kami kendalikan adalah satu milliamp.
Kedua komponen ini akan berfungsi, tetapi memilih optocoupler mungkin merupakan ide yang lebih baik karena lebih aman. Pilih transistor hanya jika Anda tahu apa yang Anda lakukan.
Langkah 4: Menulis Kode untuk Pemicu
Seperti yang kami katakan sebelumnya, kami akan menggunakan pin digital Arduino untuk pensinyalan. Arduino dapat menggunakan keduanya untuk membaca data darinya, atau menulisnya sehingga hal pertama yang perlu kita lakukan adalah menentukan dalam fungsi setup() bahwa kita akan menggunakan dua pin digital Arduino untuk output seperti:
pinMode(FOCUS_PIN, OUTPUT);
pinMode(SHUTTER_PIN, OUTPUT);
di mana FOCUS_PIN dan SHUTTER_PIN dapat didefinisikan dengan "#define NAME value" atau sebagai int sebelum fungsi setup() karena Anda dapat mengubah pin sehingga lebih mudah untuk mengubah nilai hanya pada satu tempat daripada seluruh kode sesudahnya.
Hal berikutnya yang akan kita lakukan adalah menulis fungsi trigger() yang akan melakukan hal itu ketika dijalankan. Saya hanya akan menyertakan gambar dengan kode. Yang perlu Anda ketahui adalah pertama-tama kita menahan FOCUS_PIN pada HIGH untuk jangka waktu tertentu karena kita perlu menunggu kamera untuk fokus pada subjek yang kita tunjuk dan kemudian untuk sesaat (sementara FOCUS_PIN masih HIGH) letakkan SHUTTER_PIN di HIGH hanya untuk mengambil gambar.
Saya juga menyertakan kemampuan untuk melewatkan pemfokusan karena tidak akan diperlukan jika kita memotret selang waktu dari sesuatu yang tidak mengubah jaraknya dari kamera melalui waktu.
Langkah 5: Interval Kelas{};
Sekarang setelah kita berhasil memicu kamera, kita perlu menjadikannya sebagai intervalometer dengan menambahkan fungsi memanipulasi periode waktu antara dua bidikan. Agar Anda mendapatkan gambaran tentang apa yang kami lakukan, inilah beberapa kode primitif untuk mendemonstrasikan fungsionalitas yang kami inginkan:
lingkaran kosong(){
penundaan (interval); pemicu(); }
Saya ingin dapat mengubah interval ini dari, katakanlah, 5 detik hingga mungkin 20-30 menit. Dan inilah masalahnya, jika saya ingin mengubahnya dari 5s menjadi 16s atau apa pun di antaranya, saya akan menggunakan kenaikan 1s, di mana untuk setiap permintaan saya untuk meningkatkan interval, interval akan bertambah untuk 1s. Itu bagus, tetapi bagaimana jika saya ingin beralih dari 5 detik ke 5 menit? Ini akan membawa saya 295 permintaan untuk itu dalam kenaikan 1s jadi saya jelas perlu meningkatkan nilai kenaikan menjadi sesuatu yang lebih besar, dan saya perlu menentukan nilai interval yang tepat (ambang) untuk mengubah kenaikan. Saya menerapkan ini:
5s-60s: kenaikan 1s; 60s-300s: kenaikan 10s; 300s-3600s: kenaikan 60s;
tetapi saya menulis kelas ini agar dapat disesuaikan sehingga Anda dapat menentukan ambang dan kenaikan Anda sendiri (semuanya dikomentari dalam file.h sehingga Anda dapat mengetahui di mana harus mengubah nilai mana).
Contoh yang saya berikan untuk memanipulasi interval jelas dilakukan pada PC, sekarang kita perlu memindahkannya ke Arduino. Seluruh kelas ini, Interval, diletakkan di dalam satu file header yang digunakan untuk menyimpan deklarasi dan definisi (tidak juga, tetapi dapat dilakukan dalam contoh ini tanpa membahayakan) kelas/fungsi kita. Untuk memperkenalkan file header ini ke kode arduino kami, kami menggunakan " #include "Interval.h" " (file harus berada di direktori yang sama), yang memastikan bahwa kami dapat menggunakan fungsi yang ditentukan dalam file header di kode utama kami.
Langkah 6: Memanipulasi Interval Melalui Arduino
Sekarang kita ingin dapat mengubah nilai interval, baik menambah atau menguranginya. Jadi itu dua hal jadi kita akan menggunakan dua sinyal digital yang akan dikendalikan oleh dua tombol. Kami akan berulang kali membaca nilai pada pin digital yang kami tetapkan ke tombol dan mengurai nilai tersebut ke fungsi checkButtons(int, int); yang akan menambah interval jika tombol "naik" ditekan dan mengurangi interval jika tombol "turun". Juga, jika kedua tombol ditekan, itu akan mengubah nilai fokus variabel yang mengontrol apakah akan fokus atau tidak saat memicu.
Bagian dari kode ((millis() - prevBtnPress) >= debounceTime) digunakan untuk debouncing. Cara saya menulisnya, itu berarti saya mendaftarkan tombol pertama yang ditekan dengan variabel boolean btnPressed dan ingat waktu itu terjadi. Daripada saya menunggu beberapa waktu (debounceTime) dan jika tombol masih ditekan saya bereaksi. Itu juga membuat "jeda" di antara setiap penekanan tombol lainnya sehingga menghindari beberapa penekanan di mana tidak ada.
Dan akhirnya, dengan:
if ((millis() - prevTrigger) / 1000 >= interval.getVal()) {
prevTrigger = milis(); pemicu(); }
pertama-tama kami memeriksa apakah jumlah waktu antara pemicu terakhir (prevTrigger) dan waktu saat ini (milis ()) (semuanya dibagi 1000 karena dalam milidetik dan intervalnya dalam detik) sama dengan atau lebih besar dari interval kita inginkan, dan jika itu kita ingat waktu saat ini sebagai terakhir kali kita memicu kamera dan kemudian memicunya.
Dengan kelengkapan ini, pada dasarnya kami membuat intervalometer, tetapi kami masih jauh dari selesai. Kami masih belum melihat nilai intervalometer. Ini hanya ditampilkan di Serial Monitor dan kami tidak akan selalu berada di dekat komputer, jadi sekarang kami akan menerapkan sesuatu yang akan menunjukkan interval saat kami mengubahnya.
Langkah 7: Menampilkan Interval
Di sinilah kami memperkenalkan tampilan. Saya menggunakan modul 4 digit yang digerakkan oleh TM1637 karena saya hanya perlu menggunakannya untuk menampilkan waktu dan tidak ada yang lain. Cara termudah untuk menggunakan modul-modul yang dibuat untuk Arduino ini adalah dengan menggunakan perpustakaan yang sudah dibuat untuk mereka. Di situs Arduino ada halaman yang menjelaskan chip TM1673 dan tautan ke pustaka yang disarankan. Saya mengunduh perpustakaan ini dan ada dua cara Anda dapat memperkenalkan perpustakaan ini ke Arduino IDE:
- dari perangkat lunak Arduino, buka Sketch>Include Library>Add. ZIP library dan cari file.zip yang baru saja Anda unduh
- Anda dapat melakukan apa yang dilakukan Arduino secara manual dan cukup unzip perpustakaan di folder tempat Arduino menyimpan perpustakaan, di Windows: C:\Users\Username\Documents\Arduino\libraries\.
Setelah Anda memasukkan perpustakaan, Anda harus membaca file "ReadMe" di mana Anda akan menemukan ringkasan tentang apa yang dilakukan berbagai fungsi. Terkadang ini tidak cukup sehingga Anda ingin masuk lebih dalam dan menjelajahi file header di mana Anda dapat melihat bagaimana fungsi diimplementasikan dan apa yang mereka butuhkan sebagai argumen input. Dan tentu saja cara terbaik untuk merasakan kemampuan perpustakaan biasanya menawarkan contoh yang dapat Anda jalankan dari perangkat lunak Arduino melalui File>Examples>LibraryName>ExampleName. Pustaka ini menawarkan satu contoh yang saya sarankan Anda jalankan di layar Anda hanya untuk melihat apakah tampilan Anda berfungsi dengan baik dan daripada saya mendorong Anda untuk mengubah kode yang Anda lihat dalam contoh dan melihat sendiri apa yang dilakukan setiap fungsi dan bagaimana tampilan bereaksi terhadap dia. Saya telah melakukannya dan inilah yang saya temukan:
ia menggunakan 4 bilangan bulat tidak bertanda dari 8 bit untuk setiap digit (0bB7, B6, B5, B4, B3, B2, B1, B0). Dan masing-masing bit B6-B0 digunakan untuk setiap segmen dari digit tertentu dan jika bitnya adalah 1, segmen yang dikendalikan olehnya menyala. Bilangan bulat ini disimpan dalam array yang disebut data. Mengatur bit-bit ini ke tampilan dilakukan dengan display.setSegments(data); atau Anda secara alami dapat mengakses salah satu digit secara khusus dan mengaturnya secara manual (data[0] = 0b01111001) atau Anda dapat menggunakan fungsi encodeDigit(int); dan ubah digit yang Anda kirim menjadi bit yang sesuai (data[0] = display.encodeDigit(3));. Bit B7 hanya digunakan oleh digit kedua, atau data[1], untuk mengaktifkan titik dua.
Sejak saya menulis fungsi di kelas INTERVAL penyihir yang saya bisa mendapatkan digit tertentu dari interval dalam bentuk M1M0:S1S0, di mana M singkatan menit dan S untuk detik, wajar bahwa saya menggunakan encodeDigitFunction(int); untuk menampilkan interval seperti ini:
tampilanInterval(){
data[0] = display.encodeDigit(interval.getM1()); data[1] = 0x80 | display.encodeDigit(interval.getM0()); data[2] = display.encodeDigit(interval.getS1()); data[3] = display.encodeDigit(interval.getS0()); display.setSegments(data); }
Sekarang, setiap kali saya perlu menampilkan Interval ke layar, saya dapat memanggil fungsi displayInterval().
*Perhatikan tanda " 0x80 | … " pada data[1]. Ini digunakan untuk memastikan bahwa bit B7 dari data[1] selalu 1 sehingga titik dua menyala.
Hal terakhir tentang tampilan, konsumsi daya. Ini mungkin tidak terlalu penting karena kami tidak akan menyimpannya untuk waktu yang lama, tetapi jika Anda tertarik untuk membuat ini lebih ramah baterai, maka pertimbangkan untuk menurunkan kecerahan layar karena menarik 3 kali lebih banyak arus pada kecerahan maksimum. dari pada yang terendah.
Langkah 8: Menyatukan Semuanya
Kami tahu cara memicu kamera, cara memanipulasi interval, dan cara menampilkan interval yang sama ke layar. Sekarang kita hanya perlu menggabungkan semua hal ini bersama-sama. Kita akan mulai, tentu saja, dari fungsi loop(). Kami akan terus-menerus memeriksa penekanan tombol dan bereaksi sesuai dengan checkButtons(int, int) dan mengubah interval yang sesuai dan menampilkan interval yang diubah. Juga di loop() kami akan terus memeriksa apakah cukup waktu telah berlalu dari pemicu terakhir atau tekan tombol dan panggil fungsi trigger() jika diperlukan. Demi konsumsi daya yang lebih rendah, kami akan mematikan layar setelah beberapa saat.
Saya menambahkan led dua warna, (Merah dan Hijau, katoda umum) yang akan menyala hijau saat pemicu () dan akan menyala merah bersama dengan tampilan jika fokus aktif dan akan mati jika fokus mati.
Selain itu, kami akan bermigrasi ke Arduino yang lebih kecil, Pro Mini.
Langkah 9: Menambahkan Satu Hal Terakhir
Sejauh ini.. kita hanya membuat Intervalometer. Berguna, tapi kita bisa berbuat lebih baik.
Inilah yang saya pikirkan: Intervalometer melakukan hal itu secara default KECUALI ketika kita memasang semacam sakelar/sensor eksternal yang kemudian menghentikan intervalometer dan merespons input sakelar/sensor. Sebut saja sensor, itu belum tentu sensor yang terhubung tapi saya akan menyebutnya seperti itu.
Pertama, bagaimana kami mendeteksi bahwa kami telah memasang sensor?
Sensor yang akan kita gunakan/buat semuanya membutuhkan tiga kabel yang menghubungkannya ke arduino (Vcc, GND, Signal). Artinya kita bisa menggunakan jack audio 3.5mm sebagai jack input untuk sensor. Dan bagaimana itu menyelesaikan masalah kita? Nah, ada jenis jack 3.5mm "dengan sakelar" yang memiliki pin yang dipendekkan ke pin konektor jika tidak ada konektor laki-laki di dalamnya, dan mereka terlepas saat ada konektor. Itu berarti kami memiliki informasi berdasarkan keberadaan sensor. Saya akan menggunakan resistor pull-down seperti yang ditunjukkan (pin digital akan membaca HIGH tanpa sensor, dan LOW dengan sensor terpasang) pada gambar atau Anda juga bisa memasang pin digital ke pin konektor yang biasanya terhubung ke ground dan mendefinisikan pin digital itu sebagai INPUT_PULLUP, itu akan berfungsi dengan baik. Jadi sekarang kita harus mengubah kode kita sehingga melakukan semua yang telah kita tulis sejauh ini hanya jika sensor tidak ada, atau ketika pin digital memeriksa yang TINGGI. Saya juga mengubahnya sehingga menunjukkan " SENS " di layar alih-alih interval yang tidak berguna dalam mode ini, tetapi pemfokusan masih relevan bagi kami, kami akan mempertahankan fungsi pemfokusan bergantian dengan menekan kedua tombol dan menunjukkan status fokus melalui led merah.
Apa yang sebenarnya dilakukan sensor?
Yang perlu dilakukan adalah memasang 5V pada pin Sinyalnya saat kita ingin memicu kamera. Itu berarti bahwa kita akan memerlukan pin digital Arduino lain untuk memeriksa status pin ini dan ketika mendaftar HIGH, yang perlu dilakukan hanyalah memanggil fungsi trigger() dan kamera akan mengambil gambar. Contoh termudah, dan yang akan kita gunakan untuk menguji apakah ini berhasil, adalah tombol sederhana dengan resistor pull-down. Pasang tombol antara Vcc sensor dan pin Sinyal dan tambahkan resistor antara pin Sinyal dan GND, dengan cara ini pin Sinyal akan berada di GND ketika tombol tidak ditekan karena tidak ada arus yang mengalir melalui resistor, dan ketika tombol ditekan kami menempatkan pin Sinyal langsung di TINGGI dan Arduino membacanya dan memicu kamera.
Dengan ini kami menyimpulkan menulis kode.
*Saya ingin mencatat beberapa masalah yang saya miliki dengan jack audio yang saya gunakan. Saat memasukkan jack laki-laki ke dalam konektor, GND dan salah satu dari dua pin lainnya terkadang pendek. Ini terjadi secara instan dan hanya saat memasang konektor, tetapi masih cukup lama bagi Arduino untuk mendaftar pendek sehingga Arduino hanya akan restart. Ini tidak sering terjadi tetapi masih bisa menjadi bahaya dan ada potensi merusak Arduino jadi hindari konektor yang saya gunakan.
Langkah 10: Mengandung Mess
Anda dapat melihat dari gambar bahwa papan tempat memotong roti menjadi berantakan dan kami sudah selesai sehingga kami perlu mentransfer semuanya ke perfboard/PCB. Saya memilih PCB karena saya pikir saya akan membuatnya lebih banyak sehingga dengan cara ini saya dapat dengan mudah mereproduksinya.
Saya menggunakan Eagle untuk mendesain PCB dan menemukan desain untuk semua bagian yang saya gunakan. Ada satu hal kecil dalam desain saya yang saya harap tidak saya lakukan dan itu adalah bantalan kawat untuk Vcc layar. Saya telah melihatnya terlambat dan tidak ingin merusak apa yang saya rancang sebelumnya dan dengan malas menambahkan bantalan kawat dan kemudian harus menambahkan kawat ke koneksi ini alih-alih jejak tembaga, jadi ingatlah jika Anda menggunakan desain milik saya.
Papan Arduino dan layar terhubung ke PCB melalui pin header perempuan daripada disolder langsung ke PCB, untuk alasan yang jelas. Dengan cara ini ada banyak ruang untuk komponen lain di bawah layar untuk komponen lain seperti resistor, transistor, dan bahkan jack audio.
Saya telah meletakkan tombol tekan mikro yang, menurut desain, harus disolder secara langsung tetapi Anda juga dapat menggunakan lubang untuk kepala pin perempuan dan menghubungkan tombol dengan kabel jika Anda ingin memasangnya pada penutup dan bukan pada PCB.
Kami juga akan memasang jack audio wanita lain untuk menyambungkan kabel yang terhubung ke kamera. Dengan cara ini papan menjadi lebih fleksibel karena dengan cara itu kita dapat terhubung ke kamera lain dengan konektor lain.
Langkah 11: Sens0rs
Mari kita pertimbangkan cara untuk menerapkan sensor.
Jadi sensor akan memiliki tegangan suplai 5V, dan itu harus dapat memberikan HIGH digital pada pin sinyalnya ketika kita ingin memicu kamera. Hal pertama yang terlintas dalam pikiran saya adalah sensor gerak, PIR untuk lebih spesifik. Ada modul yang dijual untuk Arduino yang memiliki sensor ini dan melakukan apa yang kita inginkan. Mereka diaktifkan pada 5V dan memiliki pin output di mana mereka menempatkan 5V saat dipicu, kita hanya perlu menghubungkan pinnya ke jack audio 3.5mm dan kita dapat mencolokkannya langsung ke papan. Satu hal yang perlu diperhatikan adalah bahwa sensor ini perlu waktu untuk memanas dan mulai bekerja dengan benar jadi jangan berharap itu berfungsi dengan baik segera setelah Anda mencolokkannya, berikan waktu dan kemudian atur dan apa pun yang hidup masuk ke dalamnya. jangkauan akan memicu kamera.
Karena kami berpikir ke arah papan sensor Arduino yang sudah dibuat, satu lagi muncul di pikiran, suara. Papan ini biasanya dibuat sedemikian rupa sehingga mereka memiliki satu pin yang mengeluarkan nilai analog dari suara yang diambilnya dan satu lagi, digital, yang mengeluarkan logika TINGGI jika suara yang diambil melewati level tertentu. Kita dapat mengatur level ini sedemikian rupa sehingga sensor mengabaikan suara kita tetapi mencatat tepukan. Dengan begitu, setiap kali Anda bertepuk tangan, Anda memicu kamera.
Langkah 12: PoweeEeEer
Saya pikir cara termudah untuk menyalakan benda ini adalah dengan bank daya, dan bukan secara eksternal. Kami akan menjaga fungsionalitas pengisian daya ponsel kami atau apa pun dan mengontrol aliran arus ke papan melalui sakelar. Kami akan menemukan pin konektor USB keluaran pada papan sirkuit di bank daya yang merupakan kabel GND dan Vcc (5V) dan Solder langsung ke mereka dan dari sana ke papan kami.
Langkah 13: Kandang.. Agak
Saya benar-benar berjuang dengan ini. Ketika saya membeli kotak yang saya inginkan untuk meletakkan PCB yang ada, saya menyadari bahwa tidak ada cara yang bagus untuk menyesuaikan semuanya seperti yang saya inginkan dan kemudian saya memutuskan untuk mendesain PCB baru, kali ini dengan optocoupler. Saya ingin meletakkan PCB tepat di bawah sisi tempat saya akan mengebor lubang untuk komponen tertentu yang perlu dilihat/disentuh. Agar ini berfungsi, saya perlu menyolder layar dan Arduino langsung ke papan, tanpa soket atau header, dan di situlah letak masalah pertama. Benar-benar mengerikan untuk memecahkan masalah apa pun karena saya belum siap untuk menyoldernya segera sampai saya menguji bahwa semuanya berfungsi, dan saya tidak dapat benar-benar menguji apa pun karena saya tidak dapat menyoldernya dan seterusnya.. don jangan lakukan ini. Soal numero dos, membuat lubang pada case. Saya kira saya melakukan pengukuran yang salah karena tidak ada lubang pada casing yang sejajar dengan komponen pada PCB dan saya harus memperbesarnya dan tombolnya terlalu tinggi pada PCB dan mereka akan selalu ditekan ketika saya meletakkan papan di tempatnya aaand karena saya ingin jack audio di samping, saya harus memperbesar lubang itu juga agar sesuai dengan jack terlebih dahulu dan kemudian menurunkan papan agar tampilan dan tombol masuk.. hasilnya mengerikan.
Saya agak membuat lubang yang mengerikan menjadi kurang mengerikan dengan melapisi bagian atas dengan beberapa karton tipis di mana saya memotong lubang yang lebih masuk akal untuk komponen dan.. itu masih mengerikan tetapi lebih mudah di mata saya pikir.
Putusan, saya sarankan Anda melakukan ini dengan membeli komponen yang dipasang ke enklosur, dan tidak langsung ke PCB. Dengan begitu Anda memiliki lebih banyak kebebasan dalam penempatan komponen dan lebih sedikit tempat untuk membuat kesalahan.
Langkah 14: Fin
Saya sudah selesai, tetapi berikut adalah beberapa hal yang akan saya lakukan secara berbeda:
Gunakan jack audio 3,5 mm dengan kualitas lebih baik. Yang saya gunakan cenderung memperpendek terminal saat memasukkan atau mengeluarkan jack yang menghasilkan korsleting suplai sehingga mengatur ulang Arduino atau hanya menghasilkan pemicu palsu. Saya sudah mengatakan ini di langkah sebelumnya tetapi saya akan mengatakannya lagi.. jangan menyolder papan Arduino tanpa header/soket, itu hanya membuat segala jenis pemecahan masalah atau mengunggah kode baru dan sebagainya jauh lebih sulit. Saya juga berpikir bahwa memiliki sinyal yang dipimpin bahwa benda itu hidup akan berguna karena saya sering tidak tahu tanpa menekan tombol karena layar mati. Dan hal terakhir, fungsi jeda. Saya membayangkan itu berguna ketika misalnya ketika mencolokkan sensor PIR jadi karena perlu waktu untuk memanas, atau hanya ketika memindahkannya Anda tidak ingin memicu sehingga Anda bisa menjeda semuanya, tetapi Anda juga bisa memutarnya dari kamera jadi.. terserah.
Hal lain yang rapi adalah dengan Velcro pada tripod karena kemungkinan besar akan digunakan di sana.
Jangan ragu untuk bertanya apa pun tentang proyek ini di komentar dan saya ingin tahu apakah Anda membangunnya dan bagaimana hasilnya untuk Anda.
Direkomendasikan:
ESP32-CAM Case System dan 3D Printer Cam: 10 Langkah (dengan Gambar)
Sistem Kasing ESP32-CAM dan Kamera Printer 3D: Saya ingin mengganti kamera pada Printer 3-D saya dengan sesuatu yang kecil, sederhana, dan fungsional….dan Murah. Beberapa pencarian Google membawa saya ke Modul ESP32-Cam. Anda dapat menemukannya dengan harga kurang dari $ 10, seperti jauh lebih sedikit dan kinerjanya sangat baik
Tangkap & Kirim Gambar Dengan ESP32-Cam Menggunakan ESP8266 Prosesor Wifi WeMos D1 R1 Dengan Uno: 7 Langkah
Tangkap & Kirim Gambar Dengan ESP32-Cam Menggunakan ESP8266 Prosesor WiFI WeMos D1 R1 Dengan Uno: Ambil gambar menggunakan ESP32-Cam (OV2640) menggunakan ESP8266 Prosesor WiFI WeMos D1 R1 dengan Uno dan kirimkan ke email, simpan ke Google Drive dan kirimkan ke Whatsapp menggunakan Twilio. Persyaratan: ESP8266 Prosesor WiFI WeMos D1 R1 dengan Uno (https://protosupplies
Memulai Dengan ESP32 CAM - Streaming Video Menggunakan ESP CAM Melalui Wifi - Proyek Kamera Keamanan ESP32: 8 Langkah
Memulai Dengan ESP32 CAM | Streaming Video Menggunakan ESP CAM Melalui Wifi | Proyek Kamera Keamanan ESP32: Hari ini kita akan belajar cara menggunakan papan CAM ESP32 baru ini dan bagaimana kita dapat mengkodekannya dan menggunakannya sebagai kamera keamanan dan mendapatkan video streaming melalui wifi
Pimp Zombie Dengan Mata Bersinar: 5 Langkah (dengan Gambar)
Pimp Zombie With Glowing Eyes: Pelajari cara menambahkan LED dengan efek mata bersinar ke gambar yang ada. Dalam kasus saya, saya menggunakan sosok zombie untuk Halloween. Ini cukup mudah dilakukan dan tidak memerlukan keterampilan tingkat lanjut
Pimp Drive USB Anda: 10 Langkah (dengan Gambar)
Pimp Drive USB Anda: Anda suka menyimpan data. Tentu saja. Tetapi ketika Anda membawanya keluar di jalan, orang-orang menertawakan Anda! Ya, saya tahu, mereka tidak mengerti Anda, kan? Yah, mungkin Anda perlu membantu mereka. Beri diri Anda sedikit kredibilitas jalanan dengan membangun