基于Arduino的智能小车远程监控系统设计
2020-04-01仝梦豪丁学文普靖雯黄健朱鑫冲李俊杰
仝梦豪 丁学文 普靖雯 黄健 朱鑫冲 李俊杰
摘要:在大数据环境下,智能设备的发展非常迅速,传统的小车在携带方面比较麻烦,同时也不具备远程遥控功能,而且之前的监控设备大部分都只能固定在一个位置不能移动。针对这些问题以及为了能够更好地对房屋和家用电器进行管理与监控,在传统智能小车的基础上设计了一款基于Arduino的智能小车远程监控系统。该系统的成本以及功耗方面都很低,具有很好的便携性,同时也可与普通的智能移动设备相连接来实现远程控制与实时视频传输,具有很好的发展前景。
关键词:Arduino;WiFi;蓝牙;控制终端;监控
中图分类号:TP273文献标志码:A文章编号:1008-1739(2020)20-59-4
0引言
在21世纪的大数据背景下,日常生活中的智能化技术发展非常迅速,人们也越来越依靠这些新生的智能设备,智能设备的覆盖范围非常大。智能小车系统基于Arduino开发平台,通过上位机对智能小车的各个部分进行控制,各个模块之间亦可以互相进行控制,并将数据反馈给Arduino单片机,在日常生活中有很大用处。
利用移动终端控制Arduino智能车,实现对家庭环境和房屋的远程实时监控。在移动终端的智能车控制界面上,用户可以对智能车进行远程控制和监控平台的调整,实现用户对家庭突发事件的感知和及时处理。此系统设计的意义不仅仅是可以方便家庭的管理,更重要的是可以及时观测到突发事件的发生,可以较大程度地降低人类生命财产安全的损失。
1系统硬件设计
系统硬件部分包括Arduino单片机、电机驱动模块、WiFi模块、蓝牙模块、电源模块、摄像头模块和超声波避障模块等。系统组成框图如图1所示。
Arduino单片机是整车的“大脑”,控制各模块之间的通信并执行功能。小车直流电机由L298p芯片驱动,通过处理指令来进行电机的正反转控制,使小车可以在前、后、左、右方向运动和停止。小车采用了9 g舵机来进行HC-SR04超声波模块的旋转,使得超声波模块能够测量小车周围物体与小车之间的距离,并将数据返回到控制终端,以便能够确定其可以继续运动的方向。小车还配有无线遥控模块,用户可以通过蓝牙或无线网络连接小车的上位机,完成指令传输,从而遥控小车。摄像头模块与云台相结合,允许用户控制和接收视频信号,并通过自身的旋转来带动摄像头模块的旋转。
(1)控制模块
Arduino单片机是一种感应和控制真实物理世界的工具,包括基于单片机的硬件平台,开源软件的开发环境和Arduino单片机程序编写软件。通过处理来自蓝牙模块或WiFi模块的指令来控制車辆的各个模块,从而根据需要进行各种运动,并控制小车自动避障等操作。
(2)电机驱动模块
L298P由与Arduino兼容的大电流电机驱动,该电机驱动模块有4个控制端口,从而减少了Arduino数字端口的使用,节省了控制器的端口。此外,电机驱动模块的控制指令编写也很简单。该模块的供电有Arduino-vin供电和外部电源2种方式,用户可以自己选择,并且电机驱动模块可以直接控制2个直流电机,最大驱动电流为2 A,因此可以很容易地控制小车中使用的直流电机的速度和方向。
(3)摄像头模块
使用摄像头模块实时监视小车周围的环境,小车的摄像头模块就像一对小车的眼睛,这使小车成为一个无线遥控视频传输装置,摄像机模块对小车在行驶过程中的路况判断也有很大的帮助。摄像头模块基于TTL通信接口,可以很方便地与Arduino单片机连接并通过Arduino单片机的串口进行视频数据的读取,通过Arduino单片机将采集到的视频数据传输到可移动设备中,可以更加直观地判断对小车的下一步操作。
(4)测速传感器模块
通过光电测速传感器来对小车轮胎之间的速度差进行计算,之后利用PWM信号控制小车进行直线行驶或转弯等,同时还可以通过该模块采集小车的速度等信号。
通过测速模块计算通过的编码器码盘数产生高低电平,再由单片机判断测速模块的高低电平的上升沿计算通过码盘孔数,然后计算当前小车行驶的速度,计算公式为:
式中,表示轮胎半径,单位cm;表示时间内经过的编码器孔数;表示定时中断的时间,单位s。
(5)舵机模块
舵机接收来自Arduino的控制信号来驱动电机转动,电机经过齿轮组的减速后将动力传动至舵盘。同时舵机的位置还会被位置检测器检测并通过检测器将此时的位置信号反馈给控制电路以此来判断是否到达了指定位置,并计算出此时舵机所在的位置与速度。
(6)超声波避障模块
(7)电源模块
电源模块由充电电池组成,给Arduino单片机、舵机模块、超声波模块、WiFi模块、光电测速模块及蓝牙模块等供电。
(8)蓝牙模块
小车的蓝牙模块为HC-06型蓝牙模块,用户在操作时需要先将自己手机上的蓝牙打开并与小车的蓝牙配对。配对成功后,小车与手机就可以进行双向实时通信,用户通过自己的手机来对小车进行控制,小车的蓝牙模块则负责接收指令并将指令传送到Arduino进行处理,并控制各个模块进行对应操作。
(9)WiFi模块
当模块启动成功后,WiFi模块便会开始监听端口,等待与客户端进行连接。当用户的客户端连接到WiFi模块的热点后,用户便可通过App来分别进行对小车指令的下达和接收小车反馈的视频数据。
2系统软件设计
WiFi智能小车的软件主要分为命令接收部分、执行部分、信号采集并处理回传收集到的信息。
2.1系统主程序
系统主程序主要完成对系统中各模块的初始化工作,同时执行电脑等终端设备所发送的命令,等待外部中断以及根据所需要的功能进行相应操作,主程序流程图如图2所示。
2.2自动避障子程序
通过超声波传感器来判断小车目前的行驶状态,并判断周围的障碍物与小车的距离是否低于事先设定的阈值[4],然后依次判断前、左、右、后方障碍物距离,直到找到无障碍方向,继续行驶。自动避障子程序流程如图3所示。
2.3舵机控制程序
舵机在0°~180°不断转动,通过Arduino的普通数字引脚产生占空比不同的方波,模拟产生PWM信号进行舵机控制。在每次开机的时候,舵机都会先进行一次初始化,将位置恢复成原位。之后便会等待指令信号的输入并进行下一步动作,舵机控制程序流程如图4所示。
3系统的调试及测试
系统主要有小车驱动和超声波测距两大模块需要进行调试,调试时先对这2个模块进行单独调试。之后,再对小车进行整体调试,若出现问题,再寻找出现问题的模块进行调试。
3.1调试超声波模块
在进行此模块的调试时,直接将此模块的4个引脚与Arduino单片机对应引脚相连,并将对应程序下载到单片机中,测试能否正常发送超声波以及接收超声波,能否将接收到的数据返回给单片机进行处理。
3.2电机调试
调试电机模块时,先把电机部分的程序下载到单片机中,开机运行后发现小车不停地原地旋转,首先想到的是小车的避障模块出现问题,误判周围始终有障碍物,但对避障模块单独测试后发现并无问题。于是对小车的电机模块进行测试,最终发现小车与单片机之间的接线出现问题,进行修改后,小车可以正常运行。
3.3总体系统测试
通过调试WiFi或蓝牙对小车的控制效果来保证小车与移动终端的连接质量以及指令传输速度和执行速度,移动设备端操作平台如图5所示。
测试小车的自动避障功能,把小车放在一个事先设置好障碍的路线上,看其能否避开障碍流畅行驶;然后测试一下小车的摄像头是否能够正常工作,是否可以通过上位机清晰地把视频实时传输到移动设备上。最后,再测试一下小车的舵机控制部分能否在每次开机时正常初始化并利用终端进行控制。
4结束语
基于Arduino的智能小车远程监控装置,把摄像头采集的视频实时传输到与小车連接的移动设备中,用户可以通过WiFi或者蓝牙与小车连接来远程控制小车,从而很好地实现了实时监控房屋以及家居设施的目的。在经过一系列的调试与修改之后表明,系统具有很好的实用性以及可靠性,在很多领域都可以应用。智能小车的发展不仅是大数据背景下应运而生的新生产物,更是物联网系统的良好应用,还可以促进智能小车领域的发展以及机械感知能力的提升。
参考文献
[1]李彬彬,王建花,罗津,等.基于Arduino平台的WIFI智能遥控小车设计[J].电子世界,2016(22):92-93.
[2]李肃义,王宁,樊蒙璇,等.无线遥控视频监控小车的设计[J].吉林大学学报(信息科学版),2017,35(2):146-152.
[3]温芮,陈锦鸿,王丽.基于蓝牙控制技术的智能小车控制系统设计[J].汽车零部件,2019(12):1-4.
[4]岳俊峰,李秀梅.基于机器视觉的智能小车自动循迹及避障系统[J].杭州师范大学学报(自然科学版),2020,19(2):200-207.
[5]翟丽杰.一种基于WiFi的无线智能视频小车设计[J].电子设计工程,2019,27,(11):146-149,153.
[6]邓二伟.可移动无线视频监控系统[J].信息通信,2016(7): 69-70.