入门级蓝牙遥控小车制作教程

一、材料准备
1.小车底座
2.公对母,公对公,母对母杜邦线
3.l298n电机驱动芯片(想省事的话直接买模块)
4.一个51单片机最小系统(自己焊接或买成品,网上的成品大多很劣质,买回来后要好好检查)
5.蓝牙模块 (一般就是hc-05或者hc-06)
6. 直流电机2(一般在网上买小车套件会附赠)
7.四节电池盒和电池
4
8.USB转TTL连接器
9.烙铁之类的焊接工具请添加图片描述
请添加图片描述

二、L298n相关资料

在这里插入图片描述
输入1,2端口控制通道A,3,4端口控制通道b;通道a,b分别连接两个电机,电机正负极最好保持一致(这样你程序控制电机的方向就在逻辑上一致,不然会反向)
感兴趣可以自己焊一个出来

三、hc-06蓝牙设置
1.通过usb转ttl工具将hc-06和电脑连接
2.在网上下载一个stc-isp下载器(stc官网有免费软件)在这里插入图片描述
使用串口助手,新买的hc-06的话默认连接是9600波特率,将串口助手波特率设置为9600就可以实现通讯了(如果不行试试其他的波特率,如38400等等)
输入AT然后发送,会接受到OK,证明通讯成功,就可以进行下一步了
根据这个指令集发送指令配置你的蓝牙,配置好以后就连接到单片机上在这里插入图片描述
三、单片机代码
1.使用的是stc89c51单片机(11.0592MHZ)

#include "stc15F2k60s2.h"			 //此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

void UsartInit()
{
	SCON=0X50;			//设置为工作方式1
	TMOD=0X20;			//设置计数器工作方式2
	PCON=0X80;			//波特率加倍
//	TH1=0XF3;				//计数器初始值设置,波特率4800
//	TL1=0XF3;
	TH1=0XF4;				//计数器初始值设置,波特率4800
	TL1=0XF4;
	ES=1;						//打开接收中断
	EA=1;						//打开总中断
	TR1=1;					//打开计数器
}

void main()
{	
	UsartInit();  //	串口初始化
	while(1);		
}


void Usart() interrupt 4
{
	u8 receiveData;

	receiveData=SBUF;//出去接收到的数据
	RI = 0;//清除接收中断标志位
	if(receiveData=='1')
	{
		P10=0;
		P11=1;
		P12=0;
		P13=1;
	}
	else if(receiveData=='2')
	{
		P10=1;
		P11=0;
		P12=1;
		P13=0;
	}
	else if(receiveData=='3')
	{
		P10=0;
		P11=0;
		P12=0;
		P13=1;
	}
	else if(receiveData=='4')
	{
		P10=0;
		P11=1;
		P12=0;
		P13=0;
	}	
	else 
	{
		P10=0;
		P11=0;
		P12=0;
		P13=0;
	}
	SBUF=receiveData;//将接收到的数据放入到发送寄存器
	while(!TI);			 //等待发送数据完成
	TI=0;						 //清除发送完成标志位
}

关于串口通讯,单片机的主频与计算出的波特率一定要与蓝牙你自己设置的波特率精准匹配!!一定要精准!!如上图代码中我注释掉的计数器初始值设置,计算波特率出现偏差会导致蓝牙与单片机无法正常通讯或通讯出现乱码!!

蓝牙与单片机通讯失败的影响因素主要有:
1.代码中波特率设置错误
2.单片机主频设置与配对的晶振不符
3.你的晶振质量有点差,波特率设置又有点偏差,也会导致乱码
4.其他硬件损坏

四、连线
在这里插入图片描述
1.P10接输入1,P11接输入2,P12接输入3,P13接输入4
2.电池正极和负极分别接在l298n主电源正负上,l298n驱动板上的5v输入连接到单片机的vcc上给单片机供电,单片机的vss端(及接地)连到主电源负极
在这里插入图片描述请添加图片描述
五、实际测试
1.手机下载一个蓝牙串口软件
2.打开电源,手机连上你的蓝牙hc-06软件请添加图片描述
请添加图片描述
请添加图片描述
3.发送1前进,2后退,3左转,4右转,其他停止

版权声明:本文为CSDN博主「大麒麟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45601654/article/details/119961718

生成海报
点赞 0

大麒麟

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

用51单片机做宿舍门禁系统(1)--1602显示

由于时间紧迫,还有其他考试,所以目前只能抽时间慢慢做慢慢更新了,本身就是一个练手项目。 1602显示 所谓的智能系统,没有显示是万万不能的,所以有一个显示的东西是很必要的

郭天祥的10天学会51单片机_第九节

开发板上的蜂鸣器下面是温度传感器DS18B20 DA转换器的下面是SPI总线(RFR、IOUT、DI0和GND) I2C总线和SPI总线用的多。 I2C总线仲裁:具有 C总线接口的设备都接在总线上

基于AT89C51的蓝牙循迹避障小车

基于AT89C51的蓝牙循迹避障小车 对标题的解读: AT89C51:在下使用的是STC89C52这款芯片,c51和c52在新手入门阶段是一样的,所以不必纠结于到底是哪个名字&#xff

51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示

51单片机+ LCD1602+PCF8574转IIC接口+DHT11数据显示 在做这个实验的时候又一次被自己的不注意,掉坑里面去了,调试了好久都不出数据,结果在延时函数和引脚定义上被自己坑了一把。希望大家在写代码的时候多加注意。 LCD1602