APP下载

基于Arduino的智能蓝牙小车设计

2022-04-22李柯

电子测试 2022年7期
关键词:开发板鸣笛蜂鸣器

李柯

(沈阳航空航天大学,辽宁沈阳,110136)

1 系统总体设计

1.1 智能蓝牙小车总体结构

智能蓝牙小车基于模块化设计思想,由车体模块、电源模块、主控模块、电机驱动模块、电机模块、蓝牙模块、蜂鸣器模块等构成小车硬件系统。其核心是Arduino UNO开发板,所有的传感器都将与主板相连接。小车结构设计如图1所示。

图1 系统总体结构框图

1.2 智能蓝牙小车原理

智能蓝牙小车以Arduino UNO开发板为核心,根据蓝牙模块接收到的数据信号,判别执行的命令,其原理图如图2所示。

图2 蓝牙小车原理图

使用者通过SPP蓝牙串口手机软件发送指令,蓝牙模块接收后将数据传送给Arduino UNO开发板,开发板进行判断分析,并进一步为执行模块发送电压与PWM信号,执行相应命令。例如,给蜂鸣器发送电压信号则会实现鸣笛功能;给电机驱动模块发送PWM信号则会实现运动功能。

2 系统硬件设计

2.1 主控芯片

该小车采用 Arduino UNO单片机作为主控芯片,用于对蓝牙模块接收的信息的采集和处理,输出电压与PWM信号实现小车的运动功能与鸣笛功能。

2.2 电机驱动模块

该小车采用L298N电机驱动模块,可外接5V或12V电源进行供电。如图3所示,该模块具有4个逻辑输入,分别接入单片机上的4路PWM信号引脚,有4个输出端口,接到电机的正负极,驱动两组电机的运转。

图3 L298N电机驱动模块

每组电机的转速受到输入驱动模块的两个PWM信号的影响:电机输出转速大小取决于二者之差的绝对值大小;输出转速方向取决于二者之差的正负。以单个电机为例,根据单片机输出的 PWM 波和相应控制信号,电机驱动模块 L298N功能逻辑如表1所示。

表1 驱动模块功能逻辑表

2.3 蓝牙模块

该小车采用HC-06蓝牙模块,其工作原理图如图4所示。

图4 蓝牙模块工作原理图

使用者需要先将手机端与蓝牙模板进行配对,配对成功后即可通过该蓝牙模块实现手机端与单片机的信息交互,使单片机对数据进行逻辑判断并执行手机端发送的指令[4]。

2.4 蜂鸣器

蜂鸣器是一种电子发声元器件,可以发出“beep beep”的声音。蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种,该小车采用无源蜂鸣器,需要用2K-5K的波形脉冲信号去驱动。使用方法比较简单,只需要将两个电源引脚接GND和+5V,另一个引脚接单片机PWM信号引脚即可。在程序中用tone(beep,K)即可驱动,其中beep为设置引脚,K为数值,经过测试当K取350时最接近鸣笛声。

3 系统软件设计

3.1 程序设计

Arduino IDE是Arduino开发板的编程软件,其内包含了广泛的函数库,因此对于复杂的部件(显示器、传感器),变成就会十分容易。在该程序设计中应用到了如下函数:

Serial.available() //用于读取串口缓冲区中当前剩余的字符个数。

Serial.read() //用于读取串口的缓冲区中一个Byte的数据。

analogWrite(IN1,0) //用于将模拟值输出到引脚,驱动电机。

tone(beep,350) //驱动蜂鸣器

notone(beep) //蜂鸣器停止工作

首先判断是否有数据发送至缓冲区,如果有则读取1字节数据,随后进行逻辑判断并执行相应指令,其流程图如图5所示。

图5 程序流程图

核心程序如下:

3.2 手机控制软件设计

采用SPP手机软件进行蓝牙通信,设置后的操作界面如图6所示。图中12个格子为操作区,打开下方编辑模式可以对每个格子进行设置,包括触发方式(按下、松开)、传送数据等。

图6 手机SPP软件操作界面

例如:对于小车的运动指令(前进、后退等),需要设置为按下触发,在按下功能块后持续发送数据;对于小车参数修改指令(1、2、3挡位控制),需要设置为松开触发,在松开功能块后发送一次数据;而对于小车的鸣笛指令,则需同时设置按下触发和松开触发。

手机控制智能蓝牙小车的方式如下:首先点击右上角连接,与蓝牙模块进行连接,需要注意的是,此时需将电机驱动模块断电,否则可能会出现连接失败情况;连接成功后即可通过手机发送相关指令控制小车运动。

3.3 调试实验

搭建好的蓝牙小车如图7所示。

图7 蓝牙小车实物

实验过程大致分三部分:

首先将Arduino开发板通过USB与PC端连接,并将编写的程序录入开发板;再通过手机APP,将手机与蓝牙模块无线连接,此时发现蓝牙模块闪烁,手机与蓝牙模块成功连接。

打开Arduino IDE的串口监视器,按下手机APP的功能块,查看传送的数据是否与程序设定数据一致,不一致则需对程序进行更改,并重新上传程序。

断开Arduino与PC端的连接,打开蓝牙小车电源,依次点击手机APP的功能块,测试各项指令的实际效果。

通过实验调试,对蓝牙小车调挡功能、鸣笛功能以及运动功能进行了测试,发现都能够较好实现。

4 结语

本文基于Arduino平台设计了一种智能蓝牙小车,并通过实验调试实现了所有的预期功能。该蓝牙小车具有以下优势:能够通过手机端对小车进行控制;能实现多种命令,包括小车的多种转弯方式、多种运动速度以及鸣笛等;系统成本较低,携带便利。

猜你喜欢

开发板鸣笛蜂鸣器
电动自行车产品车速提示音检测现状和整改技术研究(2)
庚子清明国祭(二)
基于STM32H7的FDCAN通信系统设计与实现∗
掌控板制作简易钢琴
本尼丢了蜂鸣器
浅析单片机开发板的设计与制作
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
MiniGUI在基于OMAP5912开发板上的移植
江山万里心