带控制器的机械臂
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
我制作了 obot arm 及其控制器。
宪法
机械臂采用三个常规PWM舵机,每个角度由可变电阻控制。旋转电位器采用B曲线10k欧姆。
机械臂生产
垂直方向使用两台DS3115伺服电机,摆动方向使用MG995伺服电机。
控制器制作
我用 3D 打印机制作了一个控制器外壳。
设有旋入旋转电位器旋钮的孔和定位孔,以及插入旋钮的凹痕。
组装制作好的零件和三个旋转电位器完成!
旋转电位器现在已经和机械臂伺服电机的旋转轴方向一致了!
Arduino代码
这个简单的代码只是简单的读取带有模拟引脚的旋转电位器的值,将其转换为角度,然后输入到相应的舵机中。
#include
伺服 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);
}
操作
通过连接旋转电位器并将其连接到 Arduino 来完成!
定制零件和外壳
制造工艺