Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Memasang dan Mengkonfigurasi OpenCV dan C ++
- Langkah 3: Menyiapkan Arduino
- Langkah 4: Kod C ++
- Langkah 5: Kod Arduino
- Langkah 6: Percetakan 3D dan Memperhalusi Cetakan
- Langkah 7: Membina Kotak
- Langkah 8: Selesaikan
- Langkah 9: Mulakan Program
Video: Meminta Robot Dengan Penjejakan Muka dan Pengawal oleh Xbox Controller - Arduino: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Kami akan membuat robot pengemis. Robot ini akan cuba mengganggu atau menarik perhatian orang yang lewat. Ia akan mengesan wajah mereka dan cuba menembak laser ke arah mereka. Sekiranya anda memberi robot duit syiling, dia akan menyanyikan lagu dan menari. Robot memerlukan arduino, suapan langsung kamera dan komputer untuk menjalankan openCV. Robot juga akan dapat dikendalikan oleh pengawal xBox jika disambungkan ke PC.
Langkah 1: Bahan
Elektronik Perkakasan
- Arduino NANO atau UNO
- Kamera USB 2.0
- Kabel pelompat (lelaki dan wanita)
- 2 x Servo - Generik (Saiz Sub-Mikro)
- 2 x LED - RGB CATHODE 5mm
- Laser 2 x 5mW
- 1 x LED Merah 5mm
- 1 x Papan Roti
- Perintang 4 x 220Ω
- Perintang 1 x 1KΩ
- 1 x protoboard
- 1 x Sensor Sonar 4 pin
- Pengawal Xbox
Analog perkakasan
- Kotak kayu (15 x 15 x 7 cm)
- Lem
- Pita elektrik
Perisian
- Arduino IDE
- Studio visual 2017
- 3Ds Max (atau perisian moddeling 3d lain)
- Praformasi 2.14.0 atau lebih baru
- OpenCV 3.4.0 atau lebih baru
Alat
- Peralatan pateri
- Melihat dan menggerudi
- Pemotong wayar
Langkah 2: Memasang dan Mengkonfigurasi OpenCV dan C ++
Langkah 2.1: Mendapatkan perisian
Visual studio 2017: Muat turun Visual studio Comunity 2017openCV 3.4.0 Win pack: Pergi ke halaman muat turun rasmi
Langkah 2.2: Memasang OpenCV2.2.1: Ekstrak zipfile ke pemacu Windows (: C) anda.2.2.2: Pergi ke tetapan sistem lanjutan anda. Ini boleh didapati dalam fungsi carian win10 anda.2.2.3: Kita perlu menyediakan pemboleh ubah persekitaran baru. Cari persekitaran "Path" dan tekan edit.2.2.4: Sekarang kita perlu menambahkan lokasi "peta bin" ke pemboleh ubah baru di lingkungan Path. Sekiranya anda memasang openCV pada pemacu C anda, jalannya dapat seperti ini: C: / opencv / build / x64 / vc14 / bin Tampal jalan dan tekan "OK" pada semua tetingkap yang mungkin anda buka semasa proses ini.
Langkah 2.3: mengkonfigurasi studio visual C ++ 2.3.1: Membuat projek visual C ++ baru. Jadikan projek Win32 Console Application kosong.2.3.2: Pada tab fail sumber, klik kanan dan tambahkan fail C ++ baru (.cpp) dan beri nama "main.cpp".2.3.3: Klik kanan pada projek- namakan dalam Penyelesai penyelesaian dan pilih Properties.2.3.4: Kita perlu menambah Direktori Sertakan tambahan. Ini dapat dijumpai di bawah tab C / C ++ secara umum. Salin jalan berikut: C: / opencv / build / include dan tampal di belakang "AID" dan klik berlaku.2.3.5: Di tetingkap yang sama kita perlu pilih tab "Linker". secara amnya kita perlu membuat Direktori Perpustakaan Tambahan yang lain. Tampal jalan berikut di belakang "AID" C: / opencv / build / x64 / vc14 / lib dan tekan apply lagi.2.3.6: Di bawah tab Linker yang sama pilih tab "Input". Dan tekan "Ketergantungan Tambahan> edit" dan tampal fail berikut opencv_world320d.lib dan xinput.lib (Untuk pengawal) dan tekan sapukan sekali lagi. Tutup tetingkap. Kini fail C ++ anda siap digunakan.
Langkah 3: Menyiapkan Arduino
Memenuhi servo: Servo berkemampuan berputar ~ 160 ° Mereka perlu mempunyai antara 4, 8 dan 6, 0 Volt untuk beroperasi dengan normal. Servo mempunyai 3 pin: ground, 4, 8 - 6, pin 0 volt dan data sematkan. Untuk projek kami, kami akan menetapkan pin data untuk servo pada DigitalPin 9 dan 10.
Memenuhi LED RGB: LED RGB mempunyai 4 pin. Pin merah, hijau, biru dan tanah. Untuk menjimatkan sedikit ruang di arduino, kita dapat menghubungkan 2 LED RGB bersama-sama. Oleh itu, kita hanya akan menggunakan 3 pin. Kita boleh menyambungkan dan menyolder led RGB pada protoboard seperti dalam gambar. Pin merah => DigitalPin 3 (PWM) Pin hijau => DigitalPin 4Blue pin => DigitalPin 7
Menemui buzzer Piezo: Robot kecil kami akan mengeluarkan suara. Untuk melakukan ini, kita perlu memberinya suara! Kita boleh memilih untuk membuatnya kuat. Atau kita boleh meletakkan perintang 220Ω sebelum buzzer piezo untuk membuatnya sedikit kurang menjengkelkan. Kami meninggalkan buzzer Piezo di papan roti. Oleh itu, tidak perlu disolder. Kami menyambungkan pin data (+) ke DigitalPin 2 dan pin ground ke tanah di papan roti.
Memenuhi Sonar: Untuk mengelakkan robot daripada berusaha mengarahkan orang yang berada sejauh 10 meter. Kita dapat memberi jarak robot kepada tempat dari mana ia dapat mengarahkan orang. Kami melakukan ini dengan sensor sonar. VCC => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => ground
Menemui pengesan duit syiling: Kami akan membuat pengesan duit syiling. Pengesan duit syiling akan berfungsi dengan mengesan sama ada litar ditutup atau rosak. Ia akan berfungsi seperti suis. Tetapi kita perlu berhati-hati. Sekiranya kita melakukan ini dengan salah, akan dikenakan arduino. Pertama: Sambungkan AnalogPin A0 ke kabel 5 volt. Tetapi pastikan untuk meletakkan perintang 1KΩ di antara keduanya. Kedua: Sambungkan wayar ke tanah. Kita boleh segera menyolder wayar dan perintang ke protoboard yang sama seperti yang dipimpin RGB. Sekarang jika kita menyentuh 2 wayar lebih tinggi, arduino akan mengesan litar tertutup. Ini bermakna ada duit syiling! Memenuhi laser azab. Robot memerlukan senjata untuk ditembak! Untuk menjimatkan sedikit ruang, saya memasangkan 2 laser bersama-sama. Mereka akan sesuai dengan sempurna di bingkai kamera. Sambungkannya ke DigitalPin 11 dan ke tanah. Tembak lelaki kecil!
Gimik pilihan. Kita boleh meletakkan LED merah di bawah slot syiling. Ini akan menjadi gimik kecil yang menyeronokkan ketika gelap. Sambungkan wayar ke DigitalPin 8 dan letakkan perintang 220Ω antara LED dan wayar untuk mengelakkannya meletup. Sambungkan pin pendek LED ke tanah.
Langkah 4: Kod C ++
Langkah 4.1: Menyiapkan kod main.cpp4.1.1: Muat turun "main.cpp" dan salin kod ke main.cpp.4.1.2 anda sendiri: Pada baris 14 ubah "com" ke com yang digunakan oleh arduino. "\. / COM (ubah ini)" 4.1.3: Pada baris 21 dan 22 tetapkan jalan yang betul ke fail "haarcascade_frontalface_alt.xml" dan "haarcascade_eye_tree_eyeglasses.xml" Jika openCV dipasang pada pemacu C, fail-fail ini boleh didapati di sini: "C: / opencv / build / etc / haarcascades \" Simpan garis miring terbalik dua atau tambahkan satu di mana hanya ada satu.
Langkah 4.2: Tambahkan tserial.h dan Tserial.cpp 2 fail ini akan menjaga komunikasi antara arduino dan PC.4.2.1: Muat turun tserial.h dan Tserial.cpp.4.2.2: Letakkan 2 fail ini dalam projek direktori. Dalam penjelajah Penyelesaian klik kanan pada projek dan pilih tambah> item yang ada. Di tetingkap pop timbul pilih dua fail yang akan ditambahkan.
Langkah 4.2: Tambahkan CXBOXController.h dan CXBOXController.h Fail-fail ini akan mengambil bahagian pengawal projek.4.2.1: Dalam penjelajah Penyelesaian klik kanan pada projek dan pilih tambah> item yang ada. Di tetingkap pop timbul pilih dua fail yang akan ditambahkan. Fail C ++ disiapkan.
Langkah 5: Kod Arduino
Langkah 5.1: Perpustakaan NewPing5.1.1: Muat turun ArduinoCode.ino dan buka di arduino IDE.5.1.2: Pergi ke "Sketsa> Sertakan perpustakaan> Kelola perpustakaan".5.1.3: Cari di kotak penapis ke "NewPing" dan pasang pustaka ini.
Langkah 5.2: Pustaka Pitches5.2.1: Muat turun pitches.txt dan salin kandungan pitches.txt.5.2.2: Di Arduino IDE tekan CTRL + Shift + N untuk membuka tab baru.5.2.3: Tampal kod dari pitches.txt ke tab baru dan simpan sebagai "pitches.h". Kod Arduino telah disediakan
Langkah 6: Percetakan 3D dan Memperhalusi Cetakan
Langkah 6.1: Cetak fail 3DBuka printfile.form dan periksa sama ada semuanya baik-baik saja. Sekiranya semuanya kelihatan baik, hantarkan karya cetak ke pencetak. Sekiranya ada yang kelihatan atau anda mahu menukar modelnya. Saya telah memasukkan fail 3Ds Max dan fail OBJ untuk anda edit.
Langkah 6.2: Perincikan model6.2.1: Setelah pencetakan selesai rendam 2 model dalam 70% alkohol untuk mengeluarkan resedu cetak.6.2.2: Setelah mencetak meletakkan model di bawah sinar matahari selama beberapa jam untuk membiarkan sinar UV mengeraskan model. Atau anda boleh menggunakan lampu UV untuk mengeraskan model. Ini perlu dilakukan kerana modelnya akan melekit.
6.2.3: Keluarkan rangka sokongan. Ini boleh dilakukan dengan pemotong wayar. Atau alat lain yang boleh memotong plastik.6.2.4: Beberapa bahagian cetakan 3D masih lembut. Walaupun modelnya banyak terdapat sinar UV. Bahagian yang boleh menjadi lembut, adalah bahagian yang dekat dengan bingkai sokongan. Letakkan model di bawah sinar UV sinar untuk mengeras.6.2.5: Dengan "dremel" anda dapat membuang semua lebam kecil yang dibuat oleh rangka. Anda boleh mencuba memasukkan servo ke bingkai. Sekiranya tidak sesuai, anda boleh menggunakan bahan Dremel untuk menghancurkan bahan. buat sesuai.
Langkah 7: Membina Kotak
Langkah 7.1: Membuat lubangSaya telah memasukkan cetak biru kotak yang dimaksudkan. Cetakan biru tidak sesuai dengan skala, tetapi semua ukurannya betul.7.1.1: Mulakan dengan menandakan semua lubang di lokasi yang betul.7.1.2: Bor semua lubang. Lubang yang lebih besar boleh dibuat dengan ukuran dengan Dremel.7.1.3: Lubang persegi juga boleh digerudi. Tetapi untuk menjadikannya persegi, anda boleh memuatkan Dremel dengan fail kecil dan mengeluarkan sudut tajam.7.1.4: Cuba pasangkan semua komponen. jika sesuai, anda boleh pergi! 7.1.5: Awas serpihan kayu. Gunakan kertas pasir untuk menyingkirkannya.
Langkah 7.2: Lukisan7.2.1: Mulakan dengan mengemaskan penutup. Kita memerlukan cat untuk melekat.7.2.2: Ambil kain dan letakkan sedikit Turpentine di atasnya untuk membersihkan kotak.7.2.3: Sekarang anda boleh menyemburkan cat kotak apa sahaja warna yang anda mahukan.
Langkah 8: Selesaikan
Sekarang kita mesti meletakkan semuanya di tempat dan membiarkannya dilakukan. Langkah 8.1: Pengesan duit syiling8.1.1: Lekatkan beberapa pendakap logam untuk pengesan duit syiling.8.1.2: Pateri setiap wayar dari penyambung ke pendakap.8.1.3: Menguji hubungan dengan duit syiling. Sekiranya tidak ada litar tertutup, pasangkan wayar lebih ke tepi. Langkah 8.2: Papan protob dan RGB 8.2.1: Letakkan protoboard di sudut kanan atas dan pita ke bawah! 8.2.2: Sambungkan lekapan RGB dengan wayar dari protoboard! 8.2.3: Sambungkan semua wayar dari protoboard ke arduino. Langkah 8.3: Sensor sonar8.3.1: Letakkan sensor di lubang yang kami buat untuknya. Sekiranya anda mempunyai wayar lelaki ke perempuan anda boleh melangkau 8.3.28.3.2: Potong beberapa wayar lelaki dan perempuan pada separuh dan pasangkan wayar wanita dan lelaki bersama-sama untuk membuat satu kabel yang boleh kita gunakan untuk menyambungkan sensor ke arduino.8.3.3: Sambungkan sensor ke arduino
Langkah 8.4: Laser dan kamera8.4.1: Lekatkan bingkai kecil ke kamera. Pastikan tegak.8.4.2: Letakkan laser ke bingkai juga. Lekatkan mereka sehingga musuh tidak akan mencuri mereka!
Langkah 8.5: Servos dan cetakan 3D8.5.1: Lekatkan servo di lubang penutup8.5.2: Muat naik fail arduino ke arduino (ini menjadikan servo berdiri di kedudukan yang betul) 8.5.3: Dengan servo muncul dataran tinggi bulat. Letakkan ini di servo di penutup.8.5.4: Letakkan cetakan 3D besar di servo dan dataran tinggi dan pasangkannya dengan rapat dengan skru.8.5.5: Letakkan servo kedua pada cetakan 3D kecil dan lekatkan bersama. 8.5.6: Pasang kamera di tempat dan setiap perkara sudah siap!
Langkah 9: Mulakan Program
Untuk memulakan robot, buka Fail C ++ di studio Visual. Pastikan anda berada dalam "mod debug" Muat naik fail arduino ke arduino. Setelah dimuat, tekan main di studio visual. Dan robot akan menembak dan mengumpulkan semua duit syiling di dunia !!!
Disyorkan:
Penjejakan Muka dan Senyum Mengesan Robot Halloween: 8 Langkah (dengan Gambar)
Penjejakan Muka dan Senyuman Mengesan Robot Halloween: Halloween akan datang! Kami memutuskan untuk membina sesuatu yang hebat. Temui robot Ghosty dan Skully. Mereka boleh mengikuti wajah anda dan mereka tahu bila anda tersenyum ketawa bersama anda! Projek ini adalah satu lagi contoh penggunaan Aplikasi iRobbie yang menukar iPhone
YABC - Namun Pengawal Blynk Lain - Pengawal Suhu dan Kelembapan Awan IoT, ESP8266: 4 Langkah
YABC - Namun Pengawal Blynk Yang Lain - Pengawal Suhu dan Kelembapan Awan IoT, ESP8266: Hai Pembuat, Saya baru-baru ini mula menanam cendawan di rumah, cendawan tiram, tetapi saya sudah mempunyai 3x pengawal ini di rumah untuk kawalan Suhu Fermenter untuk bir rumah saya, isteri juga melakukan perkara Kombucha ini sekarang, dan sebagai Termostat untuk Panas
Pembongkaran, Pembersihan, dan Pemasangan Semula Pengawal Xbox 360 .: 11 Langkah (dengan Gambar)
Pembongkaran, Pembersihan, dan Pemasangan Kembali Pengawal Xbox 360: Panduan langkah demi langkah ini akan memberi arahan kepada anda mengenai pembongkaran, pembersihan, dan pemasangan semula Pengawal Xbox 360 anda. Baca setiap langkah secara keseluruhan dengan teliti sebelum pelaksanaan untuk mengelakkan masalah semasa proses
Tangki Raspberry Dengan Antara Muka Web dan Streaming Video: 8 Langkah (dengan Gambar)
Tangki Raspberry Dengan Antara Muka Web dan Penstriman Video: Kami akan melihat bagaimana saya telah menyedari sedikit Tangki WiFi, yang mampu melakukan Kawalan Web jarak jauh dan Streaming Video. Ini bertujuan untuk menjadi tutorial yang memerlukan pengetahuan asas mengenai pengaturcaraan elektronik dan perisian. Atas sebab ini saya ' telah memilih
Antara Muka Keypad Dengan 8051 dan Memaparkan Nombor Papan Kekunci dalam 7 Segmen: 4 Langkah (dengan Gambar)
Antaramuka Papan Kekunci Dengan 8051 dan Memaparkan Nombor Papan Kekunci dalam 7 Segmen: Dalam tutorial ini saya akan memberitahu anda tentang bagaimana kita dapat antara muka pad kekunci dengan 8051 dan memaparkan nombor keypad dalam paparan 7 segmen