51单片机项目设计:51单片机蓝牙小车制作教程,新手必做!(手机控制前后左右行走)

哔哩哔哩项目展示视频:https://www.bilibili.com/video/BV1Wy4y1z7a5
在这里插入图片描述

csdn资料链接:https://download.csdn.net/download/mbs520/13124051
百度网盘资料链接:https://pan.baidu.com/s/1p93c_CG3TJvcAXAENR_X0g
提取码:dwe2
取走记得点赞哟!
在这里插入图片描述

化作尘百度网盘下载中心:

在这里插入图片描述

一、材料准备

1、电机选择

名称:霍尔编码电机
型号:620转12V

这里用直流电机即可,这个贵,网上搜直流减速电机,最好带个轮子,方便安装
在这里插入图片描述

2、小车框架
博主这个就直接锯木板了
在这里插入图片描述
或者直接购买智能小车底盘
在这里插入图片描述

3、主控芯片选择
名称:STC89C52单片机最小系统板
购买链接:https://m.tb.cn/h.43JCfUl?sm=0792c6

4、电机驱动
名称:LN298
特点:驱动电流大,工作稳定,就是比较费电
在这里插入图片描述

5、电源
名称:18650锂电池
特点:比较便宜,比较常见
电压:3.7V
(我的是废充电宝下拆下的,比较丑)
在这里插入图片描述

6、蓝牙模块
名称:HC-05
特点:能连接手机
在这里插入图片描述

二、电路原理

电路原理图(看不清请下载资料)
注意:298的 +12V 引脚是输入,+5V 引脚是5V输出
单片机供电由298稳压供电
在这里插入图片描述

按图连接好
在这里插入图片描述

三、源代码

/*******************************************
名称:51蓝牙小车
作者:化作尘
时间:2020年11月18日21:36:47
*******************************************/

#include "reg52.h"


#define uchar unsigned char
#define uint unsigned char


/***小车控制定义**/
#define DIR P1
#define QIAN 0xaa 
#define HOU 0x55 
#define ZUO 0x5a 
#define YOU 0xa5 
#define STOP 0x00 


void uart_init();
void uart_tx_string(uchar *str);
void uart_tx_byte(uchar str);
void Delayms(unsigned int n);
uchar rec;

/*********************************************************
函数名:主函数
*********************************************************/
void main()
{
    
    
        uart_init();
		DIR = STOP;
        Delayms(1);
        uart_tx_string("hello buletooch car!\n");
        while(1)
        {
    
    
                switch(rec)
								{
    
    
									case 1:DIR = QIAN;	break;
									case 2:DIR = HOU;		break;
									case 3:DIR = ZUO;		break;
									case 4:DIR = YOU;		break;
									case 5:DIR = STOP;	break;
								}
        }
}

/*********************************************************
函数名:串口中断
*********************************************************/
void uart_timer() interrupt 4
{
    
    
        if(RI)
        {
    
    
                RI=0;
                rec=SBUF;
                uart_tx_byte('&');
                Delayms(2);
                uart_tx_byte(rec);
                Delayms(2);
                uart_tx_byte('&');
        }
}

/*********************************************************
函数名:串口初始化
波特率:9600
晶振:11.059M
*********************************************************/
void uart_init()
{
    
    
				TMOD=TMOD&0x0F;
				TMOD=0x20;
				TH1=0xFD;
				TL1=0xFD;
				TR1=1;
				SCON=SCON&0x0F;
				SCON=0x50;
				EA=1;
				ES=1;
}
 
/*********************************************************
函数名:串口发送一个字节
*********************************************************/
void uart_tx_byte(uchar str)
{
    
    
        SBUF=str;
        while(!TI);
}

/*********************************************************
函数名:串口发送一个字符串
*********************************************************/
void uart_tx_string(uchar *str)
{
    
    
        while(*str!='\0')
        {
    
    
                uart_tx_byte(*str++);
                Delayms(2);
        }
}

/*********************************************************
函数名:延时函数
*********************************************************/
void Delayms(unsigned int n)
{
    
    
        unsigned int i,j;
        for(j=n;j>0;j--)
                for(i=112;i>0;i--);
}


四、调试

1、HC-05蓝牙模块调试
HC-05默认波特率9600,如果不是9600,修改方法
电脑用串口助手连接模块,连接波特率38400,模块上电前按住小按键进入AT模式。
修改波特率指令:AT+UART=9600,0,0
在这里插入图片描述
2、蓝牙串口app

打开资料里有蓝牙串口app或者直接应用商店搜索“蓝牙串口”下载。

使用方法:
1)键盘->打开编辑模式->点击键盘开始编辑
在这里插入图片描述
2)按照下图设置:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3)连接蓝牙,开始测试

测试可能正反转有出错的情况,只需要改动代码或者接线即可

蓝牙小车视频:https://www.bilibili.com/video/BV1Wy4y1z7a5

猜你喜欢

转载自blog.csdn.net/mbs520/article/details/109775964