Arduino是一款電子互動開發(fā)的軟硬件平臺,以Arduino uno r3單片機(jī)為基礎(chǔ)配置的條形碼智能掃描系統(tǒng),能夠?qū)崿F(xiàn)對各種貨物上的多種形式條形碼進(jìn)行快速批量掃描,貨物信息通過串口通信傳送給Arduino單片機(jī),再發(fā)送到移動數(shù)據(jù)終端,使得快遞中心能夠隨時(shí)掌握貨物信息。在日常生活中,此類掃描系統(tǒng)可以在各地的快遞分揀中心使用,大大降低快遞分揀成本,同時(shí)提高分揀效率。
【關(guān)鍵詞】Arduino條形碼掃描 分揀
1 引言
網(wǎng)購的流行促使快遞業(yè)迅速發(fā)展,隨著快遞數(shù)量的劇增,分揀快遞也成為一個(gè)難題。我國的快遞業(yè)自動化相對于國外起步較慢,根據(jù)《中國快遞行業(yè)發(fā)展報(bào)告》,在先進(jìn)分揀設(shè)備及技術(shù)的應(yīng)用上我國快遞行業(yè)仍然落后。目前,國內(nèi)幾家大的物流公司,除了中國郵政和順豐擁有自動化分揀設(shè)備之外,其他公司皆以人工+傳送帶方式為,主快遞單號的獲取方式仍是用手持掃描槍,分揀效率低下。分揀中心的掃描、搬運(yùn)成本非常高,整個(gè)分揀中心作業(yè)時(shí)間的30%--40%更是被分揀環(huán)節(jié)所占。尋求一種更加高效、智能化的掃描方式是物流公司非常迫切的需求?;贏rduino的條形碼掃描系統(tǒng)與人工+傳送帶模式相比更智能化,效率更高。
NLS-EM3296是近幾年最新推出的條形碼掃描模塊,利用紅外掃描精確快速地讀取快遞條形碼上的信息,通過串口傳輸給上位機(jī),在完成掃描快遞信息的同時(shí),實(shí)現(xiàn)了信息登記,同時(shí)智能小車依據(jù)掃描信息實(shí)現(xiàn)自動搬運(yùn)、卸貨,快遞分揀成本將會大大降低。本文基于Arduino單片機(jī)以極低的成本實(shí)現(xiàn)NLS-EM3296的智能掃描功能。
2 Arduino模塊概述
Arduino是目前較為流行的一款電子互動產(chǎn)品開發(fā)平臺,由Arduino系列單片機(jī)和Arduino的IDE兩部分組成,IDE有大量庫函數(shù)支持,大大簡化了程序的開發(fā)工作。Arduino具有使用簡單,功能多樣,價(jià)格低廉,可拓展性強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于電子系列和互動產(chǎn)品的開發(fā)方面,Arduino 編程過程采用的是交叉編譯的手段。Arduino單片機(jī)不具有直接編譯環(huán)境,對其編程需要兩臺計(jì)算機(jī),Arduino單片機(jī)和PC。Arduino單片機(jī)的開發(fā)環(huán)境可以在多種主流操作系統(tǒng)中運(yùn)行,包括Windows、Linux、Mac OS三個(gè)主流操作系統(tǒng)平臺,適用面非常廣泛。
Arduino uno是Arduino USB接口系列的最新版本,作為Arduino平臺的參考標(biāo)準(zhǔn)模板。UNO的處理器核心是ATmega328,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSP header和一個(gè)復(fù)位按鈕。目前UNO已經(jīng)發(fā)布到第三版,如圖1所示。
3 掃碼模塊
NLS-EM3296是一款智能化的條形碼讀識開發(fā)模塊,如圖2所示。模塊自身具有先進(jìn)的條形碼識別算法,可以對Code-128、GSI-128、AIM-128、EAN-128、PDF-417、QR-Code等一維條形碼和二維條形碼進(jìn)行讀取,同時(shí)NLS-EM3296 可以輕松讀取紙張、塑料卡、LCD 等各種印制介質(zhì)和顯示介質(zhì)上的條碼,性能強(qiáng)大。NLS-EM3296具有很好的開放性,能夠與外接設(shè)備實(shí)現(xiàn)多種方式通信,實(shí)現(xiàn)信息的互聯(lián)網(wǎng)化。除此之外,NLS-EM3296還具有體積小,操作簡單,廉價(jià)等優(yōu)勢,可以在分揀小車、分揀機(jī)器人、貨物信息統(tǒng)計(jì)等方面發(fā)揮重要的作用。
3.1 掃碼模塊的通信方式
3.1.1 串口通信
條形碼掃描模塊提供TTL-232串口通信接口,支持1200bps——115200bps速率,可以通過串口通信與外設(shè)進(jìn)行通信。通過12pin 0.5mm的柔性線纜與外設(shè)進(jìn)行連接,串口默認(rèn)波特率為9600bps,8為數(shù)據(jù)位,無檢驗(yàn),1位停止位如圖3所示,所使用到的端口如表1所示。
3.1.2 USB通信
條形碼掃描模塊可以與開發(fā)板EVK連接,通過USB線與PC機(jī)進(jìn)行通信如圖4所示。
4 整體調(diào)試
智能小車由循跡部分、卸貨部分、控制部分和掃碼部分共四部分組成,如圖5和圖6所示為智能小車程序框圖和整體圖。智能分揀小車的調(diào)試主要包括兩個(gè)關(guān)鍵部分,即掃描模塊和小車運(yùn)行控制,下面分別介紹工作原理與調(diào)試方法。
4.1 Arduino與NLS-EM3296模塊
NLS-EM3296掃描模塊通過柔性線纜+FPC轉(zhuǎn)接板與Arduino uno r3單片機(jī)進(jìn)行串口通訊。NLS-EM3296掃描模塊的默認(rèn)波特率為9600bps,需要在程序編輯器(IDE)中對Arduino進(jìn)行設(shè)置Serial.begin(9600),掃碼程序如圖7所示。
NLS-EM3296掃描模塊的掃描模式默認(rèn)為低電平掃描模式,也可使用openjumper串口助手通過EVK板對條形碼模塊調(diào)試,同時(shí)對NLS-EM3296模塊的靈敏度和紅外掃描光線的強(qiáng)弱等條件進(jìn)行設(shè)置。
當(dāng)NLS-EM3296的紅外探頭掃描到快遞條形碼時(shí),對捕獲的條形碼進(jìn)行解碼,解碼后的數(shù)據(jù)為16位字符,這些字符包含貨物的基本信息,是實(shí)現(xiàn)快遞自動化分揀的基礎(chǔ)。Arduino單片機(jī)通過串口從NLS-EM3296獲取快遞的位置信息,控制智能分揀小車、機(jī)器人等智能分揀設(shè)備將快遞搬運(yùn)到指定位置。智能分揀能夠利用自身的藍(lán)牙、Wi-Fi等無線通信模塊將快遞信息上傳給PC機(jī),在搬運(yùn)快件的同時(shí),又可以實(shí)現(xiàn)快遞信息的上傳登記備案。
下面就以載有基于Arduino的NLS-EM3296掃描系統(tǒng)的智能小車為例介紹基于Arduino的NLS-EM3296掃描系統(tǒng)的實(shí)現(xiàn)效果。
4.2 智能分揀小車
以Arduino uno單片機(jī)為依托,通過XLDC-DC升壓模塊、L298N電機(jī)驅(qū)動模塊,尋跡傳感器,漫反射式紅外避障實(shí)現(xiàn)對小車的智能控制,并通過arduino串行通信接口實(shí)現(xiàn)與EM3296條碼掃描模塊的即時(shí)通訊。
小車的循跡部分由四路循跡模塊、XLDC-DC升壓模塊、漫反射式壁障傳感器和L298N電機(jī)驅(qū)動模塊。尋跡模塊通過識別黑線將信號傳給單片機(jī),同時(shí)DC生壓模塊將18650電池組的電壓升到12V接到L298N電機(jī)驅(qū)動模塊上,從而驅(qū)動小車向前行走。
卸貨部分由兩個(gè)SG-90舵機(jī)和亞格力板組成,通過舵機(jī)的旋轉(zhuǎn)完成卸貨。如果所卸貨物比較重,建議采用大扭矩的舵機(jī)模塊,本文只是通過小車展示一下基于Arduino的NLS-EM3296掃碼模塊,所以采用扭矩較小的模塊。
控制部分也稱為核心部分是Arduino uno r3單片機(jī),控制小車的整體運(yùn)行。如果小車想要實(shí)現(xiàn)除掃碼外其他功能,例如藍(lán)牙、無線傳輸?shù)龋ㄗh使用Arduino mega2560單片機(jī),該單片機(jī)串口通信端較多,編程方式、接線方式與uno相同,本文不再做過多陳述。
掃碼部分是NLS-EM3296條形碼掃描模塊,條形碼掃描模塊通過柔性線纜、FPC轉(zhuǎn)接板和杜邦線與Arduino單片機(jī)串口(uno的串口為0,1)相連,圖8所示為智能小車的控制電路圖。
首先,通過NLS-EM3296掃描模塊將條形碼信息解碼后傳給Arduino單片機(jī),Arduino單片機(jī)通過讀取的信息確定每件貨物送達(dá)的區(qū)域,智能小車運(yùn)用自身的紅外尋跡系統(tǒng)和漫反射式紅外避障系統(tǒng)將貨物自動運(yùn)送指定的區(qū)域,觸發(fā)單片機(jī)程序中斷使用SG-90舵機(jī)將快遞卸下,整體過程如圖9所示。
智能小車的運(yùn)行結(jié)果證明,裝載有掃描系統(tǒng)的小車完成了快遞信息掃描,同時(shí)還完成了快遞的簡單分揀工作,由此可見基于Arduino的NLS-EM3296的條形碼掃描系統(tǒng),如果配上智能的分揀設(shè)備,不僅可以降低快遞分揀成本,還能提高分揀效率。
5 結(jié)束語
本文研究了一套基于Arduino的NLS-EM3296條形碼掃描系統(tǒng),NLS-EM3296讀識模塊通過柔性線纜與Arduino單片機(jī)連接,它可以對多種形式的一維,二維條形碼進(jìn)行精確掃描讀取,解碼后傳輸給Arduino單片機(jī)和PC機(jī)。同時(shí)解決了快遞信息的讀取和登記,節(jié)省時(shí)間。并以裝載有基于Arduino的NLS-EM3296的條形碼掃描系統(tǒng)的智能小車為例,對NLS-EM3296掃描系統(tǒng)和智能小車控制系統(tǒng)進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn),實(shí)驗(yàn)證明該系統(tǒng)穩(wěn)定可靠,在快遞分揀及貨物登記等領(lǐng)域具有較高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1]高小茜.淺析我國快遞企業(yè)的分揀問題[J].商場現(xiàn)代化,2014(29):55-57.
[2]陳呂洲.Arduino程序設(shè)計(jì)基礎(chǔ)[M].北京航空航天大學(xué)出版社,2015.
[3]Simonmonk,蒙克,Monk,et al.基于Arduino的趣味電子制作[M].科學(xué)出版社,2011.
[4]程晨.Arduino開發(fā)實(shí)戰(zhàn)指南.AVR篇[M].機(jī)械工業(yè)出版社,2012.
[5]宋巍巍,王永,李旺,et al.基于巡線機(jī)器人的貨物定位系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].自動化儀表,2009,30(01):16-19.
[6]胡文華,胡仁喜.Altium Designer 13從入門到精通(第3版)[M].機(jī)械工業(yè)出版社,2013.
作者簡介
崔子鵬(1997-),男,河北省石家莊市人。
汪雨洋(1996-),男,四川省資陽市人。
魏晉文(1995-),男,甘肅省白銀市人。
王璇(1996-),女,河北省張家口市人。
胡暢(1998-),女,湖南省益陽市人。
作者單位
石家莊鐵道大學(xué)機(jī)械工程學(xué)院 河北省石家莊市 050043