arduino图形化编程控制舵机(如何用arduino控制舵机)

http://www.itjxue.com  2023-04-03 22:28  来源:未知  点击次数: 

Arduino控制舵机的程序

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;i50;i++)

{

//引用脉冲函数

servopulse(angle);

}

}

arduino 控制舵机

#include Servo.h

Arduino自带的Servo函数及其语句,先来介绍一下舵机函数的几个常用语句吧。

1、attach(接口)——设定舵机的接口,只有9或10接口可利用。

2、write(角度)——用于设定舵机旋转角度的语句,可设定的角度范围是0°到180°。

3、read()——用于读取舵机角度的语句,可理解为读取最后一条write()命令中的值。

4、attached()——判断舵机参数是否已发送到舵机所在接口。

5、detach()——使舵机与其接口分离,该接口(9或10)可继续被用作PWM接口。

注:以上语句的书写格式均为“舵机变量名.具体语句()”例如:myservo.attach(9)。

下面就来具体分析一个小程序。

#include Servo.h//定义头文件,这里有一点要注意,可以直接在

Arduino软件菜单栏单击SketchImportlibraryServo,调用Servo函数,也可以直接输入#include Servo.h,但是在输入时要注意在#include 与Servo.h之间要有空格,否则编译时会报错。

Servo myservo;//定义舵机变量名

void setup()

{

myservo.attach(9);//定义舵机接口,9或10

}

void loop()

{

myservo.write(90);//设置舵机旋转的角度

}

新人求助,关于arduino控制舵机的

面的程序,输入 0~9,会控制一个舵机的角度,而我想分别控制多个舵机,比如输入1~9控制一个,输入1~19又控制另外一个,该怎样修改程序呢?谢谢大家!int servopin=9;//定义数字接口9 连接伺服舵机信号线

int myangle;//定义角度变量

int pulsewidth;//定义脉宽变量

int val;

void servopulse(int servopin,int myangle)//定义一个脉冲函数

{

pulsewidth=(myangle*11)+500;//将角度转化为500-2480 的脉宽值

digitalWrite(servopin,HIGH);//将舵机接口电平至高

delayMicroseconds(pulsewidth);//延时脉宽值的微秒数

digitalWrite(servopin,LOW);//将舵机接口电平至低

delay(20-pulsewidth/1000);

}

void setup()

{

pinMode(servopin,OUTPUT);//设定舵机接口为输出接口

Serial.begin(9600);//连接到串行端口,波特率为9600

Serial.println("servo=o_seral_simple ready" ) ;

}

void loop()//将0 到9 的数转化为0 到180 角度,并让LED 闪烁相应数的次数

{

val=Serial.read();//读取串行端口的值

如何用arduino pro mini控制模拟舵机

用PWM控制舵机。

PWM脚有3 5 6 9 10 11六个。

舵机正负接电源,信号

线接这六个PWM脚的一个。

图是UNO的,MINI的一样。

#include Servo.h

Servo myservo; ?//创建一个舵机控制对象

// 使用Servo类最多可以控制8个舵机

int pos = 0; ? ?// 该变量用与存储舵机角度位置

/*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~ */

void setup()

{

myservo.attach(9); ?// 该舵机由arduino第九脚控制

}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~华丽的分割线 ~~~~~~~~~~~~~~~~~~~~~~~~~~ */

void loop()

{

for(pos = 0; pos 180; pos += 1) ?// 从0度到180度运动

{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 每次步进一度

myservo.write(pos); ? ? ? ?// 指定舵机转向的角度

delay(15); ? ? ? ? ? ? ? ? ? ? ? // 等待15ms让舵机到达指定位置

}

for(pos = 180; pos=1; pos-=1) ? //从180度到0度运动

{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

myservo.write(pos); ? ? ? ? // 指定舵机转向的角度

delay(15); ? ? ? ? ? ? ? ? ? ? ? ?// 等待15ms让舵机到达指定位置

}

}

(责任编辑:IT教学网)

更多

推荐其它系统文章