針對(duì)傳統(tǒng)電子秤,記錄、統(tǒng)計(jì)稱重結(jié)果需耗費(fèi)較多人力,并容易出現(xiàn)錯(cuò)記漏記等現(xiàn)象,設(shè)計(jì)一款新型智能電子 秤系統(tǒng)。該電子秤采用STC89C52微處理器為系統(tǒng)控制核心,可顯示物品名稱、重量、單價(jià)、總價(jià)等信息,并基于App Inven-tor 2平臺(tái)開(kāi)發(fā)出相應(yīng)的電子秤手機(jī)APP軟件,電子秤通過(guò)藍(lán)牙發(fā)送數(shù)據(jù)至手機(jī)APP,由手機(jī)保存數(shù)據(jù)。手機(jī)APP軟件具備 各種統(tǒng)計(jì)功能,并能夠?qū)⒔y(tǒng)計(jì)結(jié)果導(dǎo)出Excel表格,便于電腦存儲(chǔ)、分析。該系統(tǒng)性能穩(wěn)定、可靠,成本低廉,手機(jī)APP軟件方 便實(shí)用,可廣泛應(yīng)用于現(xiàn)代商業(yè)市場(chǎng)中。
自20世紀(jì)60年代以來(lái),由于傳感器技術(shù)的迅速發(fā) 展,電子稱重技術(shù)日趨成熟,并逐步取代傳統(tǒng)機(jī)械秤。 20世紀(jì)70年代初期,微處理機(jī)的出現(xiàn)使得電子稱重技 術(shù)得到了進(jìn)一步的發(fā)展,快速、準(zhǔn)確、操作方便、功能多 樣化等已成為現(xiàn)代稱重技術(shù)的主要特點(diǎn),稱重裝置的應(yīng) 用已遍及到國(guó)民經(jīng)濟(jì)各領(lǐng)域,與此同時(shí),人們對(duì)稱重儀表 的要求也越來(lái)越高,要求更加智能化。于是出現(xiàn)了一種 智能無(wú)線電子秤,運(yùn)用無(wú)線藍(lán)牙模塊傳送重量數(shù)據(jù),通過(guò) RFID瀆取貨品的名稱、單價(jià)和單位重量,顯示并存儲(chǔ) 還有一種無(wú)線接口電子秤,通過(guò)藍(lán)牙收發(fā)器實(shí)現(xiàn)無(wú)線方式的體重?cái)?shù)據(jù)上傳至電腦或互聯(lián)網(wǎng)上,以便個(gè)人健康數(shù) 據(jù)的永久保存與分析|21。傳統(tǒng)電子秤的設(shè)計(jì)與研制嘗試 了多種方法,但由于其體積較大,不方便攜帶,測(cè)量數(shù)據(jù) 不易保存和統(tǒng)計(jì)分析,因此逐漸不被人們所使用。近 幾年智能手機(jī)迅速普及,APP的開(kāi)發(fā)技術(shù)也隨著手機(jī)市 場(chǎng)的發(fā)展日益成熟,因此把數(shù)據(jù)上傳至手機(jī),將電子秤 與手機(jī)APP相結(jié)合是電子產(chǎn)品發(fā)展的必然趨勢(shì)。為 此,本設(shè)計(jì)在傳統(tǒng)的電子秤基礎(chǔ)上,增加藍(lán)牙數(shù)據(jù)傳送模 塊,同時(shí)基于App Inventor 2平臺(tái)開(kāi)發(fā)出一款電子秤手機(jī) APP,可以通過(guò)藍(lán)牙將稱重?cái)?shù)據(jù)發(fā)送到手機(jī)APP,APP查 詢某天的稱重記錄,并能統(tǒng)計(jì)某段時(shí)間,各種物品的重 量,而且統(tǒng)計(jì)數(shù)據(jù)可以以Excel表格形式導(dǎo)出。該款智能 電子秤符合現(xiàn)在人們對(duì)稱重裝置的要求。
1.智能電子秤總體架構(gòu)
本文智能電子秤系統(tǒng)由下位機(jī)和上位機(jī)兩部分構(gòu)成。該系統(tǒng)整體框架如圖1所示,下位機(jī)是基于51單片 機(jī)的電子秤部分,上位機(jī)是基于谷歌App Inventor 2開(kāi) 發(fā)平臺(tái)設(shè)計(jì)實(shí)現(xiàn)的手機(jī)APP。系統(tǒng)下位機(jī)部分是利用 壓力傳感器采集重量數(shù)據(jù),經(jīng)過(guò)HX711模塊進(jìn)行信號(hào) 放大和A/D轉(zhuǎn)換,再把數(shù)字信號(hào)上傳單片機(jī)處理模塊。 單片機(jī)會(huì)對(duì)鍵盤按下進(jìn)行處理,設(shè)置單價(jià)、折扣,并在 LCD12864上顯示重量、單價(jià)、總價(jià)等信息。上位機(jī)的手 機(jī)APP,按下“發(fā)送”按鍵后,數(shù)據(jù)通過(guò)藍(lán)牙模塊上傳到 A P P,A P P接收數(shù)據(jù)后將其存放于數(shù)據(jù)庫(kù),以便查詢和 統(tǒng)計(jì)。APP可以選擇物品編號(hào)列表(用戶可自行增加、 刪除、修改列表),之后會(huì)在接收界面顯示所選物品、單 價(jià)、折扣等信息。APP接收到單片機(jī)發(fā)送的重量數(shù)據(jù)則 會(huì)自動(dòng)計(jì)算總價(jià)并顯示,同時(shí)將物品名和單價(jià)發(fā)送至單 片機(jī),單片機(jī)接收到后顯示于液晶屏。
APP的功能如圖2所示,整個(gè)APP分三個(gè)主要界 面:第一個(gè)界面為登錄系統(tǒng),實(shí)現(xiàn)登錄、注冊(cè)、退出功能; 第二個(gè)界面為數(shù)據(jù)處理系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)的接收、統(tǒng)計(jì)、查 表與微信掃描支付,根據(jù)統(tǒng)計(jì)分析數(shù)據(jù),給出相應(yīng)建議, 還有導(dǎo)出統(tǒng)計(jì)表格的功能;第三個(gè)界面為資料管理系 統(tǒng),實(shí)現(xiàn)查看記錄、導(dǎo)出記錄功能,查看某天的歷史記 錄,并且能夠?qū)С鲈撚涗浀?/span>Excel表格。
2.系統(tǒng)方案設(shè)計(jì)
系統(tǒng)總體方案設(shè)計(jì)主要包括硬件電路設(shè)計(jì)、單片機(jī) 控制程序設(shè)計(jì)及APP軟件功能設(shè)計(jì)三部分。硬件電路 主要由復(fù)位電路、壓力傳感器及A/D轉(zhuǎn)換模塊、藍(lán)牙模 塊、矩陣鍵盤、單片機(jī)5部分構(gòu)成,借鑒引用了傳統(tǒng)的電 子秤硬件設(shè)計(jì)。單片機(jī)程序設(shè)計(jì)是整個(gè)設(shè)計(jì)的關(guān)鍵部 分,APP軟件功能設(shè)計(jì)分為不同的功能界面。單片機(jī)采 用了 STC89C52,其是宏晶科技推出的一種低功耗、高性 能CMOS8位微控制器,價(jià)格低廉,且能夠?qū)崿F(xiàn)本設(shè)計(jì)的 功能。壓力傳感器采用應(yīng)變式壓力傳感器,其精度高、 結(jié)構(gòu)簡(jiǎn)單緊湊、抗偏載能力強(qiáng),其輸出電壓和壓力成 正比,斜率穩(wěn)定,因此易于實(shí)現(xiàn)將重量轉(zhuǎn)變成電信號(hào) 輸出。HX711是專為高精度電子秤而設(shè)計(jì)的24位 A/D轉(zhuǎn)換器芯片,具有集成度高、響應(yīng)快、抗干擾能力強(qiáng) 等優(yōu)點(diǎn),與壓力傳感器結(jié)合使用效果佳。HC-05是一款 性價(jià)比較高的藍(lán)牙模塊,完全兼容單片機(jī)系統(tǒng),可實(shí)現(xiàn)單 片機(jī)數(shù)據(jù)的收發(fā),因此選擇它作為系統(tǒng)的無(wú)線通信橋梁。
2.1單片機(jī)控制方案
為了使得系統(tǒng)可以一直讀取重量數(shù)據(jù)并顯示,在液 晶初始化和串口初始化后,進(jìn)人循環(huán)讀取、顯示流程,讀 取HX711 A/D轉(zhuǎn)換后的數(shù)值,存放到當(dāng)前A/D數(shù)值變 量;掃描矩陣鍵盤,判斷是否有按鍵按下,根據(jù)按鍵值和 系統(tǒng)設(shè)置模式進(jìn)行相應(yīng)的響應(yīng);將HX711傳輸?shù)?/span>A/D數(shù) 值轉(zhuǎn)換成重量,再計(jì)算總價(jià);然后根據(jù)顯示模式,顯示對(duì) 應(yīng)的主界面、改單價(jià)界面、改折扣界面、校準(zhǔn)界面中;最 后返回讀取HX711數(shù)值的操作,如圖3所示.
2.2 APP設(shè)計(jì)方案
APP主要有5個(gè)界面,登錄注冊(cè)界面、接收界面、查 看歷史記錄界面、統(tǒng)計(jì)數(shù)據(jù)界面、掃描付款界面,關(guān)系如 圖4所示。接收界面是關(guān)鍵部分,為歷史記錄和統(tǒng)計(jì)提 供數(shù)據(jù)。為了提高電子秤的實(shí)用性,方便付款,增加了 掃描二維碼進(jìn)人微信支付功能。本設(shè)計(jì)所有數(shù)據(jù)都保 存在手機(jī)微數(shù)據(jù)庫(kù)中,相當(dāng)于一個(gè)單機(jī)版軟件,無(wú)論是 本機(jī)微數(shù)據(jù)庫(kù)還是聯(lián)網(wǎng)的服務(wù)器數(shù)據(jù)庫(kù),都是采取鍵值 對(duì)的存取方式。實(shí)現(xiàn)了在不聯(lián)網(wǎng)的情況下也能讀取之 前所保存的所有數(shù)據(jù)。
3.電子秤軟件設(shè)計(jì)
3.1矩陣掃描的實(shí)現(xiàn)
先設(shè)置行為高電平,列為低電平,逐行掃描再逐列 掃描,若有按鍵按下,則連通部分會(huì)由高電平變?yōu)榈碗娖?,確定行、列就可以確定是哪個(gè)按鍵按下。其中矩陣 鍵盤上的數(shù)值0?9是為了輸人數(shù)字而設(shè)定的,為了可以 輸人小數(shù),還加人“小數(shù)點(diǎn)”鍵。另外還有其他“清零/去 皮”、“改單價(jià)”、“改折扣”、“刪除/發(fā)送”、“校準(zhǔn)”按鍵,充 分應(yīng)用了 4x4的矩陣鍵盤。
3.2LCD12864顯示的實(shí)現(xiàn)
液晶顯示前,需要對(duì)液晶進(jìn)行初始化。編寫(xiě)相關(guān)函 數(shù),方便調(diào)用。顯示字符串是液晶顯示關(guān)鍵的程序,為 了方便編寫(xiě)各種顯示界面,先編寫(xiě)顯示字符串的函數(shù),判 斷要顯示數(shù)據(jù)所在的行和列,再寫(xiě)人字符串,程序如下:
void LCD_DisStr(uint8 x, uint8 y ,uint8 *pDat)
{
LCD_Write0neByte(0,0x90+y);
else if(x==2) LCD_Write0neByte(0,0x88+y);
else if(x==3) LCD_Write0neByte(0,0x98+y); while( *pDat!=r