servo 都沒動作是
本帖最后由 lou2382 于 2012-10-26 14:17 编辑請問大大!
我按照書上輸入下列!善我在com視窗輸入servo 都沒動作是哪錯了?
#include <Servo.h>
Servo myservo0;
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
int channel;
int angle;
void setup()
{
myservo0.attach(4);
myservo1.attach(5);
myservo2.attach(6);
myservo3.attach(7);
myservo4.attach(8);
myservo5.attach(9);
myservo0.write(90);
myservo1.write(90);
myservo2.write(90);
myservo3.write(90);
myservo4.write(90);
myservo5.write(90);
Serial.begin(9600);
}
void loop()
{
if (Serial.available())
{
if ('#' == Serial.read())
{
while(!Serial.available());
channel=Serial.read();
while (!Serial.available());
angle=Serial.read() - 0x30;
while (!Serial.available());
angle=(Serial.read() - 0x30) +(angle*10);
while (!Serial.available());
angle=(Serial.read() - 0x30) + (angle*10);
if (angle >180 )
angle = 90;
}
switch(channel)
{
case '0':
myservo0.write(angle);
// Serial.print(angle);
break;
case '1':
myservo1.write(angle);
// Serial.print(angle);
break;
case '2':
myservo2.write(angle);
// Serial.print(angle);
break;
case '3':
myservo3.write(angle);
// Serial.print(angle);
break;
case '4':
myservo4.write(angle);
//Serial.print(angle);
break;
case '5':
myservo5.write(angle);
// Serial.print(angle);
break;
default:
break;
}
}
}
模拟的串口太多了...2个的话就可能动了~
页:
[1]