我正在使用 Arduino Mega、Dc Motor 和 Cytron 10A 电机驱动器。我想控制直流电机的速度。我正在使用 HC-05 来控制机器人。这是我的代码:
Arduino:
#define AN1 12
#define AN2 9
#define IN1 13
#define IN2 11
char inChar;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(AN1,OUTPUT);
pinMode(AN2,OUTPUT);
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
}
void loop() {
if (Serial.available() > 0)
{
inChar = Serial.read();
Serial.println(inChar);
}
if (inChar =='F')
{
analogWrite(AN1,100);
// analogWrite(AN2,100);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
}
if (inChar =='S')
{
analogWrite(AN1,0);
analogWrite(AN2,0);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
}
}
当单独连接或注释analogWrite(AN1,100)或analogWrite(AN2,100)时,每个电机都能够控制速度。当两者都存在于代码中时,代码不起作用。问题是由于更高的波特率吗?
但是,我的代码在使用digitalWrite 而不是analogWrite 时效果很好。任何帮助,将不胜感激。