(基于Mixly)
1,接线操作:
L298N(使能引脚ENA接pin10,方向引脚接pin4,pin5,使能引脚ENB接pin11,方向引脚接pin6,pin7)
蓝牙HC-05(vcc接5v,GND接GND,RXD接TX,TXD接RX)
volatile int i;
void setMotor(int dirpin1,int dirpin2,int speedpin, int speed)
{
digitalWrite(dirpin2,!digitalRead(dirpin1));
if (speed == 0)
{
digitalWrite(dirpin1, LOW);
analogWrite(speedpin, 0);
}
else if (speed > 0)
{
digitalWrite(dirpin1, LOW);
analogWrite(speedpin, speed);
}
else
{
digitalWrite(dirpin1, HIGH);
analogWrite(speedpin, -speed);
}
}
void gostrignt() {
setMotor(4, 5, 10, 100);
setMotor(7, 6, 11, 100);
}
void goback() {
setMotor(4, 5, 10, -100);
setMotor(7, 6, 11, -100);
}
void goright() {
setMotor(4, 5, 10, 100);
setMotor(7, 6, 11, 0);
}
void goleft() {
setMotor(4, 5, 10, 0);
setMotor(7, 6, 11, 100);
}
void stop() {
setMotor(4, 5, 10, 0);
setMotor(7, 6, 11, 0);
}
void setup(){
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
Serial.begin(9600);
i = 0;
}
void loop(){
if (Serial.available() > 0) {
i = Serial.read();
switch (i) {
case 'q':
gostrignt();
break;
case 'h':
goback();
break;
case 'z':
goleft();
break;
case 'y':
goright();
break;
case 't':
stop();
break;
}
}
}
2,手机蓝牙调试app。
"蓝牙调试器“
设置按键,前后左右。