当前位置: 主页 > 建站知识 > 小程序

蓝牙控制小车的程序-arduino蓝牙控制小车源代码

发布时间:2023-03-11 16:14   浏览次数:次   作者:佚名

引 言

现代的无线遥控小车技术起源于美国。由于战事的需求、人工智能的面世及芯片半导体技术的量化级进步,军事领域尤其需要各种不同于人类直接操作的机器人,用于排雷、布雷、收集情报等。随着技术的发展,手机已成为人人必备的工具,很多家居用品可通过手机互联。如果能将当下成熟的智能手机技术及人工智能领域方面的技术结合用于智能小车的开发,就可避免传统专用智能车在开发时对无线收发遥控面板的过度依赖。本文在当下人工智能机器人研究背景下, 提出并设计了一款可远程监控的由智能手机控制的无线监控小车机器人 [1]。

1 原 理

本文设计的智能小车借鉴了人工智能等领域相关技术, 智能机可通过无线蓝牙通信方式控制小车运动状态,并通过无线方式监控智能车运动范围附近的图像信息 [2]。

2 设计流程

2.1 智能小车设计流程图

智能手机端 APP 发送小车运动状态指令,通过无线蓝牙方式发送到小车蓝牙接收端蓝牙控制小车的程序,智能车控制芯片解码,通过小车上蓝牙服务端接收到的运动状态指令调用相关控制小车运动状态的子程序,结合 L298N 电机驱动模块驱动小车电机, 实现小车与用户的简易人机互动 [3-4]。智能小车设计流程如图 1 所示。

手机 APP 蓝牙智能车的设计

智能小车上搭配有安卓智能机,安卓智能机摄像头将小车运动附近的实时图像通过无线方式实时传输到后端电脑Java 服务器端。智能小车无线视频监控采集设计流程如图 2 所示。

51单片机四驱蓝牙小车程序_蓝牙控制小车的程序_arduino蓝牙控制小车源代码

手机 APP 蓝牙智能车的设计

2.2 智能车的动力供应系统

本文设计的智能车动力供应系统由 6 节 1.5 V 干电池组成。其中,智能小车控制芯片、小车蓝牙指令接收芯片及小车电机驱动芯片 L298N 所需电压为 5 V,智能小车电机所需电压为 9 V。因此,本文电力供应系统需 7805 三端稳压模块, 将电源 9 V 动力电压转换至 5 V 供系统单片机、蓝牙和 L298N 电机驱动模块使用 [5]。智能车的电力供应系统如图 3 所示。

手机 APP 蓝牙智能车的设计

2.3 智能车电机驱动模块

L298N 电机驱动模块驱动原理如图 4 所 示。 其 中,OUT1,OUT2 和 OUT3,OUT4 之间分别接两个电机 ;IN1, IN2,IN3,IN4 引脚从单片机输入控制电平,控制电机正反转 ; ENA,ENB 接控制使能端,控制电机停转。

蓝牙控制小车的程序_arduino蓝牙控制小车源代码_51单片机四驱蓝牙小车程序

蓝牙控制小车的程序_arduino蓝牙控制小车源代码_51单片机四驱蓝牙小车程序

图 4 L298N 电机驱动原理图

本文设计的智能小车选用 L298N 电机专用驱动芯片。L298N 通过单片机 I/O 改变芯片控制端的电平,即可对电机进行正反转、停止等操作。输入引脚与输出引脚的逻辑关系见表 1 所列 [6]。

手机 APP 蓝牙智能车的设计

由表 1 可知,当小车左右两个电机均正转时,小车前行 ; 当小车两个电机均反转时,小车后退 ;当小车左电机正转, 右电机停止时,小车右转 ;当小车左电机停止,右电机正转时, 小车左转。

2.4 智能小车蓝牙通信模块

本文智能车蓝牙通信系统包含如下两部分 :

(1) 手机蓝牙端用来对智能车蓝牙接收端发送 A,B,C,D,F等 5 条指令,这 5 条指令分别代表控制小车前进、后退、左转、右转、停止 ;

蓝牙控制小车的程序_arduino蓝牙控制小车源代码_51单片机四驱蓝牙小车程序

(2) 主程序主要是在单片机的控制下,对蓝牙模块输入的信息进行存储分析,控制电机驱动,以达到控制小车运动状态的目的。

单片机定时读取蓝牙模块的串口数据,若串口数据被读出,则对数据进行分析 [7]。

2.5 智能小车 APP手机蓝牙客户端的设计

智能小车手机蓝牙端 APP 基于 MIT APP Inventor 软件第三方开发平台而设计。MIT APP Inventor 软件适合于没有计算机 APP 专业知识的用户,基于此平台可进行人工智能机器人手机控制端 APP 项目的开发。因此本文选择 MIT APP Inventor 开发平台开发安卓 APP,在一定程度上简化了开发者的工作量与 APP 开发的难度。小车 APP 开发界面如图 5所示。小车 APP 控制界面如图 6 所示。

手机 APP 蓝牙智能车的设计

首先通过蓝牙连接按键与智能车蓝牙接收端相连接,当手机蓝牙客户端与小车上的蓝牙服务端模块确认连接后,用户即可通过图 6 所示 APP 界面的前、后、左、右、停等指令,分别控制小车的前进、后退、左转、右转、停止 [8]。APP 蓝牙按键功能开发流程如图 7 所示。

手机 APP 蓝牙智能车的设计

arduino蓝牙控制小车源代码_51单片机四驱蓝牙小车程序_蓝牙控制小车的程序

2.6 智能小车无线视频传输模块

智能车无线图像实时采集和反馈的基本过程 :智能车上搭载的安卓智能手机摄像头作为客户端,将采集到的每一帧图像数据通过无线 WiFi 方式发送出去,PC 作为服务端,通过 Java 语言编写的智能车图像反馈接收端接收并显示每一帧图像信息,实现智能小车运动视野范围内信息的高清及时采集与传输。智能车辆图像的实时无线传输实物如图 8 所示。

arduino蓝牙控制小车源代码_51单片机四驱蓝牙小车程序_蓝牙控制小车的程序

图 8 智能车辆图像的实时无线传输

智能车图像采集端通过 Eclipse 安卓开发平台开发的APK 软件,将安卓手机的无线摄像头作为图像采集端,PC 上图像实时传输的接收端窗口通过 Eclipse 中的 Java 工程编译生成。

2.7 智能小车设计创新

在本文智能车的设计中,摒弃了传统的无线收发器和遥控面板蓝牙控制小车的程序,经过多年使用,需要加强系统的抗干扰功能 ;智能车的无线控制终端采用 Android 智能机 APP 蓝牙控制 ;图像采集模块基于安卓智能机的摄像头,实现图像的高清采集,图 9 小车反电势难点解决措施比传统的智能车摄像头采集的图像更加清晰 [9]。

蓝牙控制小车的程序_51单片机四驱蓝牙小车程序_arduino蓝牙控制小车源代码

2.7.1 智能小车优势

本文设计的智能小车能以手机控制平台、蓝牙通信模块、单片机控制模块及电机驱动模块等硬件模块,实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等功能, 且功能容易实现并能激发开发者的兴趣。目前市场上流行的嵌入式操作系统研发的智能小车开发难度大,且二次开发入手难,很难满足普通科研用户的需求,一般只用于企业量化研发 [10]。本文智能小车搭载安卓智能机摄像头,图像更清晰, 且图像传输模块开发难度较低,二次开发拓展价值大。

2.7.2 智能小车反电势技术难点

智能小车在研发调试过程中,电机线圈运转时两边会产生反电势,对智能车 L298N 形成冲击,易造成损坏,特别当反电势大于电源电压或负电压时更易损坏 L298N,所以在每根线上都加有 2 个二极管(一般采用 1N4007)进行保护。IN4007 导通电压为 0.7 V, 能把倒灌回来的电压钳制在 -0.7 ~ 0.7 V 之间。小车电机反电势解决措施如图 9 所示。

2.7.3 智能小车未来拟研究点

未来拟结合嵌入式系统的智能小车研究领域,一方面尝试实现小车车身摄像头的旋转 ;另一方面尝试解决延长小车长时间无线通信功耗的问题。

手机 APP 蓝牙智能车的设计

3 结语

本文设计的智能车以 STC89C52 单片机为核心,通过蓝牙通信控制 APP 和单片机,控制电机驱动实现正负旋转,继而实现手机远程控制及运动视野范围内图像信息的实时监控反馈。该智能车融合了物联网和智能家居产品的热门技术, 具有较好的学习和科研价值。