Isi kandungan:
- Langkah 1: Senarai Bahan
- Langkah 2: Membangun Laser dan Kamera Jig
- Langkah 3: Memandu Laser dan LCD
- Langkah 4: Mengesan Laser Menggunakan OpenCV
- Langkah 5: Penentukuran Range Finder
- Langkah 6: Mengukur Jarak
Video: Membuat Rangefinder Menggunakan Laser dan Kamera: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Saya sedang merancang beberapa kerja dalaman untuk musim bunga akan datang tetapi kerana saya baru memperoleh rumah lama, saya tidak mempunyai rancangan rumah. Saya mula mengukur jarak dinding ke dinding dengan menggunakan pembaris tetapi lambat dan ralat ralat. Saya terfikir untuk membeli alat pencari jarak jauh untuk memudahkan prosesnya tetapi kemudian saya menjumpai artikel lama mengenai membina pencari jarak jauh menggunakan laser dan kamera. Ternyata, saya mempunyai komponen tersebut di bengkel saya.
Projek ini berdasarkan artikel ini:
Satu-satunya perbezaan adalah bahawa saya akan membuat pengintai menggunakan modul Raspberry Pi Zero W, LCD, dan Kamera Raspberry Pi. Saya juga akan menggunakan OpenCV untuk mengesan laser.
Saya akan menganggap bahawa anda adalah pengguna teknologi dan anda selesa menggunakan Python dan baris perintah. Dalam projek ini saya menggunakan Pi dalam mod tanpa kepala.
Mari mulakan!
Langkah 1: Senarai Bahan
Untuk projek ini, anda memerlukan:
- laser 6mm 5mW yang murah
- perintang 220 Ω
- transistor 2N2222A atau yang serupa
- a Raspberry Pi Zero W
- Kamera Raspberry Pi v2
- paparan LCD Nokia 5110 atau yang setara
- beberapa wayar pelompat dan papan roti kecil
Saya menggunakan pencetak 3d saya untuk mencetak jig yang membantu saya semasa eksperimen. Saya juga merancang untuk menggunakan pencetak 3d untuk membina kandang lengkap untuk pencari jarak jauh. Anda boleh melakukannya tanpa.
Langkah 2: Membangun Laser dan Kamera Jig
Sistem ini mengambil jarak tetap antara lensa kamera dan output laser. Untuk memudahkan ujian, saya mencetak jig di mana saya dapat memasang kamera, laser, dan litar pemanduan kecil untuk laser.
Saya menggunakan dimensi modul kamera untuk membina pelekap untuk kamera. Saya menggunakan kaliper digital dan pembaris tepat untuk mengukur. Untuk laser, saya membuat lubang 6mm dengan sedikit tetulang untuk memastikan laser tidak bergerak. Saya cuba menyimpan cukup ruang untuk meletakkan papan roti kecil di bahagian belakang jig.
Saya menggunakan Tinkercad untuk membina, anda boleh mendapatkan modelnya di sini:
Terdapat jarak 3,75 cm antara pusat lensa laser dan pusat lensa kamera.
Langkah 3: Memandu Laser dan LCD
Saya mengikuti tutorial ini https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi untuk memacu paparan LCD dengan Raspberry Pi Zero. Daripada mengedit fail /boot/config.txt, anda boleh mengaktifkan antara muka SPI menggunakan sudo raspi-config melalui baris perintah.
Saya menggunakan Raspberry Pi Zero dalam mod tanpa kepala menggunakan Raspbian Stretch terkini. Saya tidak akan membuat liputan pemasangan di Instructable ini tetapi anda boleh mengikuti panduan ini: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- baris perintah-atau-menggunakan-the-network-97f065af722e
Untuk mempunyai titik laser yang terang, saya menggunakan rel 5V Pi. Untuk itu, saya akan menggunakan transistor (2N2222a atau setara) untuk menggerakkan laser menggunakan GPIO. Perintang 220 Ω di dasar transistor membenarkan arus yang mencukupi melalui laser. Saya menggunakan RPi. GPIO untuk memanipulasi Pi GPIO. Saya menghubungkan pangkal transistor ke pin GPIO22 (pin ke-15), pemancar ke tanah, dan pemungut ke diod laser.
Jangan lupa untuk mengaktifkan antara muka kamera menggunakan sudo raspi-config melalui baris perintah.
Anda boleh menggunakan kod ini untuk menguji persediaan anda:
Sekiranya semuanya berjalan lancar, anda harus mempunyai fail dot-j.webp
Dalam kodnya, kami menyiapkan kamera dan GPIO, kemudian kami mengaktifkan laser, kami menangkap gambar, dan kami mematikan laser. Oleh kerana saya menjalankan Pi dalam mod tanpa kepala, saya perlu menyalin gambar dari Pi ke komputer saya sebelum menunjukkannya.
Pada ketika ini, perkakasan anda harus dikonfigurasikan.
Langkah 4: Mengesan Laser Menggunakan OpenCV
Pertama, kita perlu memasang OpenCV pada Pi. Anda pada asasnya mempunyai tiga cara untuk melakukannya. Anda boleh memasang versi paket lama dengan apt. Anda boleh menyusun versi yang anda mahukan tetapi dalam kes ini masa pemasangan boleh sampai 15 jam dan sebahagian besarnya untuk penyusunan sebenarnya. Atau, pendekatan pilihan saya, anda boleh menggunakan versi pra-kompilasi untuk Pi Zero yang disediakan oleh pihak ketiga.
Kerana lebih mudah dan cepat, saya menggunakan pakej pihak ketiga. Anda boleh mendapatkan langkah-langkah pemasangan dalam artikel ini: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Saya mencuba banyak sumber lain tetapi pakej mereka tidak terkini.
Untuk mengesan penunjuk laser, saya mengemas kini kod dari https://github.com/bradmontgomery/python-laser-tracker untuk menggunakan modul kamera Pi dan bukannya peranti USB. Anda boleh menggunakan kod secara langsung jika anda tidak mempunyai modul kamera Pi dan ingin menggunakan kamera USB.
Anda boleh mendapatkan kod lengkap di sini:
Untuk menjalankan kod ini, anda perlu memasang pakej Python: bantal dan picamera (sudo pip3 memasang bantal picamera).
Langkah 5: Penentukuran Range Finder
Dalam artikel asal, penulis merancang prosedur penentukuran untuk mendapatkan parameter yang diperlukan untuk mengubah koordinat y ke jarak sebenar. Saya menggunakan meja ruang tamu saya untuk penentukuran dan sekeping kraft lama. Setiap 10 cm atau lebih saya mencatat koordinat x dan y ke dalam spreadsheet: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… Untuk memastikan semuanya berfungsi dengan betul, pada setiap langkah, saya memeriksa gambar yang diambil untuk melihat apakah laser dikesan dengan betul. Sekiranya anda menggunakan laser hijau atau jika laser anda tidak dijejaki dengan betul, anda perlu menyesuaikan rona, tepu, dan ambang nilai program dengan sewajarnya.
Setelah fasa pengukuran selesai, sudah tiba masanya untuk menghitung parameternya. Seperti pengarang saya menggunakan regresi linear; sebenarnya Google Spreadsheet melakukan tugas untuk saya. Saya kemudian menggunakan semula parameter tersebut untuk menghitung anggaran jarak dan memeriksanya dengan jarak sebenar.
Sekarang masanya untuk memasukkan parameter ke dalam program pengintai untuk mengukur jarak.
Langkah 6: Mengukur Jarak
Dalam kod: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c Saya mengemas kini pemboleh ubah HEIGHT, GAIN, dan OFFSET mengikut ukuran penentukuran. Saya menggunakan formula jarak dalam artikel asal untuk mengira jarak dan saya mencetak jarak menggunakan paparan LCD.
Kod pertama akan menetapkan kamera dan GPIO, kemudian kita ingin menyalakan lampu latar LCD untuk melihat pengukuran dengan lebih baik. Input LCD dipasang ke GPIO14. Setiap 5 saat atau lebih, kami akan:
- aktifkan diod laser
- menangkap gambar dalam ingatan
- lumpuhkan diod laser
- mengesan laser menggunakan penapis jarak HSV
- tulis gambar yang dihasilkan ke cakera untuk tujuan penyahpepijatan
- hitung jarak berdasarkan koordinat y
- tulis jarak pada paparan LCD.
Walaupun begitu, langkah-langkahnya sangat tepat dan cukup tepat untuk kes penggunaan saya, ada banyak ruang untuk penambahbaikan. Contohnya, titik laser tidak berkualiti dan garis laser tidak betul-betul berpusat. Dengan laser yang lebih berkualiti, langkah penentukuran akan lebih tepat. Walaupun kamera tidak betul-betul diposisikan di jig saya, ia condong ke bawah.
Saya juga dapat meningkatkan resolusi penemu jarak dengan memutar kamera 90º menggunakan penuh dengan dan meningkatkan resolusi ke maksimum yang disokong oleh kamera. Dengan pelaksanaan saat ini kita terbatas pada julat 0 hingga 384 piksel, kita dapat meningkatkan batas atas menjadi 1640, 4 kali resolusi saat ini. Jaraknya akan lebih tepat.
Sebagai tindak lanjut, saya perlu melakukan penambahbaikan ketepatan yang saya nyatakan di atas dan membina kandang untuk pengintai jarak jauh. Kandang perlu kedalaman yang tepat untuk memudahkan pengukuran dinding ke dinding.
Secara keseluruhan sistem semasa cukup untuk saya dan akan menjimatkan sejumlah wang untuk membuat rancangan rumah saya!
Disyorkan:
Cara Membuat dan Memasukkan Jadual dan Menambah Lajur Tambahan dan / atau Baris ke Jadual Itu di Microsoft Office Word 2007: 11 Langkah
Cara Membuat dan Memasukkan Jadual dan Menambah Lajur Tambahan dan / atau Baris ke Jadual Itu di Microsoft Office Word 2007: Pernahkah anda mempunyai banyak data yang anda gunakan dan fikirkan sendiri … " bagaimana saya dapat membuat semua data ini kelihatan lebih baik dan lebih mudah difahami? " Sekiranya demikian, maka jadual di Microsoft Office Word 2007 mungkin adalah jawapan anda
Kamera CCTV Dengan NodeMCU + Modul Kamera Laptop Lama (Dengan dan Tanpa Menggunakan Blynk): 5 Langkah
Kamera CCTV Dengan NodeMCU + Modul Kamera Laptop Lama (Dengan dan Tanpa Menggunakan Blynk): Hai kawan-kawan! Dalam arahan ini, saya akan menunjukkan kepada anda bagaimana saya menggunakan modul kamera lama dan nodeMCU untuk membuat sesuatu yang serupa dengan CCTV
Menghubungkan Pemprosesan dan Arduino dan Membuat 7 Segmen dan Pengawal GUI Servo: 4 Langkah
Menghubungkan Pemprosesan dan Arduino dan Membuat 7 Segmen dan Pengawal Servo GUI: Untuk beberapa projek yang anda buat perlu menggunakan Arduino kerana menyediakan platform prototaip yang mudah tetapi memaparkan grafik dalam monitor bersiri Arduino boleh memakan masa cukup lama dan bahkan sukar untuk dilakukan. Anda boleh memaparkan grafik di Arduino Serial Monitor dengan
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: 5 Langkah (dengan Gambar)
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: Mengendalikan 8 suis relai menggunakan penerima nodemcu dan ir melalui aplikasi wifi dan jauh dan android. Alat kawalan jauhnya tidak bergantung pada sambungan wifi. DI SINI ADALAH KLIK VERSI YANG DIKEMASKINI SINI
Menjadikan Kamera Anda Ke "Nightvision tentera", Menambah Kesan Nightvision, atau Membuat Mode NightVision "pada Mana-mana Kamera !!!: 3 Langkah
Menjadikan Kamera Anda Ke Mode "Nightvision ketenteraan", Menambah Kesan Nightvision, atau Membuat NightVision "pada Mana-mana Kamera !!!: *** Ini telah masuk dalam DIGITAL DAYS FOTO CONTEST, Tolong pilih saya ** * Sekiranya anda memerlukan pertolongan, sila e-mel: [email protected] Saya berbahasa Inggeris, Perancis, Jepun, Sepanyol, dan saya tahu bahasa lain sekiranya