所需元器件

arduino板
l298n电机驱动块
小车模型和两块电机(俗称马达)
一块hc05或者hc06的蓝牙(可以接收数据的蓝牙都行,我更推荐BT24)

在这里插入图片描述
蓝牙在这里插入图片描述
这样的小车都可以
在这里插入图片描述

在这里插入图片描述
关于以上模块,网上很多具体解释,我就懒得解释具体原理了,主要是我因为懒- -+

接线

首先来教接线

在这里插入图片描述
具体就是
电机驱动块的12V–电池的正极
电机驱动块的GND–电机的负极
IN1接–4
IN2接–5
IN3接–6
IN4接–7

同时,EN需要给高电平去使能ENA和ENB,实际上我们盖上跳键帽就是给了个高低平了,ENA控制使能OUT1,2 ,ENB控制使能OUT3,4。

然后从电机驱动块的GND里面再引一条线到arduino的GND上(共地,很多人控制不了是因为没有共地),5v引一条到VIN上

千万不要引12V会到arduino上,不然会烧掉arduino,vin的电平不会经过稳压和电容的处理的,之前懵懂无知,引了个12V的GND到arduino上,直接冒青烟了!!!!

接线来是蓝牙的接线:
vcc接5V
GND接GND
TX 接 RX
RX 接 TX
如图
在这里插入图片描述
四脚车也是如此,只不过两个电机同接一个OUT罢了。

代码部分:

(arduino烧录代码的时候,记得断开蓝牙的RX和TX,不然会占用串口,导致烧录不进去)
代码很简单:

#define IN1 4        //定义引脚4是IN1
#define IN2 5        //同上同理
#define IN3 6         //+1
#define IN4 7       //+2
char ch;          //定义一个字符类型ch  用来储存接收到的数据

void setup() 
{
  Serial.begin(9600);//串口开始 波特率是9600 是的是1s或者1ns传输一个周期的数据
  pinMode(IN1,OUTPUT);//引脚输出1
  pinMode(IN2,OUTPUT);//引脚输出2
  pinMode(IN3,OUTPUT);//引脚输出3
  pinMode(IN4,OUTPUT);//引脚输出4

}
void loop() //开始循环?
{
 if(Serial.available()>0) //连续可得到的数据?
{
  ch = Serial.read();  //连续读取
Serial.print(ch);
  if(ch=='0')//如果ch为0,全停  刹车
  {
  digitalWrite(IN1,LOW);     
  digitalWrite(IN2,LOW);   
  digitalWrite(IN3,LOW);     
  digitalWrite(IN4,LOW);      
}
if(ch =='1')                   //IN1 IN2 高低 IN3 IN4 高低 前进
 {
  digitalWrite(IN1,HIGH);      
  digitalWrite(IN2,LOW);         
  digitalWrite(IN3,HIGH);      
  digitalWrite(IN4,LOW);         
  }
if(ch == '2')//IN1 IN2 低高 IN3 IN4 低高  后退
  {
  digitalWrite(IN1,LOW);      
  digitalWrite(IN2,HIGH);        
  digitalWrite(IN3,LOW);      
  digitalWrite(IN4,HIGH);        
  }
 if(ch == '3')  //IN1 IN2 高低 IN3 IN4 低高  左转,靠反向力去转
  {
  digitalWrite(IN1,HIGH);      
  digitalWrite(IN2,LOW);       
  digitalWrite(IN3,LOW);      
  digitalWrite(IN4,HIGH);       
  }
 if(ch =='4')  //IN1 IN2 低高 IN3 IN4 高低  右转,靠反向力去转
  {
  digitalWrite(IN1,LOW);      
  digitalWrite(IN2,HIGH);         
  digitalWrite(IN3,HIGH);      
  digitalWrite(IN4,LOW);         
  }

}
}

什么是高,什么该低,具体看你的IN1 IN2 IN3 IN4的OUT1 OUT2 OUT3 OUT4的接线。

蓝牙调试

这个时候手机下载蓝牙串口调试器,一般蓝牙密码是1234,接上蓝牙后,再用串口调试助手去调试。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开编辑,关闭HEX(发送16进制的数)
在这里插入图片描述
up设置为1
OK设置为0 刹车!!!极重要!!!
down设置为2
其他同理

制作自己的app

打开app inventor的网址
http://app.gzjkw.net/
或者增强版也行
app.wxbit.com

app.wxbit.com学校网络有时候进不了

界面设计如图所示
在这里插入图片描述

Activity启动器1的Action填上:
android.bluetooth.adapter. action.REQUEST_ENABLE

代码设计
在这里插入图片描述
然后就可以控制我们的蓝牙小车了

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐