代码似乎没有用,但我也刚开始学习如何编写arduino代码。我正在尝试运行两个直流电机和一个伺服作为机器人汽车的转向。我该怎么做才能让它运作起来。我所要做的就是使用两个电机驱动汽车前进,伺服系统为汽车提供方向。如何改进此代码?
#include <Servo.h>
int servoRightPin = 2;
int servoLeftPin = 3;
int servoDirPin = 4;
Servo servoRight;
Servo servoLeft;
Servo servoDir;
void turnLeft()
{
servoDir.write(0.6);
delay(300000);
servoLeft.write(180);
servoRight.write(0);
}
void moveForward()
{
servoDir.write(0);
delay(240000);
servoLeft.write(180);
servoRight(0);
}
void turnLeft()
{
servoDir.write(0.6);
delay(300000);
servoLeft.write(180);
servoRight.write(0);
}
void moveForward()
{
servoDir.write(0);
delay(240000);
servoLeft.write(180);
servoRight(0);
}
june_4_car.ino: In function 'void moveForward()':
june_4_car.ino:25:15: error: no match for call to '(Servo) (int)'
june_4_car.ino: In function 'void turnLeft()':
june_4_car.ino:28:6: error: redefinition of 'void turnLeft()'
june_4_car.ino:12:6: error: 'void turnLeft()' previously defined here
june_4_car.ino: In function 'void moveForward()':
june_4_car.ino:36:6: error: redefinition of 'void moveForward()'
june_4_car.ino:20:6: error: 'void moveForward()' previously defined here
june_4_car.ino:41:15: error: no match for call to '(Servo) (int)'
Error compiling.
答案 0 :(得分:1)
那里有几个问题。
让我们从编译错误开始:
turnLeft
和两个函数moveForward
。我假设第二对应该是turnRight
和moveBackwards
。moveForward
的{{1}}功能中,这应该是servoRight(0)
。修复此问题应该允许您的代码进行编译,但它仍然无效:
servoRight.write(0)
)。attach
,delay
和write(180)
的评价是什么?write(0)
。{/ li>跟踪read()
醇>
简而言之,请阅读一些教程(like this),进行实验并享受乐趣。