车联网的概念引申自物联网,是物联网技术在交通系统领域中的典型应用。该网络体系能够实现智能交通管理和车辆的精准控制。本设计在此背景下,探讨并提供了一种可行的人车交互方式。
本设计以Arduino UNO为核心模块,通过Android 手机APP 选择蓝牙设备,并配对连接、传输指令,实现小车的前进、后退、左拐、右拐和停止等功能。运行初始,注意将电池充满电,以免出现中途没电的现象。打开开关给硬件通电时,先进行初始化设置,将蓝牙与手机匹配,点击 Android手机APP中的不同按钮,让手机发送指令。Arduino 处理器实时读取和分析 HC-05蓝牙模块端口数据,收到信号后立即处理,并通过 L298N 电机驱动模块实现小车运行。
2.1 Arudino 平台分析
Arduino是一个非常开放的平台。Arduino 电路板的核心是单片机,比如Arduino UNO R3 的核心是ATega328其他都是外围电路。开发者只需要用一个USB 线就可以连接电脑和 Arduino UNO,完成编程和调试,不需要专门的下载器问。Arduino使用的是一种专用的编程语言,开发者需要熟练掌握汇编语言和 C语言等复杂编程技术才能开发。IDE 可免费下载,并开放源代码、跨平台,极为便利。
2.2Arduino UNO 介绍
Arduino发展至今已存在许多型号及衍生控制器。例如Arduino 101,基于Intel CurieTM 模组,价格亲民使用简单。它还增配了加速度计、陀螺仪等附加功能,让开发者实现自我设计,会操作的人甚至能实现简单的人工智能。Arduino UNO 是Arduino 入门的最佳选择,最新版本为 UNO R3,目前是Arduino 平台广泛使用的模板。熟练掌握Arduino UNO后,可以将自己编写的代码快速移植到其他型号的控制器。
2.3L298N驱动模块解析
L298N 芯片包含两个全桥式驱动器,可以承载高电压大电流的。L298N的用法很简单,某本是驱动各种直流电机步进电机、继电器等。其控制信号采用标准逻辑电平,具有两个使能控制端,工作时既允许器件只有一个逻辑电源输入又可以在上面接一个可以反馈变化量的检测电阻。本设计使用L298N驱动模块的目的就是按设计要求驱动直流电机。
2.4蓝牙无线模块HC-05 分析
HC-05蓝牙模块不仅可以作为发送端,而且可以作为接收端。简言之,蓝牙模块和Android 手机配对连接后,使用者可以通过内部“通道”直接传递信息的。成功连接后,发送端和接收端共用同一通道 (串口)传递信息。HC-05 蓝牙模块有两种不同的模式,即在前期进行调试的命令响应模式和在使用过程中的工作模式。命令模式主要在前期设置准备时应用,可以改变各项参数。工作模式在蓝牙小车运行时使用,当蓝牙模块处于工作模式时,自动按照之前设置的方式与手机进行连接并传输数据。
3.1 PWM 脉宽调制
设计使用基于Arduino的PWM(脉冲宽度调制)Arduino模拟输出功能中,要实现模拟输出需使用特定的函数一-analogWrite ()。该函数不是真正输出模拟值,而是通过高低电平的不断转换输出一个周期固定的方波,改变高低电平周期中的占空比,模拟输出不同的电压。32L298N的连接驱动板接口从左到右依次为输出端(A)、供电端使能通道(ENA、ENB)、4个逻辑输入端(IN1、IN2、IN3 和IN4)和输出端(B)。当ENA 使能时,IN1、IN2,控制 OUT1、OUT2;当ENB 使能时,IN3、IN4控制 OUT3、OUT4,从而控制电机A、B的运动状态。将ENA和ENB 分别连接Arduino UNO的5、6号引脚,作为 PWM调速引脚10、11、12和13 号引脚连接 L298N 的逻辑输入端,控制电机转向。
3.3HC-05的连接
HC-05 蓝牙模块的接口分别为 RXD(接收端)、TXD (发送端)、EN(设置工作模式一一工作模式、AT 指令设置模式)VCC (模块供电正极--5v)和GND(模块供电负极)。工作模式下,只需将接收端和发送端连接Arduino UNO的9、8号脚,并供电即可。使用 Fritzing 连接设计整体硬件电路,组装各个实物模块,将驱动板和UNO的VCC、GND 连接电源的正负极,驱动板的输出端A、B连接直流电机A、B,将蓝牙模块、ArduinoUNO和驱动板按照之前的要求连接即可。
4.1Arduino IDE程序流程
主控单元的单片机程序先进行初始化,设置初始引脚模式,初始化串口通信功能,设定串口通信波特率。利用Serial.read0语句接收数据并判断,进而向 L298N 驱动模块发送信号,确定方向和转速,由驱动板驱动电机运转4.2 APP Inventor 程序设计。
本阶段设计的目的就是设计一个Android 应用程序,让用户直接在手机上操控,实现蓝牙小车的移动。本设计采用的是APP Inventor 2程序开发环境。
4.21 APP交互界面设计
选择了个按钮和1个列表选择框,分别调入蓝牙客户端本地数据库、对话框和加速度传感器,分别定义每个按钮和列表选择框的详细属性,并选择一个背景图片。
出处 信息与电脑
原标题 基于 Arduino的蓝牙无线控制小车的设计
作者 郭芸君
虎克有专业的技术团队,可以满足您研发蓝牙物联网系统的各种需求。