基于单片机的蓝牙遥控小车

合集下载

基于51单片机的两驱蓝牙小车系统设计

基于51单片机的两驱蓝牙小车系统设计

• 6 •内燃机与配件基于51单片机的两驱蓝牙小车系统设计王庐山(湖北工业职业技术学院电子工程系,十堰442000)摘要:选用51单片机作为主控芯片,采用R200—体化红外光电对管构成五路循迹,通用的红外对管构成三路避障,同时还具有 超声波避障、舵机摇头的功能。

电机驱动采用LN293D,可进行PWM控制小车的转速,电源部分采用两节3.7V锂电池供电,与其它外 围电路一起构成智能小车的硬件系统。

采用C语言模块化编程,提高开发效率。

智能小车能够完成循迹、避障、超声波测距、舵机摇头 避障、红外遥控、蓝牙控制等功能。

四位数码管显示功能序号,用按健或遥控器可以选择切换小车功能。

关键词:51单片机;循迹、避障;PWM控制;蓝牙;红外遥控;超声波0引言智能小车越来越受学生的喜爱,制作智能小车不仅可 以锻炼学生的动手能力,还可以提高学生的学习兴趣。

没 有一款电子产品能像智能小车一样把很多的知识融合在 一起,既可以练习电子产品装配与调试技术,又可以学习 51单片机技术,是典型的软硬件都可以学习的教学实训 好载体。

因此我们设计了这款多功能小车。

让学生在玩中 学,在学中玩。

1智能小车硬件设计1.1系统的总体设计智能小车的CPU采用STC89C52R C单片机,该CPU 在高校教学中应用最广,学习非常熟悉,参考资料多,降低 了设计难度,便于学生开发。

五路循迹和三路避障用P0 □八个引脚,P2 □用于对 小车左右两个电机的PWM控制,超声波模块接在P3.2和P3.4 □,舵机接在P3.6 □,蓝牙模块接在P3.0和P3.1 □,红外遥控接在P3.3 □,数码管的显示采用595控制,接在 P1 □。

设置有设置、+、三个功能按键,用于选择小车的功 能。

用四位数码管显示小车当前的功能。

1.2循迹与避障电路设计5路循迹采用RPR220光电传感器来检测信号,3路 避障采用红外发射与接收对管作为传感器来检测信号。

循 迹和避障采用LM324来处理信号。

单片机蓝牙小车实习报告

单片机蓝牙小车实习报告

一、实习背景随着科技的发展,单片机技术得到了广泛应用。

为了提高自己的动手能力,拓宽知识面,我们选择了单片机蓝牙小车作为实习项目。

本项目旨在利用单片机技术,通过蓝牙通信实现小车的无线遥控,使其具备基本移动和避障功能。

二、实习目的1. 掌握单片机的基本原理和编程方法。

2. 熟悉蓝牙通信技术及其应用。

3. 培养团队合作精神和动手能力。

4. 提高解决实际问题的能力。

三、实习内容1. 硬件设计(1)主控芯片:选用STC89C52单片机作为小车的主控芯片,具有丰富的I/O口,便于扩展。

(2)蓝牙模块:选用HC-05蓝牙模块,实现手机与单片机的无线通信。

(3)电机驱动:采用L293D电机驱动芯片,为直流电机提供足够的驱动能力。

(4)传感器:选用红外传感器作为避障传感器,检测前方障碍物。

(5)电源:采用两节3.7V锂电池为小车提供电源。

2. 软件设计(1)主控程序:编写单片机主程序,实现蓝牙通信、电机控制、避障等功能。

(2)手机端程序:编写手机端蓝牙控制程序,实现小车的无线遥控。

3. 系统调试(1)硬件调试:检查电路连接,确保各模块正常工作。

(2)软件调试:通过串口调试助手,观察程序运行状态,发现问题并修改。

四、实习过程1. 硬件制作(1)根据电路图,焊接各元器件,包括单片机、蓝牙模块、电机驱动芯片、红外传感器等。

(2)组装小车底盘,将各模块安装到位。

2. 软件编程(1)编写单片机主程序,实现蓝牙通信、电机控制、避障等功能。

(2)编写手机端蓝牙控制程序,实现小车的无线遥控。

3. 系统调试(1)硬件调试:检查电路连接,确保各模块正常工作。

(2)软件调试:通过串口调试助手,观察程序运行状态,发现问题并修改。

五、实习成果1. 成功制作了一台单片机蓝牙小车,具备基本移动和避障功能。

2. 掌握了单片机编程、蓝牙通信、电机控制等技术。

3. 提高了动手能力和团队合作精神。

4. 为今后的学习和工作打下了基础。

六、实习总结通过本次单片机蓝牙小车实习,我们深刻体会到理论与实践相结合的重要性。

51单片机蓝牙控制小车工作原理

51单片机蓝牙控制小车工作原理

51单片机蓝牙控制小车工作原理随着科技的不断发展,各种智能设备逐渐成为人们生活中不可或缺的一部分。

其中,单片机与蓝牙技术结合的小车应用,既有趣又具有一定的实用价值。

本文将介绍51单片机蓝牙控制小车的工作原理,以期为大家提供一些有益的信息。

在实际应用中,小车的移动、旋转控制是至关重要的。

为此,我们可以选用一种简单而有效的蓝牙通信协议——UART通信协议。

它可以在单片机与蓝牙控制小车之间建立通信连接,实现对小车的远程操控。

51单片机蓝牙控制小车的工作原理主要包括以下几个方面:一、单片机端硬件设计单片机端硬件设计主要包括单片机本身和与蓝牙控制小车连接的接口电路。

单片机可以内置UART通信模块,用于与蓝牙控制小车进行通信。

同时,还需要一个驱动电路,用于将单片机与蓝牙控制小车连接起来。

这些硬件设计可以通过电路图的形式呈现,具体电路图可以在相关资料中查阅。

二、蓝牙控制小车端硬件设计蓝牙控制小车端硬件设计主要包括一个小车的接收单元、一个驱动单元和一个微控制器。

接收单元用于接收单片机发送的指令,将指令转换为小车可以理解的动作信号。

驱动单元用于控制小车的运动,可以根据接收到的指令控制小车的移动、旋转等动作。

微控制器用于接收接收单元发送的信号,并根据接收到的信号控制单片机的功能。

这些硬件设计也可以通过电路图的形式呈现,具体电路图可以在相关资料中查阅。

三、通信协议51单片机与蓝牙控制小车之间的通信,需要遵循一种合适的通信协议。

在这里,我们主要采用UART通信协议。

它是一种串口通信,具有接口简单、速度较慢的特点,非常适合于这种简单而有趣的应用场景。

四、软件编程软件编程是单片机与蓝牙控制小车之间的桥梁。

为此,我们需要编写一段程序,用于实现单片机端与蓝牙控制小车端的通信功能。

这段代码需要包含以下几个主要部分:1.初始化函数:用于对单片机和蓝牙控制小车的硬件进行初始化,包括开启相应接口、配置默认值等。

2.数据接收函数:用于接收蓝牙控制小车发送的数据,并进行解码和处理。

单片机蓝牙控制小车

单片机蓝牙控制小车

课题:基于单片机的蓝牙控制小车专业:班级:学号:姓名:指导教师:设计日期:成绩:重庆大学城市科技学院电气信息学院目录1.设计目的作用 (2)2.设计要求 (2)3.设计的具体实现 (2)3.1设计原理 (2)3.2系统设计 (12)3.3系统实现 (13)4.总结 (19)参考文献 (20)附录 (21)附录1 (21)附录2 (22)C51蓝牙控制小车设计报告1设计目的与意义目的与意义:提高学生动手能力,培养学生的思维,巩固理论知识,让我们能对单片机更加深入的了解,加深同学们对单片机的认识,通过自己动手让小车跑起来还能让同学们更加有积极性,参与感,成就感。

让学生们亲自体验这门课程的神奇性。

因为无线技术的广泛使用,使蓝牙技术的发展成为了趋势之一,蓝牙可以发送和接受语音和数据,满足了大多数人的需求,它也融合了其他相关产品的特点,也是这样技术变得更多样性。

实现了无线控制小车,摆脱了有线控制的不方便,更加智能。

2设计要求SPP蓝牙串口调试助手 ----》聊天窗口--》1、在Bluetooth_Car项目中添加超声波躲避障碍功能(在小车前进的过程中,实时检测障碍物,一旦检测的距离,接近设定的值,触发蜂鸣器,报警系统工作,小车停止前进);2、在Bluetooth_Car项目中的串口中断服务函数中,添加小车前进的8个方向,前后左右,左前,右前,左后,右后;3、利用外部中断,强制停止小车运行(无论小车现在处于什么状态),蜂鸣器报警1s后,可再运行;4、用手机的蓝牙串口调试助手来远程操作小车。

3.设计的具体实现3.1设计原理芯片常识: STM8、C52 、STM32 、ARMC52:主要做末端的控制 11.0592MHZSTM32:主要做工业控制领域——智能设备 168MARM:主要做消费市场——手机==============单片机小车==========了解原理图和数据手册一、软件建立工程建立工程时芯片选择--》Atmel-->AT89C52设置芯片频率,选择生成16进制可执行文件。

基于单片机的一种多功能玩具小车的设计与实现

基于单片机的一种多功能玩具小车的设计与实现

随着科技的发展,单片机作为一种常用的微控制器,已经在各个领域得到了广泛应用。

在玩具领域,特别是玩具小车的设计中,单片机的运用也越来越普遍,可以实现各种有趣的功能。

本文将介绍一种基于单片机的多功能玩具小车的设计与实现。

二、设计目标1. 实现无线遥控功能,通过遥控器实现对小车的控制。

2. 设置超声波避障模块,让小车能够自动避开障碍物。

3. 小车可通过蓝牙模块与手机进行连接,实现手机APP控制。

4. 为小车设计多种灯光效果,增添趣味性。

5. 使用音乐模块,使小车产生丰富的声音效果。

三、硬件设计1. 主控芯片选择了常用的Arduino单片机。

2. 驱动模块选用了直流电机驱动模块,实现小车的前进、后退和转向。

3. 采用了超声波传感器模块,用于检测障碍物并实现避障功能。

4. 蓝牙模块选用了蓝牙串口模块,实现与手机的数据传输和控制。

5. 设计了多种灯光效果,包括LED灯和彩色灯带。

6. 音乐模块选用了声音传感器模块,可以发出不同的声音效果。

四、软件设计1. 编写了小车的控制程序,包括前进、后退、左转、右转等基本控制2. 通过编写遥控器程序,实现了对小车的无线遥控功能。

3. 编写了避障算法,使小车能够自动避开障碍物。

4. 开发了手机APP,通过蓝牙模块与小车进行连接和控制。

5. 设计了多种灯光效果的控制程序,可以实现闪烁、变色等效果。

6. 编写了音乐模块的程序,可以根据指令发出不同的声音效果。

五、实现效果1. 小车可以通过遥控器实现前进、后退、左转、右转的基本功能。

2. 超声波传感器可以准确检测到障碍物,并成功避开。

3. 通过手机APP可以实现对小车的遥控和控制各种功能。

4. 多种灯光效果可以有效增加小车的趣味性。

5. 音乐模块发出的声音效果丰富多彩,增加了小车的趣味性。

六、总结与展望本文介绍了一种基于单片机的多功能玩具小车的设计与实现,通过结合硬件设计和软件设计,实现了多种有趣的功能。

未来,可以进一步优化设计,增加更多的传感器模块和功能模块,使小车的功能更加丰富多样。

基于-51单片机的蓝牙遥控小车

基于-51单片机的蓝牙遥控小车

单片机大作业“基于单片机的蓝牙遥控小车”某:班级:通信工程卓越2014-1学号:在班编号:基于单片机的蓝牙遥控小车目录第一章绪论11.1研究背景和意义1第二章系统框架及软硬件结构设计22.1 系统要求22.2 系统整体算法流程22.3 总体任务设计32.4 整体硬件结构设计42.5 整体软件结构设计4第三章模块的详细设计53.1 L293D电机驱动模块53.1.1模块介绍53.1.2 PWM脉冲控制原理63.1.3 脉冲控制代码63.2 HC05蓝牙模块73.2.1 模块简介73.2.2 蓝牙串口程序说明83.2.3 模块引脚说明83.3 USB转TTL模块9第四章系统功能设计与实现104.1 安卓手机蓝牙遥控的设计与实现104.1.1 设计基本思路104.1.2 遥控任务分配114.2.3 蓝牙遥控操作流程11第五章软硬件调试135.1 硬件调试135.2 软件调试14第一章绪论1.1 研究背景和意义智能化无处不在。

各种智能化设备在不同的领域中发挥着自己的特长,而在家用方面的智能有着相当重要的意义。

本次所设计的智能小车系统包含着对周围环境的检测、舵机控制以及短距离无线遥控等的功能,它需要实现微控制器、多传感器技术、蓝牙遥控、机械结构原理、数字逻辑、自动控制等各学科技术内容的渗透融合。

智能小车通过其上部搭载的89C52芯片作为核心控制器,通过多种传感器来获取周围环境信息并将采集到的信息输送给CPU,然后由CPU来给各个部分下达相对应的指令。

智能小车不仅价格低廉,而且甚至能够担任人类难以从事的任务,它在工业、农业以及社会生产生活等许多领域都起到了重要作用。

本次课题设计中所采用到的短距离无线遥控、单片机控制原理、多传感器技术、自动避障技术等等。

现在在工业制造、农业生产、国家安全、军事武器,医疗保健、太空探测等许多领域都日益发挥着其作用,在军事侦察、反恐、防暴、防核化等高危任务方面、环境污染检测方面和在恶劣环境中均有着非常好的发展前景,从这些方面可知本课题研究意义非凡。

基于单片机智能循迹小车所用的通信技术

基于单片机智能循迹小车所用的通信技术

基于单片机智能循迹小车所用的通信技术今天一起来探索一下一个超酷的东西——基于51单片机智能循迹小车所用的蓝牙通信技术。

这听起来可能有点复杂,不过别担心,我会用简单好玩的方式给你讲清楚哒!想象一下,有一辆小小的智能小车,它就像一个聪明的小机器人,可以自己沿着特定的路线跑。

这就是我们说的循迹小车。

那这个小车是怎么知道该往哪儿走的?这就多亏了51单片机这个“小脑袋”,它就像小车的指挥官,指挥着小车的行动。

而蓝牙通信技术,就像是小车和我们之间的一个神奇的“对话通道”。

比如说,你想让小车快点跑或者慢点跑,或者改变它的行驶路线,这时候蓝牙通信技术就派上用场。

举个例子哈,就好像你有一个遥控玩具车,你拿着遥控器就能控制它前进、后退、转弯。

蓝牙通信技术就有点像这个遥控器,只不过它更厉害!它不需要用线连着小车,只要在一定的范围内,通过手机或者其他设备,就能和小车“对话”。

比如说,你在手机上装了一个专门的小程序,就像给手机装了一个魔法盒子。

当你打开这个小程序,再打开小车的蓝牙功能,它们就会自动“握手”,建立起联系。

然后,你在手机屏幕上点一点,比如说点那个“前进”的按钮,这个指令就会通过蓝牙这个神奇的通道,像一阵风一样,迅速地传到小车上的51单片机“小脑袋”里。

单片机接到指令后,就会指挥小车的轮子转动,小车就乖乖地向前跑!再比如说,你想让小车沿着一条弯弯的黑线跑,你只需要在手机上设置好相应的程序,通过蓝牙告诉小车。

小车就会像一个聪明的小侦探一样,用它的传感器“眼睛”看着地面,一旦发现黑线,就会紧紧地跟着黑线跑,是不是很神奇?蓝牙通信技术让我们和智能循迹小车之间的交流变得更加方便和有趣。

就好像我们和小车成了好朋友,我们可以随时告诉它我们想让它做什么,它也会乖乖地按照我们的要求去行动。

好,现在你们是不是对基于51单片机智能循迹小车所用的蓝牙通信技术有了一些了解?下次再看到这样的智能小车,你就可以骄傲地给其他小伙伴讲讲它的奥秘!。

基于单片机的蓝牙遥控小车毕业答辩

基于单片机的蓝牙遥控小车毕业答辩

总体方案设计
本设计采用MSP430G2553单片机为控制核心;端发送的 控制指令通过蓝牙模块传输到单片机,单片机控制电机 驱动来控制直流减速电机的正反转来实现小车的前进 后 退、前转向、停止等功能
小车系统结构框图
电源 复位电路
MSP430G2553 单片机
蓝牙模块
安卓手机
电机驱动
直流电机
单片机最小系统
电机驱动模块
H桥电路
1
10 01
控制逻辑表
IN1
IN2
IN3
IN4
电机1
电机2
小车状态
1
0
1
0
正转
正转
前进111 Nhomakorabea0
停止
正转
前左转
1
0
1
1
正转
停止
前右转
0
1
0
1
反转
反转
后退
1
1
0
1
停止
反转
后左转
0
1
1
1
反转
停止
后右转
蓝牙模块
蓝牙模块主要是为了实现上位机和下位机的数据传输;本设计 是通过蓝牙转串口模块,实现上位机和下位机的无线通讯功 能,所以本质上使用的是单片机的串口通信
串行通信的特点是:数据按位顺序传送;最少仅需一根 传输线即可完成,成本低但是速度慢,在单片机中, 主要使用异步通信的方式
流程图
开始 监听蓝牙指令
收到指令? N 休眠
Y 分析指令
前右转 前左转 后左转
停止
后右转
前进
后退
电机驱动
结束
谢谢观赏
基于单片机的蓝牙遥控小车设计

基于51单片机(stc89c52)手机蓝牙控制小车—程序

基于51单片机(stc89c52)手机蓝牙控制小车—程序

基于stc89c52手机蓝牙控制小车—程序先简单介绍下开发环境,芯片类型是stc89c52,集成开发环境用的是Keil4需要准备:L298N驱动电路板,两个直流电机,HC-05蓝牙模块,亚克力板,一个万向轮和两个普通小轮,stc89c52最小系统板,一个7.5伏电源,若干杜邦线。

连接方式:L298N驱动电路与单片机部分(注意:单片机要与HC-05蓝牙模块的共地)HC-05蓝牙模块与单片机部分HC-05蓝牙模块的RX接单片机的TX;HC-05蓝牙模块的TX接单片机的RX;HC-05蓝牙模块的GND接单片机的GND;HC-05蓝牙模块的VCC接单片机的VCC。

代码:#include <REGX52.H>void UART_Init()//******************{SCON=0x50;//工作模式PCON &=0x7F;//波特率不倍速//配置定时器,与波特率有关TMOD&=0x0F;//设定定时器模式TMOD|=0x20;//设定定时器模式TL1=0xFD;//设定定时器初始值TH1=0xFD;//设定定时器重装值ET1=0;//禁止定时器1中断TR1=1;//启动定时器1EA=1;//启动串口中断ES=1;//串口使能}void Timer0_Init()//10ms{//定时器部分TMOD&=0xF0;//将低四位清零,高四位不变TMOD|=0x01;//将最低的位置1,其余不变TR0=1;//T0定时器的运行控制TF0=0;//为一时跳入中断函数会自动清0和置1 TH0=0xDC;//高位TL0=0x00;//低位//中断器部分ET0=1;//IE总开关前的开关EA=1;//中断总开关PT0=0;//高级为1,低级为0}unsigned char control=0,compare1=7,compare2=7;unsigned int T0count=0;void main(){UART_Init();//初始化串口通信Timer0_Init();//初始化定时器while (1){}}void UART_Routine() interrupt 4//串口中断部分{if(RI==1){control=SBUF; //单片机接收值RI=0;//手动清除标志位}}void Timer0_Routine() interrupt 1//T0口中断程序{TH0=0xDC;//高位TL0=0x00;//低位//重新刷新if(control=='0') //停车{P2_0=0;P2_1=0;P2_2=0;}if(control=='1') //后退{T0count++;T0count%=10;//100msif(T0count<=compare1){P2_0=0;P2_1=1;}else{P2_0=0;P2_1=0;}if(T0count<=compare2){P2_2=0;P2_3=1;}else{P2_2=0;P2_3=0;}}else if(control=='2')//直行{T0count++;T0count%=10;//100msif(T0count<=compare1){P2_0=1;P2_1=0;}else{P2_0=0;P2_1=0;}if(T0count<=compare2){P2_2=1;}else{P2_2=0;P2_3=0;}}else if(control=='3')//右转{T0count++;T0count%=10;//100msif(T0count<=7){P2_0=1;P2_1=0;}else{P2_0=0;P2_1=0;}P2_2=0;P2_3=0;}else if(control=='4')//左转{T0count++;T0count%=10;//100msif(T0count<=7){P2_2=1;P2_3=0;}else{P2_2=0;P2_3=0;}P2_0=0;P2_1=0;}}。

毕业设计(论文)-基于蓝牙遥控的智能小车设计

毕业设计(论文)-基于蓝牙遥控的智能小车设计

摘要无线遥控的小车,可以在危险的环境作业,人员搜索,可以在各类领域中发挥着它特殊的作用,本次设计是选择基于蓝牙遥控的多功能智能小车为对象。

控制系统以C51单片机为主控芯片,采用L298N为电机驱动芯片、HC-06蓝牙无线模块、12864液晶显示模块、四路循迹模块等构成外围扩展电路。

将自制的控制电路、控制程序和四轮小车机械相结合,制作多功能智能小车。

实验调试实现了智能小车的蓝牙无线遥控、自动避障、自动测距及各种灯光的功能。

关键词:51单片机;蓝牙遥控;智能小车目录摘要 (1)1. 绪论.................................. 错误!未定义书签。

1.1 研究背景与意义 (4)1.2课题目的 (5)1.3课题研究内容 (5)2 方案论证 (6)2.1 总体方案设计 (6)2.2设计系统的功能要求 (7)2.3 系统硬件方案 (7)3系统硬件设计 (9)3.1STC89C52芯片简介 (9)3.2 STC89C52最小系统 (10)3.3电机驱动设计 (11)3.4显示电路设计 (11)3.5 蓝牙模块设计 (12)3.6 PCB图设计 (13)3.7 智能车结构分析 (14)3.7.1 底板设计 (14)3.7.2电机与底板的连接支架设计 (15)3..7.3整体装配图 (15)3.7.4整车材料明细 (15)4.系统软件设计 (16)4.1系统的程序流程 (16)4.2蓝牙模块参数设置程序 (16)4.3蓝牙发送程序接收程序和中断程序 (17)4.4自动避障及灯光声音控制程序设计 (19)4.5液晶显示程序设计 (21)5 调试结果分析 (25)5.1蓝牙遥控调试及结果分析 (25)5.2避障功能调试及结果分析 (25)5.3无人驾驶模式调试及结果分析 (25)5.4液晶显示功能调试及结果分析 (25)5.4调试过程中遇到的困难及解决方法 (25)6.总结 (26)致谢 (27)参考文献 (28)附录:程序 (29)1.绪论1.1 研究背景与意义随着汽车工业的的迅速发展,关于汽车的研究也就越来越受人关注。

基于51单片机的蓝牙小车

基于51单片机的蓝牙小车

《专业综合设计与实验》课程设计报告书2019年11月课程设计报告书1.硬件电路设计1.1总体设计智能车主要现实远程来控制智能车的运动。

其主要模块为:单片机模块、无线通讯模块、电机驱动模块。

其主要结构框图如下图1所示。

图1主要结构框图总体仿真电路图:图2 总体仿真电路图单片机最小系统原理图:图3 复位电路与晶振电路图4 单片机最小系统原理图1.2 L298N驱动模块及原理介绍蓝牙小车采用直流电机的驱动采用L298N驱动模块,其原理图如图4所示:图5 L298N驱动模块原理图L298N驱动模块采用ST公司原装全新的L298N芯片,采用SMT工艺稳定性高,采用高质量铝点解电容,使电路温度工作。

可以直接驱动两路3-16V直流电机,并提供了5V输出接口(输入最低只要6V),可以给5V单片机电路供电(低纹波系数),支持3.3V MCUARM控制,可以方便的控制电流电机速度和方向,是智能小车必备利器。

表1 驱动状态编码表1.3蓝牙模块蓝牙模块支持短距离无线传输,可以通过手机与蓝牙模块的配对实现对小车的无线控制。

本小车采用的是HC-05蓝牙芯片,在HC-05芯片里已经将蓝牙协议封装好,只需要通过串口通信实现上位机(手机)与下位机(51单片机)的无线通信。

蓝牙模块中蓝牙芯片的TXD与RXD分别于单片机的RXD与TXD相接,VCC与单片机电源,GND与单片机GND相连。

HC-05使用R1114作为稳压芯片,将单片机提供的5V电压转换为3.3V的低电压,为蓝牙芯片供电。

图6 蓝牙连接原理图2.软件设计在本次设计中,主程序主要是在单片机的控制下,对蓝牙模块输入的信息进行存储分析,来控制电机驱动,以达到控制小车的前进、后退、左转、右转。

在这个过程中,单片机首先进行初始化,包括设置单片机各个端口的方向,各个变量的初始化,以及单片机振荡频率的校准等。

单片机定时对蓝牙模块串口读数据,如果串口的数据读出,则对读出的数据进行分析,读出的数据如果为g、b、l、r、s则分别对应小车的前进、后退、左转、右转、图8 实物连接图图9 APP遥控界面截图以上是蓝牙小车静止时的图片,当手机客户端按下前进按钮后,小车两个轮子都前进;当手机客户端按下后退按钮时,小车两个轮子都后退;当手机客户端按下左转按钮后,小车做轮后退右轮前进;当手机客户端按下右转按钮时,小车左轮前进右轮后退。

基于51单片机的手机蓝牙遥控小车设计(程序元件清单实物图)

基于51单片机的手机蓝牙遥控小车设计(程序元件清单实物图)

基于51单片机的手机蓝牙遥控小车设计(程序元件清单实物图)本人一直想做一个遥控车,终于今天实现了,跟大家分享一下。

一、元件清单1、某宝购买一个智能小车底盘(本人车是四驱的,因此有四个电机,两块亚克力板和一些配件螺丝)2、L298n模块两个(一个298控制两个电机)3、HC-06蓝牙模块4、电池盒跟18650电池3个5、单片机最小系统6、杜邦线至少12根,当然越多越好7、若干根导线(连接电机用的,以及电池盒连到L298N跟单片机)二、制作过程首先,先去了解一下L298N的接线,我当时也是懵逼了好久,反正摸索着也会了,一般店家都有资料。

然后是蓝牙模块的使用,拿到蓝牙模块后,有开发板的话(没有就用单片机的烧录器),先按照TXD接TXD,RXD接RXD,打开电脑的串口助手与蓝牙构建通信,打开AT,发送AT指令集,比如设设波特率,改个名字,改个配对的密码。

但通过蓝牙与单片机连接通信的时候,就是TXD接RXD了。

最后一个就是,本人在接线的时候经常碰壁。

比如,你以为接好的线他其实没接好,根本没通,还是拿万用表B了才知道。

因为本人忘了买电池盒,所以我是用12V的直流电接着的,导致遥控车拖着跟电线。

三、实物图(拖着跟电线以及充电宝供电的车不过我没通电)资料内包括L298N的部分资料,以及蓝牙的说明书(看AT指令集就好)和源程序。

app:单片机源程序如下:1./*手机蓝牙遥控小车 APP可以在应用市场搜蓝牙串口助手2.左转右转大概是90度我的是四驱的,如果是只有一个l298N 的话就把带2的删了3.pwm有十级变速*/4.5.6.#include <reg52.h>7.8.#define Left_moto2_pwm P0_4 //接驱动模块ENA 使能端,输入PWM信号调节速度左后轮9.#define Right_moto2_pwm P0_5 //接驱动模块ENB 右后轮10.#define Left_moto_pwm P1_4 //接驱动模块ENA 使能端,输入PWM信号调节速度左前轮11.#define Right_moto_pwm P1_5 //接驱动模块ENB 右前轮12.#define uchar unsigned char13.#define uint unsigned int14.15.sbit P0_4=P0^4; //定义P0_416.sbit P0_5=P0^5; //定义P0_517.sbit P1_4=P1^4; //定义P1_418.sbit P1_5=P1^5; //定义P1_519.20./*电机驱动IO定义*/21.sbit IN1 = P1^2; //为1 左电机反转前轮22.sbit IN2 = P1^3; //为1 左电机正转前轮23.sbit IN3 = P1^6; //为1 右电机正转前轮24.sbit IN4 = P1^7; //为1 右电机反转前轮25./*sbit EN1 = P1^4; //为1 左电机使能26.sbit EN2 = P1^5; //为1 右电机使能 */27.28.sbit IN5 = P0^2; //为1 左电机反转后轮29.sbit IN6 = P0^3; //为1 左电机正转后轮30.sbit IN7 = P0^6; //为1 右电机正转后轮31.sbit IN8 = P0^7; //为1 右电机反转后轮32./*sbit EN3 = P0^4; //为1 左电机使能后轮33.sbit EN4 = P0^5; //为1 右电机使能后轮 */34.35.bit Right_moto_stop=1;36.bit Left_moto_stop =1;37.unsigned int time=0;38.int pwm=1;39.40.#define left_motor_en EN1 = 1 //左电机使能41.#define left_motor_stops EN1 = 0 //左电机停止42.#define right_motor_en EN2 = 1 //右电机使能43.#define right_motor_stops EN2 = 0 //右电机停止44.45.#define left_motor2_en EN3 = 1 //左电机使能后46.#define left_motor2_stops EN3 = 0 //左电机停止后47.#define right_motor2_en EN4 = 1 //右电机使能后48.#define right_motor2_stops EN4 = 0 //右电机停止后49.50.51.#define left_motor_go IN1 = 0, IN2 = 1//左电机正传52.#define left_motor_back IN1 = 1, IN2 = 0//左电机反转53.#define right_motor_go IN3 = 1, IN4 = 0//右电机正传54.#define right_motor_back IN3 = 0, IN4 = 1//右电机反转55.56.#define left_motor2_go IN5 = 0, IN6 = 1//左电机正传57.#define left_motor2_back IN5 = 1, IN6 = 0//左电机反转58.#define right_motor2_go IN7 = 1, IN8 = 0//右电机正传59.#define right_motor2_back IN7 = 0, IN8 = 1//右电机反转60.61.unsigned char pwm_val_left =0;//变量定义62.unsigned char push_val_left =0;// 左电机占空比N/1063.unsigned char pwm_val_right =0;64.unsigned char push_val_right=0;// 右电机占空比N/1065.66.67.void delay(uint z)68.{69.uint x,y;70.for(x = z; x > 0; x--)71.for(y = 114; y > 0 ; y--);72.}73.74.75.76.//蓝牙初始化77.void UART_INIT()78.{79.SM0 = 0;80.SM1 = 1;//串口工作方式181.REN = 1;//允许串口接收82.EA = 1;//开总中断83.ES = 1;//开串口中断84.TMOD = 0x20;//8位自动重装模式85.TH1 = 0xfd;86.TL1 = 0xfd;//9600波特率87.TR1 = 1;//启动定时器188.}89.90./************************************************************************/91.void run(void) //pwm调速函数92.{93.push_val_left =pwm; //PWM 调节参数1-10 1为最慢,10是最快改这个值可以改变其速度94.push_val_right =pwm; //PWM 调节参数1-10 1为最慢,10是最快改这个值可以改变其速度95.if(pwm==10) pwm=0;96.if(pwm==0&&pwm<0) pwm=0;97.98.}99.100.101./******************************************************** ****************/102./* PWM调制电机转速 */ 103./******************************************************** ****************/104.105.106./* 左侧电机调速 */107./*调节push_val_left的值改变电机转速,占空比 */108.void pwm_out_left_moto(void)109.{110.if(Left_moto_stop)111.{112.if(pwm_val_left<=push_val_left)113.{ Left_moto_pwm=1;114.Left_moto2_pwm=1; }115.else116.{ Left_moto_pwm=0;Left_moto2_pwm=0; }117.118.if(pwm_val_left>=10)119.pwm_val_left=0;120.}121.else { Left_moto_pwm=0;Left_moto2_pwm=0; }122.}123./******************************************************** **********/124./* 右侧电机调速 */125.void pwm_out_right_moto(void)126.{127.if(Right_moto_stop)128.{129.if(pwm_val_right<=push_val_right)130.{ Right_moto_pwm=1;131.Right_moto2_pwm=1; }132.else133.{Right_moto_pwm=0;134.Right_moto2_pwm=0;}135.if(pwm_val_right>=10)136.pwm_val_right=0;137.}138.else {Right_moto_pwm=0;Right_moto2_pwm=0; } 139.}140./***************************************************/141.///*TIMER0中断服务子函数产生PWM信号*/142.void timer0()interrupt 1 using 2143.{144.TH0=0XF8; //1Ms定时145.TL0=0X30;146.time++;147.pwm_val_left++;148.pwm_val_right++;149.pwm_out_left_moto();150.pwm_out_right_moto();151.}152.153.//小车前进154.void forward()155.{156.ET0 = 1;157.run(); //pwm 程序158.left_motor_go; //左电机前进159.right_motor_go; //右电机前进160.left_motor2_go; //左电机前进后轮161.right_motor2_go; //右电机前进后轮162.}163.164.void left_go() //左转165.{166.ET0 = 1;167.run();168.left_motor_back;169.right_motor_go;170.left_motor2_back;171.right_motor2_go;172.delay(700);173.forward();174.}175.//右转176.void right_go()177.{178.ET0 = 1;179.run();180.delay(50);181.right_motor_back;182.left_motor_go;183.right_motor2_back;184.left_motor2_go;185.delay(700);186.forward();187.}188.//小车左转圈189.void left()190.{191.ET0 = 1;192.run();193.delay(50);194.right_motor_go; // 右电机前进195.left_motor_back; // 左电机后退196.right_motor2_go; // 右电机前进197.left_motor2_back; // 左电机后退198.}199.200.//小车右转圈201.void right()202.{203.ET0 = 1;204.run();205.left_motor_go;206.right_motor_back;207.left_motor2_go;208.right_motor2_back; 209.}210.211.//小车后退212.void back()213.{214.ET0 = 1;215.run();216.left_motor_back;217.right_motor_back; 218.left_motor2_back;219.right_motor2_back; 220.}221.222.//小车停止223.void stop()224.{225.ET0 = 0;226.P1=0;227.P0=0;228.}229.230.231.//串口中断232.void UART_SER() interrupt 4 233.{234.if(RI)236.RI = 0;//清除接收标志237.switch(SBUF)238.{239.case 'g': forward(); break;//前进240.case 'b': back(); break;//后退241.case 'l': left(); break;//左转圈242.case 'r': right(); break;//右转圈243.case 's': stop(); break;//停止244.case 'z': left_go(); break;//左转行驶245.case 'y': right_go(); break;//右转行驶246.case 'p': pwm++;break; //加速247.case 'c': pwm--;break; //减速248.}249.250.}251.}252.253.void main()254.{255.TMOD=0X01;256.TH0= 0XF8; //1ms定时257.TL0= 0X30;258.TR0= 1;259.ET0= 1;260.EA = 1;261.UART_INIT();//串口初始化262.while(1);263.}264.。

蓝牙遥控小车

蓝牙遥控小车

蓝牙遥控小车
一、实验目的
通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。

进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。

二、设计方案
该智能车采用蓝牙模块对单片机进行控制,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制。

本次设计的蓝牙小车可实现5种状态:前进、后退、左转、右转、停止。

三、硬件电路设计
1、最小系统(AT89C52)
2、电源装置(LM7805)
3、电机驱动电路(L298N)
4、蓝牙模块(HC-06)
5、原理图(暂无)
四、软件系统
1、手机蓝牙控制软件(基于Android的蓝牙串口助手)
2、控制程序
五、笔记
六.总结
虽然一切都还没开始,但是我相信在兴趣和坚持的作用下我一定可以做出属于自己的蓝牙遥控小车,加油!。

基于51单片机的蓝牙小车设计

基于51单片机的蓝牙小车设计

内容仅为学习使用,多处摘录源于网络,请勿用于毕业论文基于蓝牙遥控的智能小车设计与制作摘要:关键词:单片机;蓝牙遥控;PWM调速目录第一章前言----------------------------------------------------------------------4 第二章方案比较与论证 ------------------------------------------------------5 2.1总体方案设计---------------------------------------------------------------------5 2.2蓝牙模块选择---------------------------------------------------------------------6 2.3 电机驱动模块选择--------------------------------------------------------------6 第三章智能小车底盘结构分析 --------------------------------------------7 3.1底板设计----------------------------------------------------------------------------7 3.2 电机与底板的连接支架设计--------------------------------------------------8 3.3整体装配图-------------------------------------------------------------------------9第四章控制系统电路设计 -------------------------------------------------10 4.1 单片机最小系统设计----------------------------------------------------------10 4.2 电机驱动电路设计-------------------------------------------------------------11 4.3 蓝牙模块设计-------------------------------------------------------------------13 4.4 电源电路设计--------------------------------------------------------------------15 4.5 电路板设计----------------------------------------------------------------------16 第五章设计的元器件清单--------------------------------------------------16 第六章调试结果分析 --------------------------------------------------------17 6.1 各模块功能调试----------------------------------------------------------------17 6.2设计的总结----------------------------------------------------------------------18 参考文献-------------------------------------------------------------------------19附录A----------------------------------------------------------------------------20 附录B----------------------------------------------------------------------------21 附录C----------------------------------------------------------------------------22第一章前言NC第二章方案比较与论证本次毕业设计主要是针对蓝牙智能小车进行分析、设计和制作。

基于51单片机的蓝牙循迹小车

基于51单片机的蓝牙循迹小车

基于51单⽚机的蓝⽛循迹⼩车51单⽚机课程设计做了辆蓝⽛⼩车,下⾯是对课程设计内容的⼀些总结基于51单⽚机的蓝⽛循迹⼩车硬件模块L298N具体如图所⽰:⼯作原理简介:可以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接⼝(输⼊最低只要 6V),可以给 5V 单⽚机电路系统供电。

输⼊电压最好是7v以上,输⼊电压低了会导致⼀系列问题,在后⾯有具体实践总结具体应⽤:可以⽅便的控制直流电机速度和⽅向,也可以控制 2 相步进电机,5 线 4 相步进电机。

管脚应⽤可以参考如图所⽰:①板载5V输出使能:如果跳线帽接上,则5v端⼦可以输出电压,若跳线帽没有街上,则12v输⼊端⼦没有作⽤,只能5v输⼊⼝输⼊(如果不接上直接废了,5v 输⼊基本不能使电机模块正常⼯作)②AB通道使能:端⼦接在上⾯表⽰AB通道⼀直保持⾼电平,处于使能状态,并且电压和5v输⼊端⼝电压相同;若处于没有使能状态,直接影响到输⼊端,让其⽆法⼯作!③单⽚机IO控制输⼊ + 马达AB输出 :顾名思义,四个IO输⼊端⼝和单⽚机四个IO⼝相连,然后通过电机驱动模块(双H桥电路)马达AB输出,以获得更⼤的驱动直流减速电机的能⼒,带动电机转动!B站直接搜L298N电机驱动模块,有视频详情介绍问题以及解决⽅案下⾯是⼀些使⽤L298N驱动电机的⼀些问题以及解决⽅法总结问题:1.直流减速电机不能正常转动,⼀个轮⼦只能单⽅向转动2.使能端⼝帽摘下来后,pwm信号输⼊问题3.供电问题解决:1.起初⽤4节南孚电池供电,⽤万⽤表测电压⼩于4.8v(电池快没啥电了),更换四节电池后⽤万⽤表测得4.9v+,上⾯出现的问题解决了2.输⼊端电压⼩于7v(⽤得四节南孚电池6v不到供电),使能电压和5v输⼊端⼦的电压相同,经测量5v端⼝电压只有3.8v左右,故使能电压就只有3.8v左右了,对PWM输出使能有⼀定影响3.L298N电机驱动中有稳压降压模块,如果供电⾜够⼤(⼤于7v),那么稳压降压模块会发挥作⽤,使得5v输⼊端⼦、使能端⼦、马达电机都能有稳定的5v⾼电平输出。

基于STM32的安卓蓝牙遥控车

基于STM32的安卓蓝牙遥控车
C语言深度学习:中断函数和主循环调用同一个函数;内联函数;各种易于程移植的宏定义;assert_param检查参数.
无论做软件还是硬件,要一个一个模块来,控制变量,减少变量个数,这样才易于发现问题和解决问题,不然,思路会不清晰,出问题无从下手。(结合Bluetooth RC应用讲解)
基于STM32的安卓蓝牙遥控车
项目总结与经验分享
一、成品展示
小车侧面
小车车头特写
安卓手机蓝牙遥控软件 ——BluetoothRC
可通过重力感应控制小车方向,有正倒档、刹车、油门和四个自定义按钮
BluetoothRC是一款功能强大的安卓手机端蓝牙串口助手,功能多样,使用方便。
二、项目规划 ——没 规划,一定挂!
3
BC04B蓝牙模块
4
8*8点阵
5
车模及充电电池套装
6
锁存器HC573
7
蜂鸣器、按键、LED指示灯、双面覆铜板、铜柱、螺丝、船型开关、排针
8
电路原理图及PCB设计见Altium Designer工程
9
硬件设计:
软件设计 ——设计各模块软件驱动
通过蓝牙,实现安卓手机对小车的遥控,小车可实现,加减速,拐弯,鸣笛;遥控器软件界面尽量形象逼真。
在跟踪模式下可以实现对近处移动物体的跟踪。
在没有遥控器的情况下,能自主避障行走。
8*8点阵显示动画
规格规划:
CPU:STM32F103C8T6
1
电机驱动:L298N电机驱动模块
2
HY—SRF05超声波模块
在主函数中根据自己的软件架构,合理调用各个模块的驱动程序,并加上算法。
硬件仿真调试,发现问题,解决问题。
改进算法,完善产品。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

矿产资源开发利用方案编写内容要求及审查大纲
矿产资源开发利用方案编写内容要求及《矿产资源开发利用方案》审查大纲一、概述
㈠矿区位置、隶属关系和企业性质。

如为改扩建矿山, 应说明矿山现状、
特点及存在的主要问题。

㈡编制依据
(1简述项目前期工作进展情况及与有关方面对项目的意向性协议情况。

(2 列出开发利用方案编制所依据的主要基础性资料的名称。

如经储量管理部门认定的矿区地质勘探报告、选矿试验报告、加工利用试验报告、工程地质初评资料、矿区水文资料和供水资料等。

对改、扩建矿山应有生产实际资料, 如矿山总平面现状图、矿床开拓系统图、采场现状图和主要采选设备清单等。

二、矿产品需求现状和预测
㈠该矿产在国内需求情况和市场供应情况
1、矿产品现状及加工利用趋向。

2、国内近、远期的需求量及主要销向预测。

㈡产品价格分析
1、国内矿产品价格现状。

2、矿产品价格稳定性及变化趋势。

三、矿产资源概况
㈠矿区总体概况
1、矿区总体规划情况。

2、矿区矿产资源概况。

3、该设计与矿区总体开发的关系。

㈡该设计项目的资源概况
1、矿床地质及构造特征。

2、矿床开采技术条件及水文地质条件。

相关文档
最新文档