Buat Lengan Robot Berbasis Arduino dan Cetak 3D – Panduan Langkah demi Langkah
Komponen dan perlengkapan
 | | × | 1 |
 | | × | 4 |
 | | Potensiometer rotary (umum) |
| × | 1 |
Alat dan mesin yang diperlukan
Aplikasi dan layanan online
Tentang proyek ini
Proyek ini menggunakan 4 pcs servo motor murah SSG 90 yang diberi daya oleh papan Arduino. Anda dapat mengunduh file .stl untuk pencetakan 3D dari tautan yang diberikan di bawah ini, atau langsung ke web Thingiverse,
https://www.thingiverse.com/thing:1015238
di mana Anda dapat menemukan instruksi yang lebih rinci untuk pembuatan lengan robot ini.
Seperti yang disebutkan sebelumnya, servo motor dikendalikan dari papan Arduino. Untuk tujuan ini saya juga menulis kode sederhana sehingga setiap servo dikendalikan oleh potensiometer yang sesuai. Setelah sedikit latihan, pengendalian menggunakan potensiometer menjadi sangat mudah dan menarik seperti yang dapat dilihat pada video.
Di masa depan, saya akan mencoba memperluas kode dengan opsi untuk menangkap dan secara otomatis melakukan gerakan tertentu servo motor yang akan menghasilkan robot industri lengkap.
Skematik dapat dilihat dalam gambar di bawah ini.
Kode
kodeArduino
#include <Servo.h> Servo myservo; // buat objek servo untuk mengontrol servo Servo myservo1; Servo myservo2; Servo myservo3; int potpin = 0;// pin analog yang digunakan untuk menghubungkan potensiometer int potpin1 = 1; int potpin2 = 2; int potpin3 = 3; int val; // variabel untuk membaca nilai dari pin analog int val1; int val2; int val3; void setup() { myservo.attach(8); // menghubungkan servo pada pin 8 ke objek servo myservo.attach(9); myservo.attach(10); myservo.attach(11); } void loop() { val = analogRead(potpin); // membaca nilai potensiometer (nilai antara 0 dan 1023) val = map(val, 0, 1023, 0, 180); // menskalanya untuk digunakan dengan servo (nilai antara 0 dan 180) myservo.write(val); // menetapkan posisi servo sesuai dengan nilai yang diskalakan delay(15); // menunggu servo sampai di sana val1 = analogRead(potpin1); val1 = map(val1, 0, 1023, 0, 180); myservo1.write(val1); delay(15); val2 = analogRead(potpin2); val2 = map(val2, 0, 1023, 0, 180); myservo2.write(val2); delay(15); val3 = analogRead(potpin3); val2 = map(val3, 0, 1023, 0, 180); myservo3.write(val3); delay(15); }
Bagian dan enclosure kustom
eezybotarm_uVD6bjbxQi.zip
Skematik