Tentang proyek ini
Saya membuat lengan obot dan pengontrolnya.
Konstitusi
Lengan robot menggunakan tiga servo PWM konvensional, dan setiap sudut dikendalikan oleh resistor variabel. Potensiometer putar menggunakan kurva B 10k ohm.
Produksi Lengan Robot
Dua motor servo DS3115 digunakan dalam arah vertikal, dan motor servo MG995 digunakan dalam arah ayunan.
Produksi Pengontrol
Saya membuat casing pengontrol dengan printer 3D.
Tersedia lubang dan lubang pemosisian untuk memasang sekrup melalui kenop potensiometer putar, dan penyok untuk memasukkan kenop.
Rakit bagian-bagian yang dibuat dan tiga potensiometer putar untuk menyelesaikannya!
Potensiometer putar kini telah ditempatkan pada arah yang sama dengan sumbu rotasi servomotor lengan robot!
Kode Arduino
Kode sederhana ini hanya membaca nilai potensiometer putar dengan pin analog, mengubahnya menjadi sudut, dan memasukkannya ke servo yang sesuai.
#include
Servo myservo1, myservo2, myservo3;
float th1=90.0,th2=90.0,th3=90.0;
float val1, val2, val3;
void setup() {
Serial.begin(9600);
myservo1.attach(9, 500, 2420); //MG995
myservo2.attach(10, 820, 2140); //DS3115
myservo3.attach(11, 820, 2140); //DS3115
set_servo();
}
void loop() {
val1 =analogRead(A1);
val2 =analogRead(A2);
val3 =analogRead(A3);
th1 =map(val1, 170.0, 880.0, 0.0, 180.0);
if(th1>=180.0){
th1 =180.0;
}else if(th1 <=0.0){
th1 =0.0;
}
th2 =map(val2, 150.0, 860.0, 0.0, 180.0);
if(th2>=180.0){
th2 =180.0;
}else if(th2 <=0.0){
th2 =0.0;
}
th3 =map(val3, 860.0, 160.0, 0.0, 180.0);
if(th3>=180.0){
th3 =180.0;
} else if(th3 <=45.0){
th3 =45.0;
}
set_servo();
}
void set_servo( ){
myservo1.write(th1);
myservo2.write(th2);
myservo3.write(th3);
}
Operasi
Selesaikan dengan menghubungkan potensiometer putar dan menghubungkannya ke Arduino!
Suku cadang dan penutup khusus