Daftar Isi:

Robot Servo Terkendali Arduino (SERB): 7 Langkah (dengan Gambar)
Robot Servo Terkendali Arduino (SERB): 7 Langkah (dengan Gambar)

Video: Robot Servo Terkendali Arduino (SERB): 7 Langkah (dengan Gambar)

Video: Robot Servo Terkendali Arduino (SERB): 7 Langkah (dengan Gambar)
Video: Gesture Recognition & Tracking with ESP32 Camera & OpenCV || Make Gesture Controlled Mouse 2024, September
Anonim
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)
Robot Servo Terkendali Arduino (SERB)

Apa cara yang lebih baik untuk mulai bereksperimen dengan mikrokontroler open source (Arduino) kemudian dengan membangun robot open source Anda sendiri (CC (SA -BY))? Apa yang harus dilakukan dengan SERB Anda?

  • (di sini) - Cara menghubungkan SERB Anda ke internet dan mengarahkannya melalui panggilan video Skype.
  • (di sini) - Cara Mengontrol SERB Anda Menggunakan akselerometer Wii nunchuck
  • (di sini) - Cara Menambahkan Kumis Pendeteksi Hambatan ke Robot Anda
  • (di sini) - Cara membuat 30 kit (Buka Manufaktur)

Fitur:

  • Dapat diprogram sepenuhnya menggunakan pengontrol mikro Arduino Duemilanove (atau pengontrol mikro lain yang Anda pilih).
  • Tidak perlu solder.
  • Pilihan opsi pemotongan untuk potongan akrilik. (gergaji gulir, akses ke pemotong laser, membeli potongan yang sudah dipotong sebelumnya)
  • Mudah diperluas dan dimodifikasi dengan lubang baut ekstra dan termasuk papan tempat memotong roti.
  • Roda belakang bantalan bola ganda.
  • Aktif dan berjalan dalam 1-2 jam. (dari kit)
  • Desain open source (buat sebanyak yang Anda suka)

(Plug Shameless) Di Inggris dan menyukai barang-barang Arduino? lihat toko web kami yang baru dibuka oomlout.co.ukVideo singkat dari robot servo yang dikendalikan Arduino yang telah selesai - (SERB) menjalankan program pengujian yang disertakan (langkah 6) Catatan: File sumber tersedia di Instructable paralel (File Sumber Untuk) - Cara Membuat Robot Servo Terkendali Arduino - (SERB)

Langkah 1: Suku Cadang & Alat

Suku Cadang & Alat
Suku Cadang & Alat

Semua baut dapat ditemukan di Home Depot lokal Anda. Bagian lain dapat ditemukan secara online (saya telah menyertakan tautan ke sumber favorit saya untuk masing-masing). Daftar Suku Cadang: Bundel yang berisi semua item perangkat keras dapat dibeli di toko oomlout.com (di sini) ($ 120) Mur dan Baut:

  • Baut 3mm x 15mm (x20)
  • Baut 3mm x 10mm (x12)
  • mur 3mm (x34)
  • mesin cuci 3mm (x12)
  • Baut 8mm x 25mm (x2)
  • mur 8mm (x2)
  • Bantalan Skate (x2) (VXB) (ini adalah bantalan skate standar sehingga dapat diselamatkan dari sepasang roller-blade atau skateboard)

Ban

  • O-ring besar (4,5" ID 3/16" Bead Dash #349) (x2) (Produk McMaster-Carr #9452K407)
  • O-ring kecil (3/4" ID 3/16" Bead Dash #314) (x1) (Produk McMaster-Carr #9452K387)

Elektronik

  • Arduino Duemilanove (x1) (Gudang Pembuat)
  • Servo Rotasi Kontinu (x2) (Paralaks)
  • 400 Contact Breadboard (x1) (Semua Elektronik))
  • Kotak Baterai Quad AA (x1) (Semua Elektronik)
  • Klip Baterai 9V (x1) (Semua Elektronik)
  • Steker 2,1 mm (x1) (Semua Elektronik)
  • 3 pin header (x2) (Semua Elektronik)
  • Kabel USB A-B - Gaya Printer (x1) (Semua Elektronik) (tidak termasuk dalam kit)

Baterai:

  • Baterai AA (x4) (tidak termasuk dalam kit)
  • Baterai 9v (x1) (tidak termasuk dalam kit)

Kawat:(semua kawat adalah 22 AWG solid saya membeli milik saya melalui McMaster-Carr)

  • 15 cm Ungu (x2)
  • 15 cm Hitam (x1)
  • 5 cm Hitam (x2)
  • 5 cm Merah (x2)

Peralatan

  • Obeng (x1) (Philips)
  • Tang Hidung Jarum (x1)

Langkah 2: Memotong Potongan

Memotong Potongan
Memotong Potongan
Memotong Potongan
Memotong Potongan
Memotong Potongan
Memotong Potongan
Memotong Potongan
Memotong Potongan

Silakan pilih langkah mana yang harus diikuti berdasarkan opsi pemotongan yang telah Anda pilih. Opsi 1 (Membeli Suku Cadang Pra-potong)

Beli sasis pra-potong dari toko oomlout.com (di sini) ($60 termasuk pengiriman ke AS dan Kanada)

Opsi 2 (Manufaktur Digital (mis. Ponoko) / Akses ke Pemotong Laser)

  • Unduh tata letak pemotong laser ("03 SERB Ponoko Tata Letak Pemotongan P2.eps" atau "03-(SERB)-Tata Letak Pemotongan Ponoko (P2).cdr")
  • Potong file menggunakan Ponoko atau Pemotong Laser Anda sendiri (menggunakan akrilik 3mm,.118" (kadang dijual sebagai.125")

Opsi 3 (Gergaji gulir dan Bor)

  • Unduh dan cetak pola PDF (pilih file yang sesuai dengan ukuran kertas Anda) 03-(SERB)-ScrollSaw Pattern (letter).pdf 03-(SERB)-ScrollSaw Pattern (A4).pdf (penting untuk tidak skala gambar saat mencetak)
  • Ukur penggaris pada hasil cetakan dengan penggaris yang Anda percaya, jika tidak cocok dengan pola yang telah diskalakan dan Anda perlu melihat pengaturan printer Anda sebelum mencetak ulang. Jika mereka cocok, seterusnya.
  • Rekatkan pola ke lembaran akrilik (3mm,.118" (terkadang dijual sebagai.125").
  • Bor lubang.
  • Potongan potongan menggunakan gergaji gulir

Langkah 3: Perakitan

perakitan
perakitan
perakitan
perakitan
perakitan
perakitan

Selamat telah berhasil sejauh ini 90% dari proses selesai, cukup unduh instruksi perakitan pada langkah ini (04-(SERB) -Assembly Guide.pdf) & setelah sedikit perakitan gaya lego/mechano, Anda akan siap untuk memasang kabel. Untuk menghibur Anda di sepanjang jalan, inilah selang waktu dari pertemuan saya:

Langkah 4: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Dengan semua bagian besar bersama-sama, saatnya untuk menambahkan urat listrik kecil yang akan memungkinkan robot kita dikendalikan. Untuk melakukan ini, unduh dan cetak diagram pengkabelan (05-(SERB)-Wiring Diagram.pdf). Pandangan pertama dapat terlihat sangat menakutkan, namun jika Anda membuat setiap koneksi secara berurutan dan meluangkan waktu Anda, itu datang bersama dengan sangat cepat. Pengkabelan cukup sederhana dan tidak ada salahnya datang ke sirkuit Anda sampai Anda menambahkan baterai. Jadi, sambungkan semuanya, periksa kembali, lalu tambahkan daya.

Langkah 5: Pengujian & Pemecahan Masalah

Pengujian & Pemecahan Masalah
Pengujian & Pemecahan Masalah

Jika Anda memesan kit, Arduino Anda telah dimuat sebelumnya dengan program pengujian. Cukup masukkan 4 baterai AA dan pasang baterai 9v ke Arduino. Dan jika semuanya telah dilakukan dengan benar, robot Anda akan mulai bergerak (berputar ke arah acak untuk waktu antara 0,1 dan 1 detik sebelum maju untuk waktu acak antara 1 dan 2 detik kemudian berhenti selama 2 detik sebelum memulai lagi). Jika Anda belum membeli kit, langkah tambahan diperlukan. Unduh file zip terlampir (07-(SERB)- SERB-Test Arduino Program.zip). Kemudian unzip di direktori sketsa Arduino Anda (default "My Documents\Arduino\") dan unduh ke papan arduino Anda. (jika Anda baru mengenal Arduino, lompat ke depan satu langkah di mana ada tautan ke tutorial memulai yang bagus) Masalah Umum: SERB saya bergerak lambat ketika harus dihentikan. Ini adalah hasil dari servos Anda tidak dikalibrasi dengan benar, untuk mengkalibrasi servos Anda, tunggu sampai program Anda menghentikan servos kemudian dengan obeng kecil putar potensiometer di dalam servo (bukaan kecil di casing servo tepat di atas tempat kabel berada). Putar ke kiri atau ke kanan hingga servo benar-benar berhenti. Hal-hal yang tidak cukup bekerja dengan baik. Kirimi kami email dengan gejala Anda dan kami akan mencoba dan membantu Anda, sementara Anda menunggu balasan, periksa kembali semua kabel Anda dengan diagram pengkabelan dari langkah 4. Jika Anda mengalami masalah, silakan tambahkan komentar untuk Instruksi ini atau kirim email ke [email protected] dan kami akan mencoba yang terbaik untuk membantu Anda membuat SERB Anda berfungsi

Langkah 6: Pemrograman

Pemrograman
Pemrograman

Robot fisik sudah selesai waktunya untuk mulai memberinya otak. Sebelum kita masuk ke detail pemrograman Robot Servo Terkendali Arduino - (SERB) - beberapa tautan ke beberapa sumber pemrograman Arduino yang sangat baik di internet. Panduan Pemula Arduino - Panduan untuk membantu Anda memulai dengan Arduino, mulai dari mengunduh lingkungan pemrograman hingga menulis program pertama Anda. Referensi Pemrograman Arduino - Panduan referensi lengkap yang mudah untuk bahasa pemrograman Arduino. Cara Kerja Servos - Panduan singkat tentang cara kerja motor servo. Perpustakaan Servo Arduino - Bagaimana perpustakaan Arduino Servo bekerja (bagaimana kita mengontrol servos kita). Baiklah dengan belajar, mari kita mulai pemrograman. Ada tiga cara untuk memulai memprogram Robot Servo Terkendali Arduino Anda - (SERB). Opsi 1: (Memodifikasi SERB_Test.pde)Terkadang ketika memprogram, hal termudah untuk dilakukan adalah mengambil program yang berfungsi dan mulai menambahkan kode Anda sendiri ke dalamnya. Untuk melakukan ini, unduh program zip SERB_Test (07-(SERB)- SERB-Test Arduino Program.zip). Lanjutkan untuk membuka zip ini di folder sketsa Arduino Anda (default "My Documents\Arduino"). Terakhir buka lingkungan pemrograman Arduino dan unduh ke Arduino Anda. Kode dikomentari dengan baik. (atau salin dan tempel kode dari lampiran pada langkah ini ke Sketsa Arduino baru) Opsi 2: (Menambahkan Rutinitas SERB ke program Anda) Tambahkan beberapa rutinitas sederhana ke program yang sudah ada sebelumnya (seperti goForward (), setSpeed(int) dll.). Untuk melakukan ini, unduh rutinitas dalam file teks (07-(SERB)- Simple Routines Text.txt). 1. Salin dan tempel bagian pembukaan ke awal program Anda.2. Salin dan tempel bagian rutin ke badan program Anda.3. Tambahkan panggilan ke serbSetup(); ke rutinitas setup() Anda. Opsi 3: (Membuat program Anda sendiri dari awal) Ini tidak terlalu sulit. Yang diperlukan hanyalah membiasakan diri dengan Perpustakaan Arduino Servo. Kemudian servo kanan terhubung ke pin 9, dan servo kiri ke pin 10. Catatan: Program tambahan akan ditambahkan di sini saat dikembangkan; atau jika Anda mengembangkan sesuatu dan ingin menampilkannya, kirimkan saya pesan pribadi dan itu dapat ditambahkan. Lampiran: (SERB_Test.pde Code)

/* * Robot Servo Terkendali Arduino (SERB) - Program Uji * Untuk lebih jelasnya kunjungi: https://www.oomlout.com/serb * * Perilaku: Program uji sederhana yang menyebabkan SERB * berputar secara acak ke kiri atau ke kanan untuk * periode waktu acak antara 0,1 dan 1 detik. * SERB kemudian akan melaju ke depan untuk periode waktu * acak antara 1 dan 2 detik. Akhirnya * berhenti selama 2 detik sebelum memulai lagi. * * Pengkabelan: Sinyal Servo Kanan - pin 9 * Sinyal Servo Kiri - pin 10 * * Lisensi: Karya ini dilisensikan di bawah Creative Commons * Lisensi Atribusi-Berbagi Serupa 3.0 Unported. Untuk * melihat salinan lisensi ini, kunjungi * https://creativecommons.org/licenses/by-sa/3.0/ * atau kirim surat ke Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * AS. * */ //--------------------------------------------- -----------------------------// MULAI DARI ARDUINO CONTROLLED SERVO ROBOT (SERB) PEMBUKAAN#include #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo kiriServo; Servo kananServo; int kecepatan = 100; //mengatur kecepatan robot (keduanya servos) //persentase antara 0 dan 100// AKHIR ARDUINO CONTROLLED SERVO ROBOT (SERB) PEMBUKAAN//---------------- -------------------------------------------------- --------/* * menyetel pin ke status yang sesuai dan memasang servos. Kemudian jeda * selama 1 detik sebelum program dimulai*/ void setup() { serbSetup(); //menyetel status semua //pin yang diperlukan dan menambahkan servo ke sketsa Anda randomSeed(analogRead(0)); //menetapkan seed nomor acak dengan //something mildly random delay(1000);}/* * memutar robot ke kiri atau ke kanan (secara acak) untuk periode antara * 0,1 dan 1 detik. Sebelum maju untuk jangka waktu acak * antara 1 dan 4 detik. Sebelum berhenti selama dua detik kemudian mulai * lagi.*/void loop() { turnRandom(100, 1000); //Berbelok ke kiri atau kanan secara acak untuk //periode waktu acak antara.1 detik //dan satu detik goForwardRandom(1000, 2000); //Maju untuk periode waktu acak //antara // dan 2 detik goStop(); //Menghentikan penundaan robot(2000); //jeda selama 2 detik (saat berhenti)}/* * memutar robot secara acak ke kiri atau ke kanan untuk periode waktu acak antara * minTime (milidetik) dan maxTime (milidetik) */void turnRandom(int minTime, int maxTime){ int pilihan = acak(2); //Nomor acak untuk memutuskan //antara kiri (1) dan kanan (0) int turnTime = random(minTime, maxTime); //Angka acak untuk jeda //waktu if(pilihan == 1){ goLeft();} //Jika angka acak = 1 maka belok //kiri lain {goRight();} //Jika angka acak = 0 maka belok // tunda kanan (turnTime); //delay untuk waktu acak }/* * maju untuk jangka waktu acak antara minTime (milidetik) * dan maxTime (milidetik) */void goForwardRandom(int minTime, int maxTime){ int forwardTime = random(minTime, maxTime); //menentukan waktu acak untuk //maju goForward(); //mengatur penundaan maju SERB (waktu maju); //penundaan untuk periode waktu acak}//--------------------------------------------------- ----------------------------------//MULAI ARDUINO CONTROLLED SERVO ROBOT (SERB) RUTINE/* * mengatur arduino untuk mengatasi SERB Anda menggunakan rutin yang disertakan*/void serbSetup(){ setSpeed(speed); pinMode(LEFTSERVOPIN, OUTPUT); //set pin sinyal servo kiri //ke output pinMode(RIGHTSERVOPIN, OUTPUT); //set pin sinyal servo kanan //ke output leftServo.attach(LEFTSERVOPIN); //melampirkan servo kiri rightServo.attach(RIGHTSERVOPIN); //pasang kanan servo goStop();}/* * mengatur kecepatan robot antara 0-(berhenti) dan 100-(kecepatan penuh) * CATATAN: kecepatan tidak akan mengubah kecepatan saat ini Anda harus mengubah kecepatan * kemudian panggil satu metode go sebelum perubahan terjadi.*/ void setSpeed(int newSpeed){ if(newSpeed >= 100) {newSpeed = 100;} //jika kecepatan lebih besar dari 100 //jadikan 100 if(newSpeed <= 0) {newSpeed = 0;} //jika kecepatan kurang dari 0 buat //itu 0 speed = newSpeed * 0.9; //menskalakan kecepatan menjadi //antara 0 dan 90}/* * mengirim robot ke depan */void goForward(){ leftServo.write(90 + speed); rightServo.write(90 - speed);}/* * mengirim robot mundur */void goBackward(){ leftServo.write(90 - speed); rightServo.write(90 + speed);} /* * mengirim robot ke kanan */void goRight(){ leftServo.write(90 + speed); rightServo.write(90 + speed);}/* * mengirim robot ke kiri */void goLeft(){ leftServo.write(90 - speed); rightServo.write(90 - speed);}/* * menghentikan robot */void goStop(){ leftServo.write(90); rightServo.write(90);} //AKHIR DARI ARDUINO CONTROLLED SERVO ROBOT (SERB) RUTINE//---------------------------- ----------------------------------------------------------

Langkah 7: Selesai, Yang Lain Yang Sudah Selesai & Masa Depan

Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan
Selesai, Yang Lain Yang Sudah Selesai & Masa Depan

Selamat telah sejauh ini dan saya harap Anda bersenang-senang dengan Robot Servo Terkendali Arduino Anda - (SERB). SERB Michael Beck -Michael menemukan rencana untuk SERB di Thingiverse.com dan memotong akrilik kuning dan merahnya. Saya pikir itu tampak hebat. SERB Mike - Mike (dari klub robot Area St. Louis ROBOMO) memiliki teman yang memotong sasis SERB dengan laser, dan menggunakan pengetahuan robotnya sendiri untuk menjalankannya. Saya pikir itu terlihat luar biasa dilakukan dengan warna biru. (lihat situs webnya untuk detail tentang ini serta robot lainnya (di sini)Bagian ini akan memiliki detail tentang perkembangan dan lampiran di masa mendatang (mereka akan ditampilkan di sini sebelum didokumentasikan dengan benar). Tetapi saya juga ingin memamerkan gambar dari SERB orang lain. Jadi, jika Anda sudah selesai, kirimi saya pesan pribadi dengan foto dan beberapa kata (baik itu deskripsi atau tautan ke situs web Anda) dan saya akan menambahkannya di sini. (Plug Shameless)Jika Anda suka instruksi ini, periksa oomlout.com untuk proyek sumber terbuka lainnya yang menyenangkan.

Hadiah Pertama dalam Kontes Bertenaga Baterai eneloop SANYO

Direkomendasikan: