Daftar Isi:

Robot Nol Raspberry Pi 3D Dicetak: 12 Langkah
Robot Nol Raspberry Pi 3D Dicetak: 12 Langkah

Video: Robot Nol Raspberry Pi 3D Dicetak: 12 Langkah

Video: Robot Nol Raspberry Pi 3D Dicetak: 12 Langkah
Video: Setting Up a Raspberry Pi 4 | Vilros 2024, Juli
Anonim
Image
Image
Robot Nol Raspberry Pi 3D Dicetak
Robot Nol Raspberry Pi 3D Dicetak
Robot Nol Raspberry Pi 3D Dicetak
Robot Nol Raspberry Pi 3D Dicetak

Pernahkah Anda ingin membuat robot, tetapi tidak memiliki semua bahan untuk membuatnya tanpa berakhir dengan sasis besar yang tidak perlu? Printer 3D hadir untuk menyelamatkan hari! Mereka tidak hanya dapat membuat bagian agar kompatibel dengan hampir semua perangkat keras, mereka juga dapat melakukannya dengan cara yang sangat efisien ruang. Di sini saya akan menunjukkan cara membuat robot yang sangat mendasar yang menampilkan bagian cetak 3D, Raspberry Pi Zero, dan Pi Camera. Saya akan mendorong Anda untuk mengambil dan memodifikasi apa yang telah saya lakukan agar sesuai dengan kebutuhan praktis atau hiburan Anda. Untuk mengontrol robot dan melihat umpan kamera, saya membuat aplikasi iOS (aplikasi PiBotRemote) yang dapat Anda gunakan dan modifikasi dengan bebas. Namun, kekuatan nyata dalam proyek seperti ini berasal dari keragaman kemungkinan baik perangkat keras maupun perangkat lunak. Jadi saya akan mendorong Anda untuk menjadi kreatif dan menambahkan apa yang telah saya lakukan tergantung pada apa yang Anda tahu bagaimana melakukannya. Sebagai contoh, saya pikir akan keren untuk membuat robot ini menggunakan visi mesin untuk mengenali sekelilingnya dan menavigasi mirip dengan mobil self-driving.

Langkah 1: Persyaratan

Persyaratan
Persyaratan
  • Bahan:

    • Diperlukan (Sekitar $75)

      • Raspberry Pi Nol W ($10)
      • Kartu Micro SD ($8,25)
      • 40 Pin Header ($ 3,25)
      • Kabel Jumper ($6,86)
      • Baterai USB ($5.00)
      • 900 RPM Micro Gearmotor x 2 ($12,95 masing-masing)
      • Pengemudi Motor ($4,95)
      • Roda ($6,95)
      • Bantalan Bola Baja 14mm ($ 0,62)
      • Sekrup, Mur, dan Standoff (lihat di bawah)
    • Opsional (Sekitar $45)

      • LED
      • Kamera Raspberry Pi ($29,95)
      • Adaptor Kamera Pi Zero ($ 5,95)
      • Motor Servo ($8,95)
    • Peralatan

      • Printer & Filamen 3D
      • Komputer (Saya akan menggunakan mac, dan Anda memerlukannya jika ingin menggunakan aplikasi PiBot Remote)
      • iPhone/iPad/iPod Touch (Jika Anda akan menggunakan aplikasi)
      • Mengebor
      • Obeng dengan ujung yang bisa diganti

Info lebih lanjut tentang suku cadang

  • Pi Zero: Jika Anda ingin menggunakan Pi Zero hanya untuk proyek ini, Anda akan baik-baik saja dengan menjalankan tanpa kepala sepanjang waktu. Jika tidak, jika Anda ingin menghubungkan output HDMI atau periferal USB, Anda perlu membeli adaptor tambahan. Dalam hal ini, kemungkinan besar opsi yang paling hemat biaya untuk membeli kit Pi Zero, seperti ini ($24), saya beli dari amazon. Meskipun saya masih harus membeli kartu micro SD, kit ini datang dengan Pi Zero, kedua adaptor yang diperlukan, dan banyak header yang berbeda. Semuanya bisa bermanfaat.
  • Kartu Micro SD: Anda dapat menggunakan kartu Micro SD apa pun asalkan memiliki penyimpanan minimal 8GB.
  • Kabel Jumper: Saya suka jumper seperti ini karena mereka datang sebagai bundel yang terhubung. Ini memungkinkan saya untuk memisahkan, katakanlah, bagian 9-kawat, dan menghubungkan Pi dan driver motor dengan rapi.
  • Baterai USB: Baterai yang saya beli dari Sparkfun telah dihentikan. Akibatnya, Anda harus menemukannya di tempat lain. Yang saya tautkan terlihat mirip dengan milik saya tetapi saya belum membelinya, dan Anda mungkin perlu memodifikasi file cetak agar sesuai dengan baterai Anda. Pastikan untuk menemukan baterai dengan kabel micro USB yang terpasang, karena ini memungkinkan Anda untuk mencolokkan langsung ke pi tanpa kabel berlebih.
  • Pengemudi Motor: Saya akan merekomendasikan menggunakan penyelam yang saya tautkan karena cukup murah, dan cetakannya dirancang agar pas dengan papan itu. Selain itu, papan lain mungkin berfungsi secara berbeda, dan Anda mungkin memiliki hasil yang berbeda.
  • Bola Baja 14mm: Saya menggunakan bola ini hanya karena kebetulan saya memilikinya. Jangan ragu untuk menggunakan ukuran lain, tetapi Anda mungkin perlu mengubah ukuran soket. Bola akan berfungsi sebagai roda ke-3 untuk robot kita. Ini adalah salah satu bidang desain pada robot saya yang paling bermasalah saat ini dan paling banyak menggunakan peningkatan. Meskipun bekerja dengan baik pada permukaan yang halus dan keras, ia memiliki masalah pada karpet dan permukaan yang lebih kasar. Jangan ragu untuk mengubah area desain Anda ini.
  • Sekrup, Mur, Kebuntuan: Anda mungkin perlu bekerja sedikit untuk menemukan sekrup yang cocok untuk Anda. Saya hanya menemukan sekrup yang memasang Pi, serta sekrup yang menjaga Kamera Pi terpasang bersama di koleksi sekrup ayah saya. Untuk dudukan dan soket motor, saya menggunakan sekrup ($2,95) ini, dan mur ($1,50) ini, yang keduanya tersedia di Sparkfun. Penyangga dan 8 sekrup (saya tidak sengaja hanya menyertakan 4 dalam gambar) yang menyatukan robot yang saya ambil dari kit VEX sekolah saya yang tidak digunakan.
  • LED: Saya yakin Anda tahu di mana Anda dapat dengan mudah menemukan beberapa LED. Pilih warna mana saja yang Anda inginkan untuk mewakili fungsi: daya, koneksi, jalur pemutaran ulang robot, dan instruksi penerimaan robot.
  • Kamera dan Servo: Tergantung pada apa yang ingin Anda lakukan dengan robot Anda, Anda dapat memilih untuk tidak menyertakan Kamera dan Servo karena tidak diperlukan untuk gerakan dasar, dan menambahkan $45 ke biaya robot.

Langkah 2: Pengaturan Pi Nol

Pengaturan Pi Nol
Pengaturan Pi Nol

Ikuti tautan ini untuk mengatur pemasangan tanpa kepala di Raspberry Pi Zero W Anda

  • Jangan lupa bahwa Pi Zero tidak dapat terhubung ke jaringan Wi-Fi 5GHz
  • Pastikan untuk mengikuti instruksi untuk Raspbian Stretch atau yang lebih baru

Setelah Anda berhasil terhubung melalui SSH ke pi Anda, jalankan

sudo raspi-config

dan ubah konfigurasi berikut:

  • Ubah kata sandi Anda. Sangat berbahaya meninggalkan password default raspberry. Pastikan Anda mengingat kata sandi ini.
  • Di opsi Jaringan, ubah nama host dari raspberrypi menjadi sesuatu yang lebih pendek seperti pizero, atau pibot. Saya akan menggunakan pibot untuk sisa tutorial ini. Pastikan untuk mengingat apa yang Anda taruh di sini.
  • Di opsi Boot -> Desktop / CLI, pilih Console Autologin
  • Buka opsi antarmuka dan aktifkan Kamera

Pilih Selesai dan reboot perangkat.

Langkah 3: Siapkan Jaringan AdHoc

Dengan menyiapkan jaringan AdHoc, kami akan dapat menghubungkan perangkat pengontrol kami langsung ke robot tanpa perantara. Ini akan memungkinkan streaming video yang lebih cepat dan latensi kontrol yang lebih rendah. Namun, langkah ini tidak perlu karena semuanya akan tetap berfungsi melalui jaringan wifi normal.

Pertama, Anda perlu mengunduh dan mengekstrak semua file yang diperlukan dari GitHub. Di terminal, navigasikan ke folder yang diunduh dan kirim folder PiBotRemoteFiles ke pi dengan perintah:

scp -r PiBotRemoteFiles/ [email protected]:Desktop/

Ini mengirimkan semua file yang diperlukan ke robot yang akan mengontrolnya dan mengatur jaringan AdHoc. Pastikan file berada di folder bernama "PiBotRemoteFiles" yang terletak di desktop; jika tidak banyak hal akan gagal untuk bekerja di jalan. Jika Anda akan menggunakan aplikasi PiBot Remote, Anda dapat beralih antara Wi-Fi normal dan jaringan AdHoc di pengaturan aplikasi. Jika tidak, Anda dapat mengubahnya secara manual melalui SSH dengan salah satu perintah berikut:

sudo bash adhoc.sh

sudo bash wifi.sh

Tentu saja, pastikan Anda telah menavigasi ke folder PiBotRemoteFiles sebelum menjalankan perintah sebelumnya. Setiap perubahan antara AdHoc dan Wi-Fi hanya akan berlaku setelah restart berikutnya. Jika AdHoc sudah diatur, maka Anda akan melihat jaringan PiBot muncul saat Pi Zero melakukan booting.

Langkah 4: Tambahkan LED Daya

Tambahkan LED Daya
Tambahkan LED Daya

Meskipun tentu saja tidak perlu, memiliki lampu daya dapat bermanfaat. Untuk mengaktifkan ini, SSH ke Pi Zero dan jalankan perintah:

sudo nano /etc/bash.bashrc

Dan tambahkan baris berikut ke akhir file:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Nanti kita ganti pin GPIO yang berhubungan dengan LED power.

Langkah 5: Pengaturan Antarmuka Web RPi Cam

Pengaturan Antarmuka Web RPi Cam
Pengaturan Antarmuka Web RPi Cam
Pengaturan Antarmuka Web RPi Cam
Pengaturan Antarmuka Web RPi Cam

Untuk memanfaatkan aliran video Raspberry Pi Cameras, kami akan menggunakan RPi-Cam-Web-Interface. Informasi tentang modul ini dapat ditemukan di sini dan kodenya ada di GitHub. Untuk menginstal modul, pertama-tama kita perlu memperbarui Pi kita. Ini bisa memakan waktu hingga sekitar 10 menit.

sudo apt-get update

sudo apt-get dist-upgrade

Kita kemudian perlu menginstal git:

sudo apt-get install git

Dan akhirnya kita bisa menginstal modul:

git clone

RPi_Cam_Web_Interface/install.sh

Setelah modul diinstal, jendela konfigurasi akan muncul. Jika Anda ingin menambahkan nama pengguna dan kata sandi, pastikan untuk menggunakan nama pengguna dan kata sandi yang sama dengan akun pi Anda. Jika tidak, aplikasi PiBot Remote tidak akan dapat menerima aliran kamera.

Sekarang, jika Anda membuka browser pada perangkat di jaringan yang sama dengan Pi dan jika kamera terhubung ke pi, Anda dapat menerima streaming dengan membuka https://pibot.local/html/#. Antarmuka RPi memungkinkan kontrol kamera yang mudah, dan dengan mengetuk atau mengklik video, itu bisa menjadi layar penuh. Kami akan menggunakan ini nanti dengan aplikasi jarak jauh PiBot.

Kami sekarang selesai menyiapkan Pi Zero, ke hal-hal yang menyenangkan!

Langkah 6: Cetak Semuanya

Cetak Semuanya
Cetak Semuanya
Cetak Semuanya
Cetak Semuanya

Meskipun saya menggunakan printer 3D Dremel dengan filamen PLA, jangan ragu untuk menggunakan printer dan bahan Anda sendiri. Semua file STL ada di folder yang Anda unduh dari GitHub. Saya dapat mencetak semuanya dalam empat kelompok: pelat atas, pelat bawah, semua dudukan dan soket, dan cincin. Jadilah kreatif dalam pilihan warna Anda dan manfaatkan sepenuhnya kemampuan printer 3D. Printer saya tidak memiliki ekstrusi ganda atau fitur mewah seperti itu, tetapi jika memiliki akses ke printer seperti itu, saya akan merekomendasikan mencetak dekorasi di bagian atas pelat atas dengan warna yang kontras. Anda mungkin perlu mengajukan dan mengebor untuk membuat beberapa bagian pas.

Jangan ragu untuk mengecat pelat atas untuk membuat simbol dan dekorasi LED terlihat.

Anda mungkin telah memperhatikan dua dudukan di ujung pelat bawah yang menyerupai sistem pemasangan GoPro. Jangan ragu untuk menggunakan ini untuk menempelkan apa pun yang Anda suka ke bagian depan atau belakang robot. Dalam file blender, Anda dapat menemukan mount marker hapus kering yang saya gunakan, serta objek template yang dapat Anda modifikasi untuk menahan objek Anda.

Juga, jangan ragu untuk menentukan arah mana yang maju; Saya telah bertukar setidaknya tiga kali sejauh ini.

Langkah 7: Solder pada Header

Solder pada Header
Solder pada Header
Solder pada Header
Solder pada Header
Solder pada Header
Solder pada Header

Meskipun saya memilih untuk menyolder pada header ke PiZero, Anda dapat menyolder kabel Anda langsung ke pi. Jika Anda memilih untuk menyolder header seperti yang saya lakukan, saya akan merekomendasikan menggunakan satu dengan sudut kanan seperti milik saya. Itu membuat kabel jauh lebih tersembunyi dan membuat semuanya terlihat lebih rapi.

Sekarang saatnya menyolder driver motor. Pelat bawah dirancang khusus untuk driver motor Sparkfun ini, dan memungkinkan ruang untuk kepala pin untuk menjulur ke bawah. Ini memungkinkan penggantian pin motor dengan mudah sehingga Anda dapat bertukar ke kiri dan ke kanan, dan maju dan mundur. Meskipun saya menyertakan langkah berikut sekarang, saya sangat menyarankan menunggu beberapa langkah sampai Anda tahu persis berapa panjang kabel Anda. Potong bagian pin jumper 9-kawat yang kompatibel dengan pin header yang baru saja Anda solder ke pi. Solder setiap kawat dengan hati-hati sehingga kelompok dapat secara kolektif berbaring rata dan membungkus baterai. Ukur panjang kawat terlebih dahulu sehingga Anda tidak mendapatkan terlalu sedikit atau terlalu banyak.

Akhirnya, saatnya untuk menyolder LED. Tempelkan ke lokasi masing-masing di pelat atas, dan lipat semua pin tanah di atas satu sama lain. Solder satu kabel ke ground, dan satu kabel ke setiap LED. Dari kiri ke kanan, fungsi LED adalah: daya robot, konektivitas aplikasi ke robot, robot memutar ulang jalur yang disimpan, dan instruksi diterima oleh robot.

Juga solder kabel ke masing-masing motor sehingga bisa dicolokkan ke header yang berasal dari driver motor.

Langkah 8: Sekrup pada Motor dan Soket

Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket
Sekrup pada Motor dan Soket

Pertama, masukkan setiap motor ke dudukan motor. Kemudian masukkan masing-masing sekrup sebagian, hanya sampai ujungnya mencapai permukaan dudukan atau soket. Kemudian, untuk setiap sekrup, pegang mur di sisi lain pelat saat Anda mengencangkan setiap sekrup. Ingatlah untuk menempatkan bantalan di antara kedua soket saat Anda memasang yang kedua. Tempatkan driver motor pada posisinya dan colokkan motor. Tidak masalah motor mana yang dicolokkan ke setiap output karena Anda dapat dengan mudah mengubahnya begitu robot aktif dan berjalan.

Langkah 9: Siapkan Kamera dan Servo

Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo
Siapkan Kamera dan Servo

Colokkan pita adaptor Pi Zero ke kamera dan kencangkan casing kamera. Tempatkan servo pada posisinya. Anda dapat mengebor lubang sekrup untuk servo, tetapi cukup pas. Pasang kamera ke servo dengan cara apa pun yang menurut Anda paling baik. Saat ini, saya memiliki dua lubang di dudukan, dengan staples melewati tanduk servo dan kotak kamera. Namun, itu menyisakan banyak ruang gerak sehingga Anda mungkin ingin menggunakan lem super. Arahkan kamera ke arah mana pun yang Anda inginkan, dan kencangkan klakson servo di tempatnya. Pasang pita kamera melalui celah di dekat raspberry, dan hubungkan ke pi. Terakhir, lipat pita agar tetap rata dengan baterai.

Langkah 10: Menyatukan Semuanya

Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya
Menyatukan Semuanya

Ini akhirnya waktu untuk semuanya menjadi satu bagian. Colokkan kabel dari LED, driver motor, dan servo ke Pi sedemikian rupa sehingga Anda hanya menggunakan pin yang valid, tetapi tetap dekat dengan pintu keluarnya. Kemudian tempatkan kabel melalui slotnya dan kencangkan pi di tempatnya. Ini dirancang agar pas untuk menjaga semuanya tetap rapi, jadi jangan menyerah ketika tampaknya tidak ada cukup ruang untuk pin jumper besar itu.

Sekrup di setiap standoff ke pelat bawah sehingga masing-masing aman. Masukkan baterai dan pastikan kabel daya dapat masuk melalui slot dan masuk ke port daya Pi Zero. Bungkus kabel driver motor di sekitarnya dan paskan cincin di sekeliling semuanya. Setelah Anda memasukkan semua kabel ke dalam ruang antara baterai dan pelat atas, tonjolan kecil di pelat bawah ke dalam cincin, dan dua titik tinggi pada cincin ke pelat atas. Anda sekarang dapat mengencangkan pelat atas dan Anda telah membuat robot Anda!

Langkah 11: Buka Proyek Xcode

Buka Proyek Xcode
Buka Proyek Xcode
Buka Proyek Xcode
Buka Proyek Xcode
Buka Proyek Xcode
Buka Proyek Xcode

Beberapa langkah berikutnya hanya berlaku jika Anda akan menggunakan aplikasi PiBot Remote, yang memerlukan perangkat Mac dan iOS.

Karena saya murah dan tidak memiliki akun Pengembang Apple berbayar, saya hanya dapat membagikan proyek Xcode, bukan aplikasi itu sendiri. Anda kemudian dapat membuka proyek sendiri, mengubah penandatanganan, dan meluncurkannya di perangkat Anda sendiri.

Jika Anda belum memiliki Xcode, unduh dari app store di Mac Anda. Setelah Xcode dimuat, pilih "Buka proyek lain" di sudut kanan bawah, dan navigasikan ke folder "PiBot Remote" di unduhan GitHub.

Setelah proyek terbuka, klik file root pada tampilan paling kiri yang disebut "PiBot Remote".

Ubah "Bundle Identifier" menjadi sesuatu yang unik. Anda bisa mengganti nama saya dengan nama Anda, atau menambahkan sesuatu di akhir.

Ubah Tim, ke akun pribadi Anda. Jika Anda tidak memilikinya, pilih "Tambahkan akun".

Tekan perintah-B untuk membangun, dan berharap semuanya bekerja dengan benar. Setelah Anda berhasil membangun proyek, colokkan perangkat Anda ke komputer Anda. Klik tombol di sebelah kanan tombol putar dan berhenti di sudut kiri atas, dan pilih perangkat Anda.

Tekan command-R dan aplikasi akan diluncurkan di perangkat Anda. Perangkat Anda mungkin perlu memverifikasi identitas sebelum dijalankan dan hanya memerlukan akses internet saat ini.

Langkah 12: Penyesuaian Akhir

Penyesuaian Akhir
Penyesuaian Akhir

Anda dapat menyesuaikan nomor pin untuk semuanya kecuali untuk LED daya di aplikasi PiBot Remote. Untuk mengubah pin untuk LED daya, SSH menjadi PI, dan jalankan perintah:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Ubah dua instance 36 menjadi pin GPIO apa pun yang Anda gunakan. Kemudian tekan control-X, y, enter.

Aplikasi dan server keduanya rentan terhadap kesalahan. Gunakan konsol dalam mode debug untuk mencari tahu apa yang sedang terjadi. Jika ragu, coba mulai ulang Pi dan/atau mulai ulang aplikasi. Terkadang setelah kegagalan kode, aplikasi tidak dapat terhubung kembali karena alamat sudah digunakan. Dalam hal ini, cukup ubah port dan aplikasi akan terhubung.

Juga, saat mengendarai robot dengan akselerator di perangkat Anda, Anda harus menggunakan beberapa gerakan yang tidak nyaman untuk mengkalibrasi, menghentikan/memulai, menyesuaikan kamera, dan menampilkan/menyembunyikan bilah tab

  • Kalibrasi: Ketuk dan tahan dengan dua jari selama 0,5 detik (jika perangkat Anda mendukungnya, Anda akan merasakan umpan balik haptic setelah perangkat dikalibrasi
  • Penyesuaian Kamera: Gerakan paling rumit, lakukan apa yang dijelaskan sebelumnya untuk mengkalibrasi, lalu seret jari Anda ke atas untuk menggerakkan kamera ke atas, dan seret ke bawah untuk menggerakkan kamera ke bawah. Penyesuaian akan dilakukan setelah Anda mengangkat jari.
  • Stop/Start Toggle: Saat Anda membuka tampilan akselerometer, robot awalnya diatur untuk mengabaikan perintah gerakan. Untuk mengaktifkan pengaturan ini, ketuk dua kali dengan dua jari.
  • Tampilkan/Sembunyikan Bilah Tab: Untuk mengaktifkan tampilan layar penuh saat mengemudi akselerometer, bilah tab akan secara otomatis bersembunyi setelah beberapa detik. Untuk menampilkannya lagi, geser ke atas. Untuk menyembunyikannya, geser ke bawah.

Jika Anda frustrasi dengan masalah dan ketidaknyamanan yang terkait dengan aplikasi saya, ingatlah bahwa saya tidak memiliki pendidikan formal dalam pemrograman apa pun. Oleh karena itu saran dan masukan sangat saya harapkan. Jangan ragu untuk melakukan fork file GitHub saya.

Jika saya membuat penyesuaian di GitHub, terapkan ke robot dengan mengunduh file dan mengirimkannya melalui SCP rekursif ke Pi di lokasi yang sesuai. Jika Anda mengkloning proyek Xcode, cukup tarik perubahannya. Jika tidak, Anda dapat mengunduh proyek dan mengikuti langkah 11 untuk membuka aplikasi di perangkat Anda.

Jika Anda melakukan sesuatu yang menarik dengan tutorial ini, beri tahu saya di komentar, saya tertarik untuk melihat bagaimana tutorial ini dapat digunakan sebagai template untuk semua jenis proyek yang menarik.

Direkomendasikan: