Arduino控制舵机的程序
发布网友
发布时间:2022-05-01 21:08
我来回答
共1个回答
热心网友
时间:2022-06-23 11:32
int readPin = 0; //用来连接电位器
int servopin = 7; //定义舵机接口数字接口7
void servopulse(int angle)//定义一个脉冲函数
{
int pulsewidth=(angle*11)+500; //将角度转化为500-2480的脉宽值
digitalWrite(servopin,HIGH); //将舵机接口电平至高
delayMicroseconds(pulsewidth); //延时脉宽值的微秒数
digitalWrite(servopin,LOW); //将舵机接口电平至低
delayMicroseconds(20000-pulsewidth);
}
voidsetup()
{
pinMode(servopin,OUTPUT);//设定舵机接口为输出接口
}
voidloop()
{
//读取电位器(传感器)的读数,接到3.3V,值范围从0到660左右
int readValue = analogRead(readPin);
//把值的范围映射到0到165左右
int angle = readValue / 4;
//发送50个脉冲
for(int i=0;i<50;i++)
{
//引用脉冲函数
servopulse(angle);
}
}