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

article/2025/8/4 4:59:47

哔哩哔哩项目展示视频:https://www.bilibili.com/video/BV1Wy4y1z7a5
在这里插入图片描述
QQ交流群1:981140834
QQ交流群2:473982062
QQ交流群3:718245727
QQ交流群4:598455837
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

化作尘其它开源项目链接:

单片机项目:

基于stm32c8t6的坡道行驶巡线小车(2020年TI杯大学生电子设计竞赛 C题)

[

https://blog.csdn.net/mbs520/article/details/115438122

](https://blog.csdn.net/mbs520/article/details/115438122)

基于STM32F4的音乐播放器

https://blog.csdn.net/mbs520/article/details/111313042

基于STM32F4的电子阅读器(首创)

https://blog.csdn.net/mbs520/article/details/110817173

基于51单片机WiFi视频小车(首创)

https://blog.csdn.net/mbs520/article/details/109843972

基于51单片机蓝牙小车

https://blog.csdn.net/mbs520/article/details/109775964

基于MSP430 坡道行驶电动小车(2020年TI杯大学生电子设计竞赛 C题)

https://blog.csdn.net/mbs520/article/details/109090072

基于stm32f4的智能门锁系统

https://blog.csdn.net/mbs520/article/details/106987758

基于51单片机超声波测距小车

https://blog.csdn.net/mbs520/article/details/106599219

基于51单片机定时宠物喂食系统

https://blog.csdn.net/mbs520/article/details/108292187

Linux项目:

基于QT5 Linux平台

停车场管理系统

https://blog.csdn.net/mbs520/article/details/113481824

基于QT5 Linux平台

车载系统

https://blog.csdn.net/mbs520/article/details/112873809

基于Linux系统

媒体播放器

https://blog.csdn.net/mbs520/article/details/107880118

基于Linux系统

语音识别、人机对话

https://blog.csdn.net/mbs520/article/details/113179224

基于Linux系统

小钢琴程序(暂无博客)

基于Linux系统 QQ通讯录管理系统(暂无博客)


http://chatgpt.dhexx.cn/article/7H0JNPHX.shtml

相关文章

51单片机智能小车

最近学校举办了一个智能小车比赛,比赛内容为用手机蓝牙控制小车拥有5个功能,分别是超声波舵机避障,测距(显示在LCD1602上),红外跟随,循迹还有蓝牙控制小车前进后退左转又转以及停止。 文章目录 …

51单片机智能循迹小车的通俗易懂讲解

. . 从上面导航图,我们可以看到,智能小车,共分为三步 外部检测,控制中心,轮子输出控制。 等于人的 . . 因为单片机控制中心和轮子输出控制是一样的,只有前面的外部检测,换个模块工作而已。 . …

基于51单片机四路循迹小车

文章目录 一. 任务要求二. 系统原理三. 整体方案1. 控制模块最小系统去除AD网格线 2. 电机驱动模块3. 电源模块4. 循迹模块5. 超声波测距模块 四. 车体实物图五. 软件实现 这学期开设的51单片机课程的课程设计即将验收,今天开始正式着手做循迹小车~ 一. 任务要求 二…

51单片机循迹小车

一.材料 1.51单片机开发板 2.L298N电机 3.红外循迹模块 4.直流电机 5.电池(提供电源,选用的是三节18650锂电池) 6.杜邦线 7.两个主动轮,一个万向轮 8.小车底板(亚克力板) 二.实现效果 使小车在两…

【51单片机实例教程】智能小车(一)让你的小车跑起来

文章目录 前言 一、硬件 1.小车底盘 2.51单片机最小系统板 3.L298N双路电机驱动板 二、仿真模拟图 三、代码部分 1.直行 2.后退 3.左转圈 4.右转圈 总结 前言 智能小车的项目非常多,比如说循迹避障、蓝牙遥控、视觉控制(这一块用51单片机比较…

基于51单片机的循迹小车(初学者必备!!!)

基于51单片机的循迹小车 文章目录 基于51单片机的循迹小车 前言一、系统概述1.工作原理2.控制系统结构框图 二、循迹小车硬件1.电机驱动模块2.循迹模块 三、循迹小车软件四、源码(仅供参考) 前言 该小车采用单片机STC89C52作为主控制核心,通过…

单片机小车

*## 单片机小车 本周作为单片机新手的我制作了我的第一个作品—单片机小车 一 元件:1.单片机最小系统板 2.杜邦线 3.USB转TTL CH340模块STC单片机下载线刷机板USB转串口 4.智能小车配件 红外寻迹 5.智能小车51单片机套件底盘组装寻迹避障开发板编程循迹机器人配件 …

51单片机之智能小车(避障、跟随、循迹)

目录 基本概述 硬件组成 功能 关键字 模块介绍 电机模块L9110S 循迹模块(TCRT5000传感器) 红外避障模块 测速模块 小车 移动小车(控制电机转动,使小车前进、后退、左转、右转 ) 遥控小车( 使…

详细介绍如何从零开始制作51单片机控制的智能小车(一)———让小车动起来

从本文开始,在之后的一段时间里,我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,本文作为本系列的第一篇文章,主要介绍如何让小车动起来。 本系列文章链接: ------------------…

乐观锁-基于CAS原理

乐观锁理论基础 乐观锁的操作过程中其实没有没有任何锁的参与,乐观锁只是和悲观锁相对,严格的说乐观锁不能称之为锁。下面我们就通过乐观锁与悲观锁的对比来更好的理解乐观锁。 乐观锁与悲观锁的概念 乐观锁:总是假设最好的情况…

JAVA CAS原理深度分析

CAS CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁的一种乐观锁。 本文先从CAS的应用说起,再深入原理解析。 CAS应用 CAS有3个操作数,内存值V,旧的预期值A,要修…

CAS原理图

主要原理 1 用户第一次访问一个CAS 服务的客户web 应用时(访问URL :http://192.168.1.90:8081/web1 ),部署在客户web 应用的cas AuthenticationFilter ,会截获此请求,生成service 参数 2 然后redirect 到C…

java---CAS原理分析详解

目录 一、什么是CAS 二、乐观锁与悲观锁 1.乐观锁出现原因 2.乐观锁 3.乐观锁的实现机制---CAS 三、JAVA对CAS的支持 首先演示实际的操作 上述过程的内部原理(java层面) 四、CAS缺陷 1.ABA问题 解决ABA问题 2.循环时间长开销大 3.只能保证一个变量的原子操作 4.解…

AQS和CAS原理

锁机制(AQS和CAS) 一、AQS 1、AQS原理 AQS:AbstractQuenedSynchronizer抽象的队列式同步器。是除了java自带的synchronized关键字之外的锁机制。     AQS的全称为(AbstractQueuedSynchronizer),这个类…

CAS原理解析

什么是CAS cas全称为compareAndSwap,可以很清楚的翻译知道意思为“比较和交换”,字面意思其实就已经解释了CAS的实现原理 CAS简介 从jdk5开始,jdk提供了java.util.concurrent.*,此包下面的类在高并发场景下经常使用,包…

搞定CAS的原理,看这一篇就够了!

一、什么是CAS? CAS (compareAndSwap),中文叫比较交换,是一种无锁原子算法,映射到操作系统就是一条CPU的原子指令,其作用是让CPU先进行比较两个值是否相等,然后原子地更新某个位置的…

深入理解vue.js双向绑定的实现原理

vue.js是MVVM(模型到视图和视图到模型)结构的,同类的还有AngularJs;至于MVC、MVP、MVVM的比较网上已经有很多了,这样不再重复。这篇文章将给大家深入的介绍vue.js双向绑定的实现原理,有需要的朋友们可以参考…

MVVM数据双向绑定

MVVM采用双向数据绑定,view中数据变化将自动反映到viewmodel上,反之,model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Mo…

vue双向绑定的理解

什么是双向绑定 把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新。在单向绑定的基础上,用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定 如: 当用户填写表单时&a…

实现vue数据双向绑定

关注公众号&#xff0c;每天都能领外卖红包 关于vue数据双向绑定也是面试很喜欢问的题目了&#xff0c;这里讲下实现方式&#xff0c;效果图、源码、demo在文章末尾 首先看下vue的基本结构 <div id"app"> <div>{{a.b.c}}</div></div> n…