Uno通过RX引脚控制6个伺服电机。这是我的代码的初始部分。这些错误意味着什么?如何解决这些错误?
#include <SoftwareSerial.h>
#include <Servo.h>
Servo servo_1;
Servo servo_2;
Servo servo_3;
Servo servo_4;
Servo servo_5;
Servo servo_6;
SoftwareSerial bluetooth(RX_PIN,TX_PIN);
int RX_PIN= 0;
int TX_PIN= 1;
int motornumber;
int pos=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
bluetooth.begin(4800);
servo_1.attach(3);
servo_2.attach(5);
servo_3.attach(6);
servo_4.attach(9);
servo_5.attach(10);
servo_6.attach(11);
}
void loop()
{
// put your main code here, to run repeatedly:
if(bluetooth.available())
{
motornumber =Serial.write(bluetooth.read());
switch(motornumber)
{
case '7':{ //7 for servo_1,1 for servo_2,2 for servo_3,3 for servo_4,4 for servo_5,5 for servo_6.
for(pos=0; pos<=180; pos++)
{
servo_1.write(pos);
delay(800);
}
for(pos=180; pos>=0; pos--)
{
servo_1.write(pos);
bluetooth.print(9);
}
break;
}
}
}
}附注:对于通过RX读取数据,bluetooth.read()合适还是Serial.write(bluetooth.read())合适?
发布于 2015-04-08 04:27:10
为了解决错误"RX没有在这个作用域中声明“,你应该声明你的变量
int RX_PIN= 0;
int TX_PIN= 1;在这里使用它们之前
SoftwareSerial bluetooth(RX_PIN,TX_PIN);结果:
/*some lines here*/
Servo servo_1;
Servo servo_2;
Servo servo_3;
Servo servo_4;
Servo servo_5;
Servo servo_6;
int RX_PIN= 0;
int TX_PIN= 1;
SoftwareSerial bluetooth(RX_PIN,TX_PIN);
int motornumber;
int pos=0;
/*code continues here*/对于"duplicate case value“错误,您应该正确地缩进您的代码,并且您可能会看到重复的案例。
https://stackoverflow.com/questions/29437068
复制相似问题