我是Arduino的新手。目前我正在研究一个使用手机陀螺仪传感器控制遥控车运动的项目。这是我目前的代码;
char blueToothVal; //value sent over via bluetooth
char lastValue; //stores last state of device (on/off)
String str,x,y,z;
int value = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available() >0 && value == 0 ) {
str= Serial.readStringUntil('A');
value = 1;
if(value == 1){
x= Serial.readStringUntil(';');
Serial.print("x = ");
Serial.print(x.toFloat());
Serial.print(" ");
y=Serial.readStringUntil(';');
Serial.print("y = ");
Serial.print(y.toFloat());
Serial.print(" ");
z= Serial.readStringUntil('A');
Serial.print("z = ");
Serial.print(z.toFloat());
Serial.println('\n');
value = 0;
delay(10);
}
}
if( y >=5 ){ //car forward
//CODING MOTOR HERE
}
if( y <= -3){ //car backward
//CODING MOTOR HERE
}
if( y >=5 && z >= 5){ //car steer to the left
//CODING MOTOR HERE
}
if( y >=5 && z <= -10){ //car steer to the right
//CODING MOTOR HERE
}
if( y <= -3 && z >=5){ //car reverse to the left
//CODING MOTOR HERE
}
if( y <= -3 && z <= -10){ //car reverse to the right
//CODING MOTOR HERE
}
if( x >= 330.00){ // only left tyre go forward
//CODING MOTOR HERE
}
if( x <= 300.00){ // only right tyre go forward
//CODING MOTOR HERE
}
}
我正在使用Arduino Uno R3和DF机器人电机屏蔽。我的问题是这个编码不能编译。有人可以告诉我一些关于我的错误在哪里以及我该怎么做的事情?
错误消息:
错误:从初始化列表转换为'const String'将使用显式构造函数'String :: String(int,unsigned char)'
表示该行
if ( y >= 5 ){ //car forward
答案 0 :(得分:1)
编译信息应该会有所帮助。
首先是:
sketch_may17a:37:错误:转换为&#39; const String&#39;从初始化列表中将使用显式构造函数&#39; String :: String(int,unsigned char)&#39;
原因是y是一个字符串,你用数字比较法(例如):
if( y >=5 )
将其替换为:
if( y.toInt() >= 5 )