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