arduino新手,一些关于舵机很简单的问题求助各位大神
#include<Servo.h>Servo servo1;
Servo servo2;
Servo servo3;
void setup()
{
servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
Serial.begin(9600);
}
void loop()
{
static int angle=0;
if(Serial.available())
{char ch=Serial.read();
switch(ch)
{
case'0'...'9':
angle =angle*10+ch-'0';
break;
case'a':
servo1.write(angle);
angle=0
break;
case'b':
servo2.write(angle);
angle=0;
break;
case'c':
servo3.write(angle);
angle=0;
break;
}
}
}
这段程序里面的
{
static int xp=0;
if(Serial.available())
{char ch=Serial.read();
switch(ch)
{
case'0'...'9':
xp=xp*10+ch-'0';
break;
是什么意思?
比如我输入90a,它就会把那个舵机转到90度,怎么做到的?
怎么把90和a分离开来的
还有,如果我要编一段程序电脑输入(90,80,70)它就会同时把第一个转到90,第二80第三70,要怎么修改?
{:soso_e163:} 万分感谢 这个简单我来回答吧!{:soso_e100:}
这段程序只能控制3个舵机,即a,b,c
这一段
case'0'...'9':
angle =angle*10+ch-'0';
是将接收到的数字字符转为数字
这一行
case'a':
servo1.write(angle);
angle=0
是在接收到a时,控制a舵机。
电脑输入(90,80,70)是执行不了的,应该转入90a80b70c,意思是控制a舵机到90度,b到80度。
openmmoo 发表于 2013-3-22 19:09 static/image/common/back.gif
这个简单我来回答吧!
这段程序只能控制3个舵机,即a,b,c
这一段
:kiss:太感谢你了大神 感谢写这个程序的人吧,这个思路来控制舵机结构简单,思路清晰,真的很方便,
感谢别人拿出来分享,我们才如此方便
页:
[1]