51单片机蓝牙小车(精要版)

article/2025/8/4 4:48:01

51单片机蓝牙小车(精要版)

实现:通过手机与小车的蓝牙通信,实现手机控制小车前后左右的移动。

这是博主学了51单片机第一次做的单片机项目,选择了许多人喜欢的蓝牙小车作为第一个项目。

准备材料:

1.小车亚克力底盘
2.减速电机4个(网上搜索有很多)
3.蓝牙 HC-06
4.L298N
5.7.2V电源(记得配好接口,我买的是大田宫的接口)
6.杜邦线若干(公对公,母对母,公对母)
8.89C52RC单片机最小系统板
7.必要的话要用电焊铁

在这里插入图片描述

在这里插入图片描述

第一:

首先说蓝牙模块,蓝牙模块是比较重要的模块,通过接收手机的信号,把数据传送给单片机,单片机控制电平,使L298N步进电机驱动小车轮子。蓝牙买了HC-06型号,配置非常简单,教程在汇承官网(官网)
具体步骤就不列举了,官网非常详细。单片机程序后面再列举出来。

第二:

说一下连线,连线的话呢单片机的TX,RX,5V,GND分别接蓝牙的 RX,TX,5V,GND
7.2V电源接口连接L298N步进电机的12V,电源GND连接L298N步进电机GND,然后关键的地方来了L298N的一个5V输出口连接单片机给单片机供电,步进电机的GND连接单片机的GND.
(之前用电源连接单片机,单片机再输出供电给L298N,减速电机很难动起来,一直以为是程序错误或者是杜邦线连接错误,搞了很久,后来知道是单片机输出的电流是不够大的,所以正确的连接是 : 电源供电L298N,L298N供电给单片机,L298N供电给四个减速电机
步进电机的左右两边分别有两个口,分别为output1,output2,output3,output4.
output1,output2分别连接减速电机的正负(一共连接两个减速电机)
output3,output4分别连接减速电机的正负(一共连接两个减速电机)

第三:

手机控制端就下载SPP蓝牙串口,然后选择按钮。定义按钮输入要发送的字符就OK了。
在这里插入图片描述
在这里插入图片描述

第四:

代码部分

#include<reg52.h>
#include<intrins.h>#define uchar unsigned char
#define uint  unsigned intsbit LF=P0^0;//左上
sbit LB=P0^1;//左下
sbit RF=P0^2;//右上
sbit RB=P0^3;//右下/前进/
void forward()
{LF=0;LB=1;RF=0;RB=1;
}/后退/
void back()
{LF=1;LB=0;RF=1;RB=0;	
}/左/ 
void left()
{LF=0;LB=0;RF=0;RB=1;
}/右/
void right()
{LF=0;LB=1;RF=0;RB=0;}void UsartConfiguration();
void Delay_1ms(uint i);void Com_Int(void) interrupt 4
{uchar receive_data;EA = 0;if(RI == 1) { 		RI = 0;LF=0;RF=0;LB=0;RB=0;receive_data = SBUF;if(receive_data == '1')	 {forward();}else if(receive_data == '2'){back();}else if(receive_data == '3'){left();}else if(receive_data == '4'){right(); }else if(receive_data == '0'){LF=0;RF=0;LB=0;RB=0;}}EA = 1;
}void main()
{UsartConfiguration();while(1);	
}void UsartConfiguration()
{	SCON=0X50;			TMOD=0X20;			PCON=0X00;		TH1=0XFd;		    TL1=0XFd;TR1=1;					ES = 1;        EA = 1;         
}void Delay_1ms(uint i)
{uchar x,j;for(j=0;j<i;j++)for(x=0;x<=148;x++);
}

第五:

这次的单片机蓝牙小车项目让我知道了许多东西都是要不断试错不断踩坑才能完成,多查查互联网,多问问朋友,有助于解决问题。下一个项目想要用STM32F407和openmv做一个跟着人运动的小车,朋友说用树莓派会更快,但是我STM32还没学好,就不跳跃这么快,先来STM32。学习时间大概为3个月(STM32&& openmv && python)。做好了会继续写博客。希望这个能对你有一点点帮助。感谢~


http://chatgpt.dhexx.cn/article/vxHDmc5w.shtml

相关文章

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

哔哩哔哩项目展示视频&#xff1a;https://www.bilibili.com/video/BV1Wy4y1z7a5 QQ交流群1&#xff1a;981140834 QQ交流群2&#xff1a;473982062 QQ交流群3&#xff1a;718245727 QQ交流群4&#xff1a;598455837 csdn资料链接&#xff1a;https://download.csdn.net/downl…

51单片机智能小车

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

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

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

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

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

51单片机循迹小车

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

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

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

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

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

单片机小车

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

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

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

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

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

乐观锁-基于CAS原理

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

JAVA CAS原理深度分析

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

CAS原理图

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

java---CAS原理分析详解

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

AQS和CAS原理

锁机制&#xff08;AQS和CAS&#xff09; 一、AQS 1、AQS原理 AQS&#xff1a;AbstractQuenedSynchronizer抽象的队列式同步器。是除了java自带的synchronized关键字之外的锁机制。     AQS的全称为&#xff08;AbstractQueuedSynchronizer&#xff09;&#xff0c;这个类…

CAS原理解析

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

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

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

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

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

MVVM数据双向绑定

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

vue双向绑定的理解

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