Daftar Isi:

Lengan Robot Dengan Modul Zio Bagian 2: 11 Langkah
Lengan Robot Dengan Modul Zio Bagian 2: 11 Langkah

Video: Lengan Robot Dengan Modul Zio Bagian 2: 11 Langkah

Video: Lengan Robot Dengan Modul Zio Bagian 2: 11 Langkah
Video: Siswa SMK Membuat Robot Untuk Membantu Difabel | HITAM PUTIH (13/02/20) Part 4 2024, Juli
Anonim
Lengan Robot Dengan Modul Zio Bagian 2
Lengan Robot Dengan Modul Zio Bagian 2

Dalam tutorial hari ini, kita akan menggunakan semua 4 servo dan pengontrol nirkabel PS2 untuk mengontrol lengan robot.

Posting blog ini adalah bagian dari Zio Robotics Series.

pengantar

Di blog kami sebelumnya, kami memposting tutorial Bagian 1 tentang cara mengontrol Lengan Robot menggunakan modul Zio. Bagian 1 sebagian besar berkonsentrasi pada kontrol otomatis Cakar Lengan Robot Anda untuk membuka dan menutup.

Dalam tutorial hari ini, kami akan meningkatkannya sedikit dengan menyertakan pengontrol Nirkabel PS2 untuk mengontrol Lengan Robot. Untuk proyek ini, kami akan menggunakan 4 servos.

Langkah 1: Ikhtisar Proyek

Tingkat kesulitan:

Zio Padawan

Sumber daya yang bermanfaat:

Anda harus memiliki pemahaman dasar tentang cara memasang papan pengembangan Zio. Dalam tutorial ini, kami berasumsi bahwa papan pengembangan Anda sudah dikonfigurasi dan siap untuk disiapkan. Jika Anda belum mengonfigurasi papan Anda, lihat tutorial Panduan Memulai Zio Qwiic kami di bawah ini untuk memulai:

Zio Zuino M UNO Panduan Memulai Qwiic

Langkah 2: Skema

skema
skema

Berikut adalah Skema Pengkabelan Proyek Lengan Robot Bagian 2 serta diagram Kontroler PS2 yang perlu dipahami untuk bagian pengkodean Anda.

Langkah 3: Diagram Pengontrol PS2

Diagram Pengontrol PS2
Diagram Pengontrol PS2

Langkah 4: Pengaturan Koneksi Modul Zio

Di bawah ini adalah koneksi modul Zio kami yang akan dipasang dengan Lengan Robot. Menghubungkan semua modul secara bersamaan cukup mudah dan tidak akan memakan waktu lebih dari 10 menit untuk menyiapkannya.

Langkah 5: Hubungkan Servo Lengan Robot ke Pengontrol Servo Zio 16

Hubungkan Servo Lengan Robot ke Pengontrol Servo Zio 16
Hubungkan Servo Lengan Robot ke Pengontrol Servo Zio 16

Langkah 6: Hubungkan 16 Servo Anda ke Booster DC/DC dan Atur pada 6.0V

Hubungkan 16 Servo Anda ke Booster DC/DC dan Atur pada 6.0V
Hubungkan 16 Servo Anda ke Booster DC/DC dan Atur pada 6.0V

Kami menggunakan Booster DC/DC untuk meningkatkan dan menyesuaikan tegangan suplai baterai ke 6.0.

Gunakan potensiometer pada Booster DC untuk mengatur tegangan hingga Anda mendapatkan 6.0. Tekan tombol In/Out hingga layar menunjukkan 6.0. Anda perlu mensuplai daya (baterai 3.7V) terlebih dahulu ke Booster DC/DC Anda untuk menyesuaikan voltase.

Langkah 7: Hubungkan Zuino M Uno ke Pengontrol Servo Zio 16

Hubungkan Zuino M Uno ke Pengontrol Servo Zio 16
Hubungkan Zuino M Uno ke Pengontrol Servo Zio 16

Qwiic menghubungkan Zuino M Uno ke pengontrol Zio Servo dengan kabel qwiic.

Langkah 8: Menghubungkan Uno ke Penerima PS2

Menghubungkan Uno ke Penerima PS2
Menghubungkan Uno ke Penerima PS2

Berikut adalah Diagram Pin dari Koneksi. Anda membutuhkan 5 Kabel Jumper Pria ke Wanita untuk bagian ini.

Langkah 9: Kode untuk Lengan Robot

Kami akan menggunakan Perpustakaan Arduino PS2 untuk mengkodekan Kontroler Nirkabel PS2 kami untuk bekerja dengan Lengan Robot kami. Anda dapat menemukan dan mengunduh kode sumber untuk proyek Lengan Robot Bagian 2 ini di halaman Github kami.

Unduh dan instal pustaka berikut dan simpan di folder pustaka Arduino IDE lokal Anda:

  • Pustaka Driver Servo PWM Adafruit
  • Perpustakaan Arduino PS2

Untuk menginstal perpustakaan buka Arduino IDE Anda, buka tab Sketsa, pilih Sertakan Perpustakaan -> Tambah. Perpustakaan Zip. Pilih pustaka di atas untuk disertakan pada IDE Anda.

Arduino memiliki panduan praktis tentang cara menginstal perpustakaan ke Arduino IDE Anda. Lihat mereka di sini!

Langkah 10: Jalankan Kode Anda

Jalankan Kode Anda
Jalankan Kode Anda

Buka ArduinoIDE. Di bawah File > Contoh > PS2_Arduino_Library, Pilih PS2X_Servo

Catatan: Sebelum Anda dapat mengontrol lengan Robot Anda dengan Kontroler PS2, periksa langkah-langkah berikut: Nyalakan Kontroler PS2 Anda. Periksa apakah LED Mode menyala. Jika tidak, tekan tombol Mode pada pengontrol Anda. Setelah melakukan hal di atas, Anda perlu menekan tombol reset pada Zuino M Uno Anda untuk membaca pengaturan pengontrol Anda. Anda perlu Tekan L1 dan Joystick untuk menggerakkan Lengan Robot Anda.

  • Joystick Kiri mengontrol tekukan Lengan ke atas atau ke bawah
  • Joystick Kanan mengontrol Cakar untuk membuka atau menutup dan memutar cakar ke kiri atau kanan.

Langkah 11: Penjelasan Kode

Penggunaan perpustakaan Arduino PS2X sederhana, hanya membutuhkan inisialisasi, pengaturan, dan kemudian perintah baca.

Untuk mengatur koneksi untuk Kontroler PS2 Anda dengan Uno Anda, di bawah ini adalah pin yang perlu Anda tentukan dalam kode Anda:

/************************************************ *************** * atur pin yang terhubung ke pengontrol PS2: * - 1e kolom: asli * - 2e colmun: Stef? * ganti nomor pin dengan yang Anda gunakan****************************************** **********************/#define PS2_DAT 13 //14 #define PS2_CMD 11 //15#define PS2_SEL 10 //16#define PS2_CLK 12 // 17

Kami telah mengganti pin dengan yang kami gunakan untuk menghubungkan ke Uno kami seperti yang dijelaskan pada Diagram Pin di atas.

/************************************************* **************** pilih mode pengontrol PS2: * - tekanan = pembacaan analog tombol tekan * - gemuruh = gemuruh motor * batalkan komentar pada 1 baris untuk setiap pemilihan mode** ************************************************** ************/ //#menentukan tekanan benar#menentukan tekanan salah //#menentukan gemuruh benar#menentukan gemuruh salah

Di sini kami mendefinisikan mode PS2 untuk tekanan dan gemuruh sebagai salah. Kami mengomentari yang tidak kami gunakan.

Kami hanya akan menggunakan perintah Joystick Controller dan L1 untuk mengontrol pergerakan Lengan Robot kami.

void loop() {/* Anda harus Membaca Gamepad untuk mendapatkan nilai baru dan menyetel nilai getaran ps2x.read_gamepad(motor kecil hidup/mati, kekuatan motor lebih besar dari 0-255) jika Anda tidak mengaktifkan gemuruh, gunakan ps2x.read_gamepad (); tanpa nilai Anda harus memanggil ini setidaknya sekali per detik*/ if(error == 1) //lewati loop jika tidak ada pengontrol yang ditemukan kembali; else { //DualShock Controller ps2x.read_gamepad(salah, getar); //baca pengontrol dan atur motor besar untuk berputar pada kecepatan 'getar' if(ps2x. Button(PSB_START))//akan menjadi TRUE selama tombol ditekan Serial.println("Start ditahan"); if(ps2x. Button(PSB_SELECT)) Serial.println("Pilihan ditahan"); getar = ps2x. Analog(PSAB_CROSS); //ini akan mengatur besar kecepatan getar motor berdasarkan seberapa keras Anda menekan tombol biru (X) if(ps2x. Button(PSB_L1) || ps2x. Button(PSB_R1)) { //mencetak nilai stick jika salah satunya BENAR RY_Value =ps2x. Analog(PSS_RY); RX_Nilai=ps2x. Analog(PSS_RX); LY_Value=ps2x. Analog(PSS_LY); LX_Value=ps2x. Analog(PSS_LX);Serial.print("Nilai Tongkat:"); Serial.print(RX_Value); Serial.print(""); Serial.print(RY_Value); Serial.print(""); Serial.print(LY_Value); Serial.print(""); Serial.println(LX_Value);

Kode di bawah ini adalah tempat kami mengkodekan servos kami yang mengontrol lengan robot kami yang kami sertakan dalam panggilan fungsi di bawah ps2x.button(PSB_L1)|| ps2x.button(PSB_R1).

Anda perlu menekan tombol L1 atau R1 bersamaan dengan Joystick untuk mengontrol Lengan Robot Anda.

Joystick Kiri mengontrol servos 2 dan 3 untuk bagian Lengan - mengontrol tekukan ke Atas dan Bawah lengan masing-masing, sedangkan Joystick Kanan mengontrol servos 0 dan 1 dari Cakar Lengan Robot untuk membuka atau menutup, dan untuk memutar ke kiri atau ke kanan.

SERVO 0, 1 - Cakar SERVO 2, 3 - Lengan

Anda dapat membuat perubahan nilai di bagian ini untuk mengontrol derajat sudut Lengan Robot Anda:

pulselen0=peta(RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1=peta(RX_Nilai, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2=peta(LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3=peta(LX_Nilai, 0, 255, SERVOMIN3, SERVOMAX3);

Direkomendasikan: