安徽大學(xué)電子信息工程學(xué)院 黃錦陽 劉童金 楊炳旺
?
基于Arduino單片機的智能購物車系統(tǒng)的研究
安徽大學(xué)電子信息工程學(xué)院 黃錦陽 劉童金 楊炳旺
【摘要】文章第一部分主要介紹了基于Arduino的智能購物車實現(xiàn)的功能: 1.商品定位功能。2.同步跟隨功能,即智能購物車可以跟隨人的運動而同步運動。文章第二部分是對智能購物車系統(tǒng)的硬件架構(gòu)的介紹,介紹了智能購物車硬件構(gòu)成,及核心技術(shù)。
【關(guān)鍵詞】Arduino;智能購物車;跟隨顧客;室內(nèi)定位
隨著我國經(jīng)濟水平的快速發(fā)展,人民的生活水平不斷提高,越來越多的消費者選擇去大型購物超市購物消費。大型超市中的物品種類繁多,人們可以在超市中購買到任意所需商品,但是商品種類的增多卻給超市的管理和人們選購商品帶來了一定的負(fù)面影響,并且隨著現(xiàn)代社會物資資源的極大豐富,超市規(guī)模會越來越大,商品種類也越來越多,在短時間內(nèi)找到自己中意的商品成為一件困難的事情。為了解決這一系列的問題,我們設(shè)計開發(fā)了基于Arduino單片機的智能購物車。
基于Arduino的智能購物車是在普通購物車的基礎(chǔ)上加裝了一套電子設(shè)備,在購物車推手的前方放置了一塊USART HMI串口觸摸屏,屏幕集成有ARM7芯片,可自行處理圖像信息,該串口屏是實現(xiàn)人機交互的智能終端。人們在超市選購貨物的時候,可以通過在串口屏上選擇商品定位功能,輸入想要購買的商品名稱,系統(tǒng)即可為顧客規(guī)劃一條最優(yōu)路徑,引導(dǎo)顧客找到對應(yīng)商品的位置,從而實現(xiàn)商品導(dǎo)航功能。
智能購物車可以跟隨人的行動而運動,購物車的行動有兩種模式供用戶選擇,一種為用戶選擇人工推動模式,即與普通購物車一樣,可以以人力推動的方式運動;另一種為電機推動-智能跟隨模式,在這種模式下,購物車的WIFI名以及對應(yīng)的密碼會通過后臺數(shù)據(jù)庫發(fā)送到每輛購物車上,并在購物車的串口屏上顯示,用戶將手機連入該WIFI,實現(xiàn)用戶手機與智能購物車的聯(lián)通,隨后用戶點擊串口屏上的跟隨按鈕,伸縮桿將輔助輪放下,并與地面貼合從而實現(xiàn)傳動。通過兩電機的差速實現(xiàn)購物車的智能轉(zhuǎn)向,轉(zhuǎn)向信號是由Arduino主控板發(fā)出。而購物車跟隨的目標(biāo)則是人的手機,在跟隨過程中人必須保持手機WIFI的打開,從而保證手機中的加速度和方向信息可以回傳到智能購物車的主控板Arduino2560上。
圖1 智能購物車硬件基本架構(gòu)
2.1 Arduino主控板
主控制板使用Arduino 2560。由于Aruino 2560有三個未占用的硬串口,滿足了多個串口模塊的通信需要。同時,RAM空間很大,可以建立小型數(shù)據(jù)庫。Ardino主控板主要控制了舵機和電機。是屏幕、WIFI模塊、九軸慣性傳感器等數(shù)據(jù)交流的控制中心。
2.2 液晶觸摸屏
人機界面采用USART HMI串口屏。屏幕集成有ARM7芯片,可自行處理圖像信息。屏幕界面菜單以及功能程序用配套上位機編寫。屏幕可以通過串口向Arduino主控板傳送數(shù)據(jù)。同時,Arduino主控板也可以通過串口向屏幕發(fā)送固定格式的指令以及數(shù)據(jù)。從而實現(xiàn)人機交互。
2.3 九軸慣性傳感器
九軸慣性傳感器包括了三軸加速度傳感器,三軸陀螺儀,和三軸磁感應(yīng)傳感器,Arduino2560將自身九軸慣性傳感器檢測的數(shù)據(jù)轉(zhuǎn)換成大地坐標(biāo)系下運動方向和加速度信息,作為自身的運動向量。九軸慣性傳感器用于幫助購物車建立大地坐標(biāo)系,使跟購物車可以感知自己的運動方向以及加速度,以匹配被跟隨人員的運動方向和加速度(由跟隨人員手機獲得),從而實現(xiàn)跟隨功能。
2.4 三軸加速度傳感器
三軸加速度傳感器是九軸慣性傳感器的一部分,三軸傳感器采用IIC通信,3.3V電壓供電。通過IIC總線可以查詢到x,y,z三個方向磁場數(shù)據(jù)。再用Arduino進行轉(zhuǎn)換,代碼為c=atan2(y,x)*(180/3.14159265)+180;即可得到方位角度數(shù)據(jù)。再通過串口發(fā)送給屏幕顯示,實現(xiàn)了指南功能。同時三軸加速度傳感器也可獲得購物車自身的運動向量,為跟隨功能奠定基礎(chǔ)。
2.5 ESP8266 Wifi模塊
ESP8266為工業(yè)級無線串口WIFI模塊,價格低廉,可大規(guī)模設(shè)置成定位節(jié)點。這里我們使用了一片,作為通信模塊使用,實現(xiàn)了Arduino2560主控板與用戶手機的信息交互。通過手機內(nèi)部WIFI模塊與購物車上ESP8266 WIFI模塊交互,實現(xiàn)了手機中內(nèi)部的三軸加速度傳感器數(shù)值和陀螺儀數(shù)值的回傳,使購物車得以獲取顧客的運動向量。
3.1 新型室內(nèi)定位技術(shù)
由于環(huán)境的影響,手機無線信號的強度分布是不規(guī)則的。在特定的區(qū)域有其特定的分布。直接使用公式,利用RSSI值計算距離時,誤差較大,達不到使用需求。
系統(tǒng)采用加速度傳感器短距離、短時間跟蹤定位。此方法精度較高,但容易積累誤差。因此需要在定位區(qū)域內(nèi)設(shè)有修正節(jié)點,當(dāng)系統(tǒng)經(jīng)過修正節(jié)點時,自動修正位置信息,消除積累誤差,保證定位精度。
基于Arduino的智能購物車系統(tǒng)采用加速度傳感器與WIFI節(jié)點結(jié)合的混合定位方法。先通過大范圍WIFI信號進行粗略位置估計,得到位置附近的小范圍精確定位節(jié)點的序列號,減少初次定位響應(yīng)時間。得到精確節(jié)點坐標(biāo)后,九軸慣性傳感器會跟蹤判斷購物車移動方向和距離,刷新坐標(biāo)信息。只要購物車經(jīng)過分布在超市內(nèi)的修正節(jié)點,坐標(biāo)信息就會得到修正。防止積累誤差影響定位精度。
3.2 智能跟隨技術(shù)
智能跟隨技術(shù)應(yīng)用廣泛。最先出現(xiàn)的是可以跟著人走的行李箱。其采用三個藍牙模塊,通過檢測RSSI(信號強度值)再經(jīng)過三角交叉定位原理進行計算得到人體位置。但問題是定位不夠精確,而且會誤判。如果采用圖像處理技術(shù)的話,成本會很高,并不能廣泛推廣。
智能購物車結(jié)合精度較高的紅外測距和識別度較高的手機三軸傳感器數(shù)據(jù)回傳的方法,優(yōu)劣互補,實現(xiàn)更加穩(wěn)定的跟隨技術(shù)。首先,手機通過三軸傳感器的數(shù)據(jù)判斷自己的擺放姿態(tài)(因為這在實際中是不可預(yù)測的),再判斷手機本身前進的方向,并傳回Arduino主控板。Arduino主控板結(jié)合紅外測距掃描得到的距離信息,判斷執(zhí)行左轉(zhuǎn)、右轉(zhuǎn)、前進、停止等動作。
隨著互聯(lián)網(wǎng)+時代的發(fā)展,智能化,便捷化必然是社會發(fā)展的追求和方向,智能購物車成本低,功能完善,抗干擾能力強,簡化顧客購物過程,提升了顧客購物體驗,是符合時代發(fā)展的產(chǎn)物。同時也為超市節(jié)省了大量的人力與物力,從側(cè)面為超市帶來了創(chuàng)收。
參考文獻
[1]高博,宣章洋,張凡,黃武元.基于嵌入式系統(tǒng)的智能購物車的開發(fā)研究[J].信息通信,2015(4)﹕122-123
[2]蔡睿研.基于Arduino的舵機控制系統(tǒng)設(shè)計[J].電腦知識與技術(shù),2012,8(15)﹕3719-3721.
[3]倪巍,王宗興.基于接受信號強度的室內(nèi)定位算法[J].復(fù)旦學(xué)報,2004,43(1)﹕72-76.
[4]楊東勇,顧東袁,傅曉婕.一種基于RSSI相似度的室內(nèi)定位算法[J].傳感技術(shù)學(xué)報,2009,22(2)﹕264-268.
[5]吳黎明,張力鍇,李怡凡.基于ANN和單個三軸加速度傳感器的汽車運動姿態(tài)的測量[J].2011,24(6)﹕923-927.