自己做了个机械手用mg966r舵机做动力。
暂时用10k电位器控制手的握力(舵机旋转度数),
想在手指安装微动开关实现自动控制(舵机旋转度数)我想应该用中断,但不知如何添加程序。
程序如下:
#include <Servo.h>
Servo myservo; //创建一个舵机控制对象
int led1=10; //创建工作状态指示灯引脚
int led2=11;
int pos = 0;
int val; //该变量控制舵机归0和运动
int val2; // 该变量用与存储舵机角度位置
void setup()
{
myservo.attach(9); // 该舵机由arduino第九脚控制
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
}
void loop()
{
val=analogRead(0);
val2=analogRead(2);
if(val>150) //当0脚输入值大于150时舵机开始运动
{
digitalWrite(led1,LOW); //工作状态指示灯
digitalWrite(led2,HIGH);
pos =val2/6; //读取电位器的数值控制舵机度数
myservo.write(pos); // 指定舵机转向的角度
delay(15); // 等待15ms让舵机到达指定位置
}
if(val<50) //当0脚输入值小于50时舵机归0
{
digitalWrite(led2,LOW);
digitalWrite(led1,HIGH);
pos = 0; //回到0度运动
myservo.write(pos); // 指定舵机转向的角度
delay(15); // 等待15ms让舵机到达指定位置
}
}
|