Проблема с использованием analogWrite () в Arduino - PullRequest
0 голосов
/ 18 января 2020

Я использую Arduino Mega, D c Motor и Cytron 10A. Я хочу контролировать скорость двигателя D C. Я использую H C -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);
}
}

Каждый двигатель может регулировать скорость при индивидуальном подключении или комментировании аналогового или аналогового написания (AN1,100) или аналогового написания (AN2,100). Когда оба кода присутствуют в коде, код не работает. Это проблема из-за более высокой скорости передачи?

Тем не менее, мой код отлично работает при использовании digitalWrite вместо аналогового. Любая помощь будет оценена.

...