Isi kandungan:

Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web: 9 Langkah
Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web: 9 Langkah

Video: Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web: 9 Langkah

Video: Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web: 9 Langkah
Video: SainSmart DFRobot 4WD Arduino ROBO MOBILE PLATTFORM SERVO CAM Raspberry Pi 2024, Julai
Anonim
Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web
Pisang / Raspberry Pi + Arduino Rover Dengan Kamera Web

Projek yang telah saya laksanakan pada masa lapang. Ini adalah robot roda 4 pemacu penuh yang dikendalikan melalui antara muka web. Sekiranya anda mempunyai komen atau pertanyaan, sila hubungi saya. Projek ini sendiri menggunakan bahagian bercetak 3D dan beberapa kod tertentu yang dibuat oleh orang lain. Anda boleh mendapatkan kredit dan melihat kepingan asalnya di akhir Instructuble.

Boleh kita mulakan?

Langkah 1: Komponen yang Anda Perlu

Komponen yang Anda Perlu
Komponen yang Anda Perlu
Komponen yang Anda Perlu
Komponen yang Anda Perlu
Komponen yang Anda Perlu
Komponen yang Anda Perlu

Inilah senarai komponen yang saya gunakan dengan pautan dan alternatifnya. Saya tinggal di Shenzhen, China dan saya membeli bahagian tersebut secara langsung di Taobao.

Casis robot 4-motor Alternatif: Casis yang cukup besar akan berlaku. Yang ini mempunyai 4 motor untuk beberapa tork tambahan. Motornya adalah motor kuning murah biasa, harga untuk

Klon L293D Arduino Motor Shield rev.1 Alternatif: Perisai motor yang lebih baik dinilai untuk arus lebih

Arduino Uno clone Alternatif: Anda boleh menggunakan papan Arduino lain tanpa perubahan kod yang ketara.

Bateri 6V 4.5Ah Pb Alternatif: Anda boleh bereksperimen dengan bateri LiPo yang lebih kecil jika anda mahukan robot yang lebih ringan / hanya menggunakan dua motor.

Alternatif Banana Pi: Boleh menukar untuk Raspberry Pi 1/2/3 atau Orange Pi tanpa perubahan kod yang ketara. Saya hanya menggunakan Banana Pi kerana saya mempunyai sebatang pisang.

Alternatif kamera web: Gunakan kamera CSI untuk Raspberry Pi / Banana Pi / Orange Pi

Pemasangan Kamera / kecondongan dengan servos sg60 Alternatif: Pemasangan kecondongan / panel cetak 3D misalnya boleh menggunakan yang satu ini.

Bahagian bercetak 3D Alternatif: Biarkan imaginasi dan bakat reka bentuk 3D membimbing anda! Juga Thingverse:)

Langkah 2: Sambungkan Motor Dengan Perisai Motor L293D

Sambungkan Motor Dengan Perisai Motor L293D
Sambungkan Motor Dengan Perisai Motor L293D
Sambungkan Motor Dengan Perisai Motor L293D
Sambungkan Motor Dengan Perisai Motor L293D

Sambungkan setiap motor dengan terminal skru pelindung motor. Berikut adalah gambarajah pendawaian. Sekiranya anda hanya mempunyai dua motor dan tidak mahu menukar kod daripada melampirkannya ke MOTOR 1 dan MOTOR 3.

CATATAN: Bagi mereka yang menggunakan motor yang berbeza dengan penarafan arus yang lebih tinggi, anda mungkin memerlukan pemandu motor lain. Sebagai alternatif, peretasan kecil yang bagus yang saya pelajari baru-baru ini ialah anda dapat mengemas kini dua lagi pemandu L293D di atas yang sedia ada (ia adalah cip tengah di papan)!

Langkah 3: Arduino Uno, Motor Shield Assembly

Arduino Uno, Pemasangan Perisai Motor
Arduino Uno, Pemasangan Perisai Motor

Letakkan Arduino Uno di casing dan pasangkan Motor Shield di atasnya. Hanya ada satu cara untuk melakukannya, jika tidak sesuai, anda akan melakukan sesuatu!

Kes Arduino Uno Snug

Inilah kes yang saya gunakan, model yang dibuat oleh Esquilo.

Langkah 4: Sambungkan Kuasa ke Banana Pi dan Arduino

Sambungkan Kuasa ke Banana Pi dan Arduino
Sambungkan Kuasa ke Banana Pi dan Arduino

Saya menggunakan antara muka SATA untuk memberi kuasa kepada Banana Pi (6v). Sekiranya anda mempunyai papan yang sama, anda juga boleh melakukannya, pastikan voltan 5v-6v. Ini bekalan elektrik yang tidak terkawal, jadi saya menganggap ada litar perlindungan untuk kuasa SATA pada Banana Pi M1.

PERHATIAN: Untuk Raspberry Pi anda mempunyai beberapa pilihan: yang selamat (menggunakan penyambung USB untuk menyediakan 5v) dan yang tidak begitu selamat (menggunakan pin GPIO). Inilah pautan untuk membaca mengenai menyambungkan kuasa ke pin GPIO Raspberry Pi. Pastikan anda

1) Gunakan bekalan kuasa terkawal

2) Tetapkan voltan ke 5v

Tidak ada litar perlindungan untuk pin GPIO! Sekiranya anda melakukan sesuatu yang salah, ada kemungkinan serius merosakkan elektronik di papan.

Untuk Arduino hanya pasangkan kuasa ke terminal skru input pada pelindung motor. Ia boleh mengambil masa sehingga 12v.

Langkah 5: Masukkan Pi Banana ke dalam Kotak Bercetak 3D, Pasang Selebihnya Rover

Letakkan Pi Banana dalam Kotak Bercetak 3D, Pasang Selebihnya Rover
Letakkan Pi Banana dalam Kotak Bercetak 3D, Pasang Selebihnya Rover
Letakkan Pi Banana dalam Kotak Bercetak 3D, Pasang Selebihnya Rover
Letakkan Pi Banana dalam Kotak Bercetak 3D, Pasang Selebihnya Rover

Saya menggunakan sarung ini untuk Banana Pi dari benda yang dibuat oleh GermanRobotics. Sampul untuknya saya buat sendiri.

Letakkan Banana Pi di casing, tutup dengan penutup, gunakan gam gam untuk memasang Arduino Uno di atas casing Banana Pi.

Tutup bateri dengan penutup ini dan pasangkan pelekap web cam / tilt mount ke bahagian atas.

Sekiranya anda menggunakan Banana Pi, anda memerlukan hab USB, kerana ia hanya mempunyai dua slot USB (Raspberry 2, 3 mempunyai empat). Dari segi estetika, saya memutuskan untuk menggunakan hab USB OTG 1-2 dan menyembunyikan wayar di dalam casing Banana Pi.

Langkah 6: Pemasangan Perkakasan Selesai

Pemasangan Perkakasan Selesai!
Pemasangan Perkakasan Selesai!

Mari kita ringkaskan apa yang telah kita buat setakat ini.

Kami telah mengumpulkan platform robot, menghubungkan daya ke Banana Pi, Arduino Uno, menghubungkan motor dan servo ke pemandu motor dan menggunakan hab USB untuk menyambungkan kamera USB dan Arduino Uno ke Banana Pi. Sekarang anda boleh menguji dan menyelesaikan masalah perkakasan. Gambar rajah pendawaian yang menunjukkan semua sambungan terdapat dalam gambar untuk langkah ini.

Langkah 7: Konfigurasi Sistem

Konfigurasi Sistem
Konfigurasi Sistem

Saya menggunakan gambar Raspbian Lite untuk sistem pada pi saya. Versi Lite tidak mempunyai GUI, dan hanya dilengkapi dengan pakej asas setiap pemasangan. Tetapi memerlukan lebih sedikit ruang, yang bermaksud kita dapat menggunakan kad SD yang lebih kecil. Sekiranya anda tidak selesa tanpa GUI, anda juga boleh memasang gambar penuh.

Sambungkan pi anda ke Internet dengan kabel Ethernet. Setelah boot, langkah pertama adalah menyambungkannya ke Wi-Fi.

Jalankan arahan berikut di terminal

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Edit fail konfigurasi ke dengan kelayakan WiFi anda

rangkaian = {ssid = "testing" psk = "testingPassword"}

Nyalakan semula pi. Voila! Anda kini disambungkan ke Wi-Fi.

Seterusnya kita perlu memasang pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Sekarang kita menggunakan pip untuk memasang Flask untuk menjalankan server web dan pyserial untuk pi untuk berkomunikasi dengan Arduino melalui sambungan bersiri.

sudo pip pasang kelalang

sudo pip pasang pyserial

Perkara terakhir ialah memasang dan mengkonfigurasi pakej gerakan, yang kami gunakan untuk streaming video dari kamera web kami.

Ikuti arahan hebat ini untuk melakukan ini.

Sekarang kita bersedia untuk gemuruh!

Langkah 8: Memulakan Perisian

Memulakan Perisian
Memulakan Perisian
Memulakan Perisian
Memulakan Perisian

Ingat bagaimana saya mengatakan bahawa kita bersedia untuk gemuruh?

Baiklah, sedikit lagi mengisar dan kemudian kita boleh mula bergemuruh:)

Mari muat turun semua fail yang diperlukan dari repositori github saya.

git klon

Muat naik rover.ino ke Arduino Uno. Sekiranya anda membuat perubahan perkakasan (misalnya menggunakan perisai motor yang berbeza) anda perlu mengubah lakaran.

Sekiranya anda menggunakan kamera web, ubah baris di bahagian bawah fail index.html dalam folder templat. Tukar URL di baris IFRAME agar sesuai dengan URL src untuk aliran video anda.

Sekarang anda boleh memulakan pelayan web. Jalankan arahan berikut

sudo python pi_rover.py

Sekiranya anda mengikuti pembinaan saya dengan hampir dan Arduino tersambung, anda akan melihat (gambar pertama) berikut di terminal.

Taipkan alamat ip robot anda di penyemak imbas web (contohnya jika saya adalah 192.168.1.104), anda boleh menyemak alamat ip dengan perintah $ ifconfig di Linux.

/ buat tarian perayaan di sini! /

Sekiranya anda mempunyai sebarang pertanyaan, sila tanya saya di komen. Tutorial ini ditujukan untuk tahap pemula, tetapi bukan pemula sifar, sebab itulah saya cukup ringkas mengenai perkara-perkara yang boleh anda google (misalnya membakar gambar sistem ke kad SD, memuat naik sketsa Arduino dll).

Langkah 9: Kredit

Idea dan kod pelayan web berasal dari arahan hebat ini oleh jscottb. Saya mengubahnya untuk menggunakan perkakasan yang lebih biasa, seperti Arduino Uno.

Bahagian bercetak 3D dari Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Disyorkan: