lou2382 发表于 2012-10-1 16:05:01

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;
    }

}
}

maojidan 发表于 2012-10-1 18:57:54

模拟的串口太多了...2个的话就可能动了~
页: [1]
查看完整版本: servo 都沒動作是