本人刚刚入门arduino 制作了一个非常简陋的蓝牙小车

主要有hc-05蓝牙串口模块带动小车运行

 

材料有 hc-05蓝牙串口

           小车底盘轮胎以及电机

           l298n模块

           arduino uno r3

           杜邦线

           四节五号电池

材料的连接

 

hc-05蓝牙串口与arduino uno r3的连接


l298n模块 与arduino uno r3的连接

四节五号电池  与l298n模块连接

arduino uno r3与电源连接

代码

 

int leftMotor1 = 4;
int leftMotor2 = 5;
int rightMotor1 = 6;
int rightMotor2 = 7;void setup() {
// put your setup code here, to run once:
Serial.begin(9600);

pinMode(leftMotor1, OUTPUT);
pinMode(leftMotor2, OUTPUT);
pinMode(rightMotor1, OUTPUT);
pinMode(rightMotor2, OUTPUT);
}void loop() {
// put your main code here, to run repeatedly:
//usart read
if(Serial.available()>0)
{ char cmd;
cmd = Serial.read();//读取蓝牙模块发送到串口的数据

Serial.print(cmd);


motorRun(cmd); }
}
void motorRun(char cmd)
{
switch(cmd){
case 49:
Serial.println("FORWARD"); //输出状态
digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);
delay(1000);
break;
case 50:
Serial.println("BACKWARD"); //输出状态
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, HIGH);
digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, HIGH);
delay(1000);
break;
case 51:
Serial.println("TURN LEFT"); //输出状态
digitalWrite(leftMotor1, HIGH);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, HIGH);

break;
case 52
:
Serial.println("TURN RIGHT"); //输出状态
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, HIGH);
digitalWrite(rightMotor1, HIGH);
digitalWrite(rightMotor2, LOW);

break;
default:
Serial.println("STOP"); //输出状态
digitalWrite(leftMotor1, LOW);
digitalWrite(leftMotor2, LOW);
digitalWrite(rightMotor1, LOW);
digitalWrite(rightMotor2, LOW);
delay(1000 );
}
}

代码如下并没有调整运行速度

也没有加巡线超声波测距等功能后续填坑