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

Gerak Mengikuti Basis Kamera Bermotor

Komponen dan persediaan

Arduino UNO
× 1
Kapasitor 100 F
× 1
LED (generik)
× 5
Sensor Gerak PIR (generik)
× 5
Resistor 220 ohm
× 5
Servo (Tower Pro MG996R)
× 1

Tentang proyek ini

Saya datang dengan ide ini untuk memecahkan masalah yang saya alami dengan kamera keamanan rumah saya. Saya memiliki satu kamera tertentu yang diposisikan di dinding di antara dua ruangan, namun Anda hanya dapat melihat satu ruangan pada satu waktu kecuali Anda masuk ke perangkat lunak kamera untuk memutarnya secara manual. Jika seseorang berjalan ke ruangan yang berlawanan, kamera tidak akan pernah merekam aksinya. Untuk mengatasi masalah ini, saya memutuskan untuk membuat basis pendeteksi/pelacakan gerakan tempat saya dapat memasang kamera sehingga kamera akan secara otomatis memposisikan dirinya ke mana pun gerakan itu terdeteksi.

BAGAIMANA CARA KERJANYA :

Perangkat ini menggunakan 5 sensor gerak PIR untuk mendeteksi gerakan apa pun dalam radius 180º. Setelah gerakan terdeteksi, motor servo memutar dasar kamera untuk menunjuk ke arah itu. Ada juga 5 lampu "status" LED yang ditempatkan di dalam alas yang akan menyala kapan saja salah satu sensor PIR mendeteksi gerakan.

LIHAT AKSINYA!

KABEL :

Pengkabelan untuk proyek ini sederhana dan mudah, namun, karena fakta bahwa ada 5 dari semuanya kecuali motor servo, jumlah kabel mulai bertambah sedikit. Lihat diagram sirkuit dan skema di bagian bawah halaman ini untuk detail lebih lanjut, tetapi inilah dasar-dasarnya.

status LED menyala...

Saya menggunakan papan tempat memotong roti mini untuk memisahkan lampu LED dari sirkuit lainnya untuk memudahkan pelepasan jika diperlukan. Setiap LED merespons sensor PIR yang berbeda dan akan menyala setiap kali mendeteksi gerakan. Cukup sambungkan setiap LED ke input digital terpisah (9-13) di Arduino, dan hubungkan melalui resistor 220 ohm.

sensor gerak PIR...

Saya menggunakan sensor PIR model HC-SR501 untuk proyek ini. Setiap sensor PIR perlu dihubungkan ke input digital (2-6) pada Arduino, daya 5V, dan ground. Jika Anda menggunakan sensor PIR yang sama dengan saya, Anda dapat (dengan hati-hati) melepas penutup dan pin ditandai di bawahnya. Anda akan menghubungkan setiap sensor PIR ke lampu LED yang sesuai dalam kode yang diunggah nanti.

motor servo...

Motor servo dipasang ke dudukan tempat kamera berada, dan memutar kamera agar sejajar dengan sensor PIR aktif. Menggunakan pinout untuk motor Anda, sambungkan satu pin ke daya, pin lain ke input digital Arduino 7, dan pin terakhir ke ground. Sebelum menyalakan Arduino, pastikan untuk menghubungkan kapasitor 100µF antara daya dan ground motor untuk membantu melindungi board dari lonjakan daya yang terjadi saat motor bergerak.

Satu hal yang perlu diperhatikan tentang motor servo adalah tidak semua memiliki rentang gerak 180º penuh. Setelah beberapa pengujian, saya menemukan bahwa milik saya hanya bergerak sekitar 160º, jadi modifikasi kodenya jika motor Anda berbeda. Anda akan mengetahui bahwa motor mencoba bergerak terlalu jauh saat mengeluarkan bunyi gerinda pada posisi sensor PIR terakhir.

KONSTRUKSI :

Saya menggunakan labeler cd Memorex lama untuk rumah servo dan permukaan untuk dudukan kamera. Saya gagal mengambil gambar 'sebelum', jadi gambar di bawah ini adalah satu-satunya sisa gambar yang dapat saya temukan secara online. Bagian belakangnya adalah cakram plastik datar dan kokoh yang akhirnya terlepas menjadi satu bagian (setelah sedikit bujukan dari obeng saya), sehingga cocok untuk tempat duduk kamera saya. Itu juga dilengkapi dengan 4 'kaki' karet yang dapat dilepas, yang membantu memberi kamera sedikit lebih banyak cengkeraman saat motor bergerak.

Saya mengambil tang saya ke bagian hitam di tengah untuk menghapusnya…dan maksud saya, memecahnya menjadi bagian sebanyak mungkin sebelum hilang :)  Selanjutnya, saya mengebor beberapa lubang di dasar dengan Dremel saya dan kemudian pasang motor servo dengan beberapa sekrup.

Terakhir, saya menggunakan sekrup lain untuk memasang motor servo ke bagian tempat kamera akan diletakkan. Saya mengalami masalah di mana bobot kamera menyebabkan alasnya miring, jadi saya memecahkannya dengan membuat silinder karton yang cukup tinggi agar pas di antara motor dan kamera. Sekarang masih bergerak bebas, tetapi memiliki lebih banyak dukungan dengan bobotnya yang terdistribusi secara merata.

Inilah tampilan semuanya setelah sensor PIR dipasang dan semua sirkuit selesai. Anda akan melihat saya menggunakan beberapa papan tempat memotong roti untuk menyelesaikan proyek saya. Alasannya adalah karena sangat mudah untuk memasukkannya ke dalam alas, serta memilih mana yang akan dihapus saat memecahkan masalah dan memperluasnya nanti.

Untuk menyelesaikan proyek ini, saya mengecat semua bagian karton yang terlihat dengan warna hitam agar terlihat lebih mulus dengan dudukan hitam di atasnya.

Inilah produk jadi setelah pengecatan...


Kode

  • Kode Utama
Kode UtamaArduino
Sensor PIR akan mengkalibrasi selama 15 detik setelah menyalakan Arduino. Sebaiknya Anda meninggalkan ruangan selama proses ini agar sensor mendapatkan gambar ruangan yang sebenarnya tanpa gerakan apa pun.
/****************** ******************************** Gerakan Mengikuti Basis Kamera Bermotor ****** oleh Lindsay Fox *** *************************************************/ // Motor servo#termasuk Servo camServo; // beri nama motor servo yang mengendalikan kamera baseint currentPIRposition =0; // atur sudut servo saat ini// status lampu LEDint LEDpin[] ={9,10,11,12,13}; // Nomor pin LED pada pin LED saat ini =9; // pin LED saat ini; mulai dari urutan pertama di atas // sensor PIRint PIRpin[] ={2,3,4,5,6}; // nomor pin PIR pada saat iniPIRpin =2; // pin PIR saat ini; mulai dari urutan pertama di atasint PIRprevState[] ={1,1,1,1,1}; // status PIR sebelumnya (0 =LOW, 1 =HIGH)int PIRposition[] ={157.117.75,78.5,39.25,0}; // menetapkan sudut untuk motor servo (0-157 didistribusikan secara merata antara 5 sensor PIR) status PIR boolean; // Setel status sensor PIR sebagai benar atau salah ///// SETUP ////////////////////////////////////////// //////pengaturan batal() { Serial.begin(9600); camServo.attach(7); // menetapkan pin servo untuk (int p =0; p <5; p++) { // mengatur semua sensor PIR sebagai INPUT pinMode(PIRpin[p], INPUT); } // akhiri 'p' for for (int l =0; l <5; l++) { // set semua LED sebagai OUTPUT pinMode(LEDpin[l], OUTPUT); } // akhiri 'l' untuk /////// KALIBRASI SENSOR PIR /////// Serial.print("Mengkalibrasi Sensor PIR "); for(int c =0; c <15; c++){ // kalibrasi sensor PIR selama 15 detik (ubah dari 10-60 detik tergantung pada sensor Anda) Serial.print("."); penundaan (1000); // tunggu 1 detik } // akhiri kalibrasi untuk Serial.println("Sensor PIR Siap"); camServo.write(78.5); // pindahkan servo ke posisi tengah untuk memulai } // akhiri pengaturan///// LOOP UTAMA ////////////////////////// ///////void loop() { for (int PIR =0; PIR <5; PIR++) { // mulai loop ini untuk setiap sensor PIR currentPIRpin =PIRpin[PIR]; // setel pin PIR saat ini ke nomor saat ini di 'for' loop currentLEDpin=LEDpin[PIR]; // setel pin LED saat ini ke nomor saat ini di 'untuk' loop PIRstatus =digitalRead(currentPIRpin); if (Status PIR ==HIGH) { // jika gerakan terdeteksi pada sensor PIR saat ini digitalWrite(currentLEDpin, HIGH); // nyalakan LED yang sesuai if(PIRprevState[PIR] ==0) { // jika status sensor PIR sebelumnya LOW if (posisi PIR saat ini !=currentPIRpin &&PIRprevState[PIR] ==0) { // jika PIR tinggi berbeda dari posisi saat ini PIR kemudian pindah ke posisi baru camServo.write(PIRposition[PIR]); Serial.print("Sudut sekarang :"); Serial.println(Posisi PIR[PIR]); penundaan (50); posisi PIR saat ini =PIRpin saat ini; // reset posisi PIR saat ini ke pin [PIR] aktif PIRprevState[PIR] =1; // setel status PIR sebelumnya ke TINGGI } PIRprevState[PIR] =1; // set status PIR sebelumnya ke HIGH jika posisi saat ini sama dengan pin PIR saat ini } // akhiri PIRprevState if } // akhiri status PIR if else { // digitalWrite(currentLEDpin, LOW); // led memvisualisasikan status pin keluaran sensor PIRprevState[PIR] =0; // setel status PIR sebelumnya ke LOW } // end else } // akhiri [PIR] untuk loop } // akhiri loop utama

Skema


Proses manufaktur

  1. Kamera
  2. Basis RaspberryPI Minimal
  3. Sensor Gerak menggunakan Raspberry Pi
  4. Sistem Alarm Deteksi Gerakan
  5. Tombol AWS IoT Terkendali Gerakan
  6. Raspberry dengan kamera di sangkar burung
  7. BrickPi Bookreader
  8. KAMERA LANGSUNG STREAMING RASPBERRY PI – PENGATURAN GERAK
  9. Teknologi Gerak Linier
  10. Kamera Plenoptik