我的项目有问题。如果有可用的停车场,我希望伺服器旋转90度。我使用了两个传感器,一个用于汽车进入,另一个用于汽车要离开时。
这是我的代码:
for(int i=0;i<11;i++)
{
if (parks[i]!='0' && parks[i]!=' ')// if there is available park
{
aPark=1;
}
else
{
aPark=0;
}
}
if(analogRead(A0)>200 && aPark==1) // if there is available park and car want to enter
{
myservo.write(90);
delay1=millis()+5000;
}
if(analogRead(A1)>200) // for leaving cars.
{
myservo.write(90);
delay1=millis()+5000;
}
if(delay1<millis())
{
myservo.write(0);
}
当我连接所有东西并上传代码时,伺服器没有旋转。我的代码有问题吗?还是因为未检测到传感器?
答案 0 :(得分:0)
我将验证伺服器上的连接,即使arduino没有向伺服器发送任何命令,您也应该在第一次通电时听到嗡嗡声或一些电子噪音,接下来我将尝试添加serial.println语句来了解如果您的代码正常运行并且传感器连接正确,请不要忘记Serial.begin(115200);在设置代码中,例如;
for(int i=0;i<11;i++) {
if (parks[i]!='0' && parks[i]!=' ')// if there is available park
{
aPark=1;
Serial.println("aPark=1");
}
else
{
aPark=0;
Serial.println("aPark=0");
} }
if(analogRead(A0)>200 && aPark==1) // if there is available park and car want to
enter
{
myservo.write(90);
delay1=millis()+5000;
Serial.println("1.servo 90 delay mil+5000");
}
if(analogRead(A1)>200) // for leaving cars.
{
myservo.write(90);
delay1=millis()+5000;
Serial.println("2.servo 90 delay mil+5000");
}
if(delay1<millis())
{
myservo.write(0);
Serial.println("servo 0");
}
答案 1 :(得分:-1)
您是否包含伺服库? #include <Servo.h>
应该在代码的顶部。