安徽大学电子信息工程学院 黄锦阳 刘童金 杨炳旺
基于Arduino单片机的智能购物车系统的研究
安徽大学电子信息工程学院 黄锦阳 刘童金 杨炳旺
【摘要】文章第一部分主要介绍了基于Arduino的智能购物车实现的功能: 1.商品定位功能。2.同步跟随功能,即智能购物车可以跟随人的运动而同步运动。文章第二部分是对智能购物车系统的硬件架构的介绍,介绍了智能购物车硬件构成,及核心技术。
【关键词】Arduino;智能购物车;跟随顾客;室内定位
随着我国经济水平的快速发展,人民的生活水平不断提高,越来越多的消费者选择去大型购物超市购物消费。大型超市中的物品种类繁多,人们可以在超市中购买到任意所需商品,但是商品种类的增多却给超市的管理和人们选购商品带来了一定的负面影响,并且随着现代社会物资资源的极大丰富,超市规模会越来越大,商品种类也越来越多,在短时间内找到自己中意的商品成为一件困难的事情。为了解决这一系列的问题,我们设计开发了基于Arduino单片机的智能购物车。
基于Arduino的智能购物车是在普通购物车的基础上加装了一套电子设备,在购物车推手的前方放置了一块USART HMI串口触摸屏,屏幕集成有ARM7芯片,可自行处理图像信息,该串口屏是实现人机交互的智能终端。人们在超市选购货物的时候,可以通过在串口屏上选择商品定位功能,输入想要购买的商品名称,系统即可为顾客规划一条最优路径,引导顾客找到对应商品的位置,从而实现商品导航功能。
智能购物车可以跟随人的行动而运动,购物车的行动有两种模式供用户选择,一种为用户选择人工推动模式,即与普通购物车一样,可以以人力推动的方式运动;另一种为电机推动-智能跟随模式,在这种模式下,购物车的WIFI名以及对应的密码会通过后台数据库发送到每辆购物车上,并在购物车的串口屏上显示,用户将手机连入该WIFI,实现用户手机与智能购物车的联通,随后用户点击串口屏上的跟随按钮,伸缩杆将辅助轮放下,并与地面贴合从而实现传动。通过两电机的差速实现购物车的智能转向,转向信号是由Arduino主控板发出。而购物车跟随的目标则是人的手机,在跟随过程中人必须保持手机WIFI的打开,从而保证手机中的加速度和方向信息可以回传到智能购物车的主控板Arduino2560上。
图1 智能购物车硬件基本架构
2.1 Arduino主控板
主控制板使用Arduino 2560。由于Aruino 2560有三个未占用的硬串口,满足了多个串口模块的通信需要。同时,RAM空间很大,可以建立小型数据库。Ardino主控板主要控制了舵机和电机。是屏幕、WIFI模块、九轴惯性传感器等数据交流的控制中心。
2.2 液晶触摸屏
人机界面采用USART HMI串口屏。屏幕集成有ARM7芯片,可自行处理图像信息。屏幕界面菜单以及功能程序用配套上位机编写。屏幕可以通过串口向Arduino主控板传送数据。同时,Arduino主控板也可以通过串口向屏幕发送固定格式的指令以及数据。从而实现人机交互。
2.3 九轴惯性传感器
九轴惯性传感器包括了三轴加速度传感器,三轴陀螺仪,和三轴磁感应传感器,Arduino2560将自身九轴惯性传感器检测的数据转换成大地坐标系下运动方向和加速度信息,作为自身的运动向量。九轴惯性传感器用于帮助购物车建立大地坐标系,使跟购物车可以感知自己的运动方向以及加速度,以匹配被跟随人员的运动方向和加速度(由跟随人员手机获得),从而实现跟随功能。
2.4 三轴加速度传感器
三轴加速度传感器是九轴惯性传感器的一部分,三轴传感器采用IIC通信,3.3V电压供电。通过IIC总线可以查询到x,y,z三个方向磁场数据。再用Arduino进行转换,代码为c=atan2(y,x)*(180/3.14159265)+180;即可得到方位角度数据。再通过串口发送给屏幕显示,实现了指南功能。同时三轴加速度传感器也可获得购物车自身的运动向量,为跟随功能奠定基础。
2.5 ESP8266 Wifi模块
ESP8266为工业级无线串口WIFI模块,价格低廉,可大规模设置成定位节点。这里我们使用了一片,作为通信模块使用,实现了Arduino2560主控板与用户手机的信息交互。通过手机内部WIFI模块与购物车上ESP8266 WIFI模块交互,实现了手机中内部的三轴加速度传感器数值和陀螺仪数值的回传,使购物车得以获取顾客的运动向量。
3.1 新型室内定位技术
由于环境的影响,手机无线信号的强度分布是不规则的。在特定的区域有其特定的分布。直接使用公式,利用RSSI值计算距离时,误差较大,达不到使用需求。
系统采用加速度传感器短距离、短时间跟踪定位。此方法精度较高,但容易积累误差。因此需要在定位区域内设有修正节点,当系统经过修正节点时,自动修正位置信息,消除积累误差,保证定位精度。
基于Arduino的智能购物车系统采用加速度传感器与WIFI节点结合的混合定位方法。先通过大范围WIFI信号进行粗略位置估计,得到位置附近的小范围精确定位节点的序列号,减少初次定位响应时间。得到精确节点坐标后,九轴惯性传感器会跟踪判断购物车移动方向和距离,刷新坐标信息。只要购物车经过分布在超市内的修正节点,坐标信息就会得到修正。防止积累误差影响定位精度。
3.2 智能跟随技术
智能跟随技术应用广泛。最先出现的是可以跟着人走的行李箱。其采用三个蓝牙模块,通过检测RSSI(信号强度值)再经过三角交叉定位原理进行计算得到人体位置。但问题是定位不够精确,而且会误判。如果采用图像处理技术的话,成本会很高,并不能广泛推广。
智能购物车结合精度较高的红外测距和识别度较高的手机三轴传感器数据回传的方法,优劣互补,实现更加稳定的跟随技术。首先,手机通过三轴传感器的数据判断自己的摆放姿态(因为这在实际中是不可预测的),再判断手机本身前进的方向,并传回Arduino主控板。Arduino主控板结合红外测距扫描得到的距离信息,判断执行左转、右转、前进、停止等动作。
随着互联网+时代的发展,智能化,便捷化必然是社会发展的追求和方向,智能购物车成本低,功能完善,抗干扰能力强,简化顾客购物过程,提升了顾客购物体验,是符合时代发展的产物。同时也为超市节省了大量的人力与物力,从侧面为超市带来了创收。
参考文献
[1]高博,宣章洋,张凡,黄武元.基于嵌入式系统的智能购物车的开发研究[J].信息通信,2015(4)﹕122-123
[2]蔡睿研.基于Arduino的舵机控制系统设计[J].电脑知识与技术,2012,8(15)﹕3719-3721.
[3]倪巍,王宗兴.基于接受信号强度的室内定位算法[J].复旦学报,2004,43(1)﹕72-76.
[4]杨东勇,顾东袁,傅晓婕.一种基于RSSI相似度的室内定位算法[J].传感技术学报,2009,22(2)﹕264-268.
[5]吴黎明,张力锴,李怡凡.基于ANN和单个三轴加速度传感器的汽车运动姿态的测量[J].2011,24(6)﹕923-927.