Я создаю программу для моего мегапикселя Arduino с L293D Motor shield и bluetooth Module at rx pin для моего автомобильного проекта arduino rc.
#include <AFMotor.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11); // RX, TX
AF_DCMotor motor1(3);
AF_DCMotor motor2(4);
char intra = '0';
void setup()
{
// set the data rate for the SoftwareSerial port
motor1.setSpeed(200);
mySerial.begin(9600);
}
void loop() // run over and over
{
if(mySerial.available()>0) {
intra = mySerial.read();
mySerial.write(intra);
}
if(intra == '1'){
up();
}
}
void up(){
motor1.run(FORWARD);
}
Таким образом, проблема в основном заключается в утверждении if, если выполняется дажекогда переменная 'intra = 0 ". Таким образом, в результате двигатель на определенном порту всегда вращается.
Кроме того, rx1, tx1 или rx2, tx2 или rx3, tx3 не реагируют, когда я использую
Serial1.begin(9600);
Serial1.read();
или около того .... он все еще читает из rx0, tx0, т. Е. Выводов 1 и 0.