基于51单片机制作的蓝牙小车

本文介绍了一位新手使用51单片机制作的蓝牙小车项目,详细阐述了所需的材料、组装过程、接口连接以及代码实现。通过手机蓝牙助手,实现了对小车的前进、后退、左右转向和停止的远程控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于51单片机制作的蓝牙小车

这是本人(小菜鸡一枚)于大一寒假所做的小玩意,以展现我这几月所学,这也是我发的第一篇博客,准确来说这可能是我搞51单片机的巅峰所做了,因为部长说以后要学stm32开发板了,51单片机以后大概是不会接触了,不得不说写博客对我而言真的有点困难。祝愿我也祝愿大家能够坚持自己的梦想。
果然坚持是最难的,谁又能想到自此之后便无疾而终了呢?不过最令我气愤的是,这么久没登,CSDN给我文章改成VIP专属的了,你给钱了吗?就我这小破文章谁看啊?垃圾网站。

一.所需材料
1,51单片机开发板x1
2,杜邦线(公对公,母对母,公对母)
3,L298N步进电机x1
4,电池一枚,以作为电源
5,HC-05蓝牙模块(本人买的是主从一体式)
6,蓝牙小车底盘一个

二,组装阶段
1,L298N模块各接口说明,
在这里插入图片描述
1)首先12V电源输入是直接接电源正极的(本人买的是12V电池,毕竟跑的快)。
2)电源地接电源负极以及单片机的GND(当作负极看吧,好理解)。
3)5V输入直接就接51单片机的VCC(就是51单片机的电源输入口)。
4)电池电流是先流入L298N再去51单片机开发板的,别问我为什么知道,因为我已经烧坏一块板子了。至于其他接口图上已经说的很明白了。
5)A,B通道使能输出口(ENA及ENB),本人没有用,也不用管那个玩意,因为我菜不会用,而且也没什么大用
6)马达A,B输出口,用于控制马达的电流输出,接马达就好。
7)A,B通道使能输出口中间的的4个口,是接单片机IO口的,用于逻辑写入。

2,HC-05蓝牙模块
1)蓝牙模块上的VCC接51单片机上的VCC,GND接51单片机上的GND
2)蓝牙模块上的TXD与RXD是接入单片机的IO口上,下面会有所说明。

3,51单片机说明

在这里插入图片描述
这是单片机开发板的部分原理图(IO口)
1)L298N上的A,B通道使能输出口中间的的4个口(IN1,INT2,INT3,INT4),本人分别接于单片机上P00,P01,P02,P03这四个IO口上。
2)蓝牙模块上的RXD接口接在单片机上的TXD接口上,在该原理图上是P31接口;TXD接口接在RXD接口上,即P30接口。

三,成品展示
因本人手艺粗糙,效果就是这个样子(我弟弟玩的还是很开心,导致有些接口接的比较松)
在这里插入图片描述
四,代码实现阶段

#include <reg51.h> 

sbit int1=P0^0;	 
sbit int2=P0^1;
sbit int3=P0^2;
sbit int4=P0^3;

char i;

void stop()//停止
{
	int1=0;	   
	int2=0;
	int3=0;
	int4=0; 
}
void back()//后退
{
	int1=1;	   
	int2=0;
	int3=1;
	int4=0;
}

void forward()//前进
{
	int1=0;	   
	int2=1;
	int3=0;
	int4=1;    
}

void right() //右转  
{
	int1=0;	   
	int2=1;
	int3=1;
	int4=0;
}

void left()//左转
{
	int1=1;	   
	int2=0;
	int3=0;
	int4=1;
}

void main()
{
	  TMOD=0x20;                         //设置T1为工作方式2
      TH1=0xfd;                        //装入初值,比特率为9600bps
      TL1=0xfd;
      TR1=1;                              //开启T1
      REN=1;                             //接收允许
      SM0=0;                             //方式1
      SM1=1;
      EA=1;                               //开全局中断
      ES=1;                                //开串口中断
 	while(1)
 	{
		 i=SBUF;//SBUF为单片机接收到的数据,单片机接收到的数据都存放在SBUF里;
         RI=0;
         switch(i)
         {
		    case '1':       
			    forward();
		        break;
		    case '2':       
			    back();
			    break;
		    case '3':       
		        left();
			    break;
			case '4':       
		        right();
			    break;
		    case '5':       
		    	stop();
		    	break;
		}
	}
}

五,测试
通上电之后呢,就可以用手机蓝牙进行测试啦。
1,首先呢先在手机上下载一个蓝牙助手,大概像这个样子的。
在这里插入图片描述
最主要的是那四个前后左右的按键,其他的是我自己加的,反正在源代码上自行添加就好。

解析:前进,后退,左转,右转,停止,都对应着程序中相应的信息,如图;

当手机端发送 1 给蓝牙模块,就会执行 forward()函数; 小车会向前走

当手机端发送 2 给蓝牙模块,就会执行 back();函数;,小车会向后走

当手机端发送 3 给蓝牙模块,就会执行 left();函数;,小车会向左走

当手机端发送 4 给蓝牙模块,就会执行 right()函数;,小车会向右走

当手机端发送 5 给蓝牙模块,就会执行stop()函数;,小车会停止

具体的编辑如图:
在这里插入图片描述
话说缩进咋弄?还有字体大小什么的呢?

最近用51单片机写了一个最简单的蓝牙遥控智能小车,基本上榨干了51单片机的资源,用了定时器T1作为波特率发送器编写串口打印程序,接收串口蓝牙接收的信息产生中断,并且写了一个串口打印函数send()作为单片机操作响应返回给蓝牙发送端手机。定时器T0作为PWM发生使用,目的是作为舵机sg90控制信号,当时做一个蓝牙自怕用到,虽然小车没搭建舵机,但是可以方便扩展,也方便买家学习舵机PWM控制技术。 小车全身照如下: 全部零部件都是购买的配件:按照实物图购买响应的模块组装成小车,L298N,电源模块,电池夹和18650电池两个,电源变压器、51单片机最小系统板、HC05串口蓝牙模块、小车底座 单片机最小系统板彩图:某宝有卖很便宜 单片机最小系统板原理图: 小车是用安卓手机蓝牙调试助手用指令发送的形式来控制的,所以说是最简单的蓝牙遥控小车,呵呵。不过加上舵机和机械手和操控摇杆或者是手机控制app,就变得高端了,敬请期待。这个版本是免费的,但是功能还是很齐全和强大的,代码也写得通俗易懂,不拖泥带水。 下面是源码截图:(新鲜出炉) 手机app遥控效果如下:(买家注意了有车子返回响应的回复的) 感兴趣的买家可以找我私人定制功能之类的也是没有问题的。这款小车大概就这个情况了,敬请期待我更好的作品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨染成画,南柯一梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值