陸柳延,黃曉龍,陶吳宏
(江蘇商貿職業(yè)學院,江蘇南通,226011)
當前市場每年都要銷售大量塑料包裝的飲料產品,飲料銷量劇增,帶來的問題是廢舊塑料瓶垃圾的大量出現(xiàn)。據(jù)相關數(shù)據(jù)統(tǒng)計,2016 年全球塑料瓶的消費量達到 4800 億個,但得到回收的不到一半,其中僅僅只有7%被重復利用。而大多數(shù)瓶子的下場都是混在垃圾中被填埋或流入海洋。因此,急需一種能夠自動回收塑料瓶,同時對消費者有吸引力的集中投放和回收渠道。
本項目設計的環(huán)保智能售賣機具有回收加售賣的特點,由自動售賣系統(tǒng)、回收識別系統(tǒng)、數(shù)據(jù)平臺系統(tǒng)組成。當消費者在自動售賣機上購買產品時,如購買某飲料需5 元,此時將塑料瓶投放進回收窗口,每投放一個,商品的價格會相應的減少0.1 元,以此類推,以最終優(yōu)惠價格進行掃碼或投幣結算。塑料瓶投入到機器內會進行壓縮儲存,當儲存箱滿時,數(shù)據(jù)系統(tǒng)會提醒工作人員前往處理,直接送往回收利用站點。此產品既能增加客戶粘度、擴大銷量、實現(xiàn)盈利,又能夠保護環(huán)境、減少污染,實現(xiàn)回收利用,具有盈利性和公益性相統(tǒng)一、生產消費與環(huán)境保護相統(tǒng)一的優(yōu)點。
本設計主要闡述基于AT89C51 單片機設計的新型環(huán)保售賣系統(tǒng),設計主要由主控模塊、回收檢測模塊、選擇模塊、顯示模塊組成。為達到設計所需的任務要求,選用兩片AT89C51 單片機為控制核心,分別實現(xiàn)回收系統(tǒng)及售賣系統(tǒng),并通過雙機串行通信來實現(xiàn)雙系統(tǒng)的交互通信,結構總框圖如圖1 所示。回收系統(tǒng)在最小系統(tǒng)的基礎上,添加傳感模塊及顯示模塊,主要完成塑料瓶的回收監(jiān)測。售賣系統(tǒng)在最小系統(tǒng)的基礎上,通過按鍵與單片機進行人機交互,實現(xiàn)飲料選購,同時添加顯示模塊,呈現(xiàn)支付價格。
圖1 系統(tǒng)總設計框圖
本設計的主體電路部分由兩片單片機最小系統(tǒng)構成,如圖2 所示。其中U1 為售賣系統(tǒng)核心控制器,U2 為回收系統(tǒng)核心控制器。為實現(xiàn)回收系統(tǒng)與售賣系統(tǒng)之間的連接,將這兩個單片機的RXD 引腳與TXD 引腳交叉連接,設置兩個單片機串行口的工作方式一致,并允許接收數(shù)據(jù),這樣就達到單片機雙機通信的作用。
圖2 系統(tǒng)主電路設計圖
在研究初期階段,選用光纖傳感器來完成塑料瓶的檢測。當回收口傳感器檢測到一個電平信號,即送至單片機存儲,在后續(xù)購買階段,即可將存儲信息讀出并送至購買系統(tǒng),重置購買金額。光纖傳感器的輸出線為3 線,連接時棕色線與單片機直流電源正極相連,藍色線與單片機直流電源負極相連,黑色線與單片機U2 的P0.0 端口相連。在仿真調試階段,采用按鍵信號模擬傳感器檢測信號。通過獨立按鍵連接回收系統(tǒng)U2 單片機的 P0.0 引腳,使用了低電平觸發(fā),按鍵的操作代表為回收塑料瓶所獲得的優(yōu)惠。
顯示電路部分的設計采用了二位數(shù)碼管以及四位數(shù)碼管組成,其中二位數(shù)碼管顯示的是回收塑料瓶的總價格,四位數(shù)碼管則顯示購買物品的應付價格。
由圖3 所示,這兩個數(shù)碼管的段選(A,B,C,D,E,F,G 以及 DP)依次與兩個單片機的 P2 口各個引腳相連接,位選則經過三極管與兩個單片機的P1 口相連,即R16~R19 與售賣系統(tǒng)主控模塊U1 的單片機的 P1.0~P1.3 依次連接,R14、R15 與回收系統(tǒng)主控模塊U2 單片機的 P1.0、P1.1 連接。設計中使用的數(shù)碼管均為共陽極數(shù)碼管,并在顯示電路設計中加入了PNP 三極管起開關作用,當單片機的 I/O 口輸出高電平時,Ube 無電壓差,Ib=0A,這時三極管處于截止狀態(tài),此 I/O 口所對應的位選數(shù)碼管不顯示數(shù)字,當單片機的 I/O 口輸出低電平時,三極管就處于導通狀態(tài),此 I/O 口所對應的位選數(shù)碼管就會按照單片機P2 口輸出的段選顯示相應的數(shù)字。顯示電路部分通過這樣的連接使單片機信號可以控制數(shù)碼管來顯示價格數(shù)字。
圖3 系統(tǒng)顯示電路設計圖
在本項目設計中設置可購買3 種飲料,因此添加3 個購買按鍵,分別是二元物品選擇鍵,三點五元物品選擇鍵,四元物品選擇鍵。這些獨立按鍵與售賣系統(tǒng)主控模塊U1 的單片機連接,被按下時產生的信號被單片機采集,在依照軟件程序計算后將結果發(fā)送給回收系統(tǒng)主控模塊U2 單片機,并能在主控模塊U1 的四位數(shù)碼管顯示相應的價格結果。此外添加環(huán)保售賣機的支付完成鍵,實現(xiàn)顧客購買物品并完成支付之后的找零操作。
按鍵電路部分的設計使用了幾個獨立按鍵和上拉電阻,原理簡單,容易操作。電路結構如圖4 所示,單片機的 I/O 口上拉電阻之后與+5V 電源連接,按鍵一端接地,另一端與單片機 I/O 口相連接,按鍵按下時會給單片機傳遞低電平信號。S1、S3、S5 和 S6 這 4 個獨立按鍵分別接U1 單片機的 P0.0、P0.1、P0.2、P0.7 引腳,使用低電平觸發(fā)。其中,S1 按鍵是物品價格為二元的按鍵,S3 按鍵是物品價格為三點五元的按鍵,S5 按鍵是物品價格為四元的按鍵,S6 按鍵則是顧客購買物品并完成支付之后的找零操作。
圖4 系統(tǒng)購買電路設計圖
設計主要通過AT89C51 單片機的控制來工作,所以其編寫的程序有初始化,還有主體循環(huán)部分,其程序的主要流程如圖5所示。
圖5 程序主流程圖
系統(tǒng)上電,首先系統(tǒng)初始化以及單片機的初始化。初始化完成后進入主體循環(huán),兩個AT89C51 單片機開始采集來自外部的按鍵及傳感器信號,并按編寫的程序流程對這些數(shù)據(jù)進行處理。再控制數(shù)碼管將處理過的數(shù)值顯示出來以實現(xiàn)環(huán)保售賣機的功能。
2.2.1 進行初始化設置
環(huán)保售賣機系統(tǒng)設計時,兩個單片機均定義串行口的工作方式為方式1,并允許接收數(shù)據(jù)。同時定時器T1 工作于方式二下。然后初值設置波特率為9600bps。還有串行口中斷開啟以及總中斷允許位開啟。
SCON=0X50; //工作方式的設定
PCON=0x00;TMOD=0X20; //定時器T1 工作方式的設定
TH1=0XFD;TL1=0XFD; //根據(jù)波特率賦初值
TR1=1; //啟動定時器T1 工作
EA=1; //開啟總中斷
ES=1; //開啟通信中斷
2.2.2 發(fā)送數(shù)據(jù)設置
發(fā)送數(shù)據(jù)部分,將所需發(fā)送的數(shù)據(jù)送入SBUF,就可以啟動發(fā)送。單片機將自動把SBUF 中的數(shù)據(jù)組裝為發(fā)送的格式,并在波特率發(fā)生器的控制下將處理過的數(shù)據(jù)發(fā)送至第11 引腳。發(fā)送完數(shù)據(jù)后,單片機內部自動置中斷標志TI 為1,這中斷標志位TI 需要由軟件清零。
void send(unsigned char dat)
{ SBUF=dat;
while(TI==0); // 查詢等待發(fā)送是否完成
TI=0;
}
2.2.3 接收數(shù)據(jù)設置
兩個單片機通信的接收方式采用了中斷方式來接收數(shù)據(jù),判斷RI 是否為1,若是1 則表示接收完成,數(shù)據(jù)接收完畢在依程序來進行下一步的操作。
如圖6 所示,當售賣系統(tǒng)U1 單片機接收到回收系統(tǒng)U2 單片機發(fā)送過來的數(shù)據(jù)時將變量count 減1,這表示外部投入了一個塑料瓶,U2 單片機采集到信號,并發(fā)送給U1單片機,使需要支付的總價減少。
圖6 售賣系統(tǒng)U1 程序流程圖
如圖7 所示,當回收系統(tǒng)U2 單片機接收到了售賣系統(tǒng)U1 單片機發(fā)送過來的數(shù)據(jù)時將變量count 清零,同時再把P2 口各引腳至高電平,這表明外部一次循環(huán)結束(按鍵 S6 被按下)U1 單片機采集到信號,同時也發(fā)送給U2 單片機,將回收塑料瓶的金額清零。
圖7 回收系統(tǒng)U2 程序流程圖
數(shù)碼管顯示部分采用的四位數(shù)碼管及二位數(shù)碼管均為共陽極數(shù)碼管,所以在段選上需要區(qū)分,在數(shù)值的累加以及先投塑料瓶時四位數(shù)碼管上顯示的負數(shù)也需要注意。如表1所示為本設計中需要用到的數(shù)碼管字形編碼。
表1 數(shù)碼管字形編碼
環(huán)保售賣機計價系統(tǒng)的電路元器件繁多,仿真電路圖繪制完成后可先進行仿真演示,對項目進行功能調試。
例如按下 S1 按鍵(S3,S5 按鍵也可),四位數(shù)碼管顯示2.0,如圖8 所示,表示購買S1 物品需要支付2 元。如再按下 S3 按鍵,四位數(shù)碼管的數(shù)字會累加,顯示5.5,如圖9 所示,表示購買S1 和S3 物品一共需要支付 5.5 元。
圖8 購買S1 物品界面
圖9 購買S1、S3 物品界面
之后按十下 S4 按鍵(代替?zhèn)鞲衅鳈z測信號)則表示回收了十個塑料瓶,二位數(shù)碼管就會顯示1.0,如圖10 所示,表示每個塑料瓶以一分的價格回收并用做優(yōu)惠,此次演示則優(yōu)惠一元。相應的四位數(shù)碼管也會在支付總價上減去回收塑料瓶的總價格如圖11 所示。最后按下S6,如圖11 所示,兩個數(shù)碼管數(shù)值歸零,表示支付完成。
圖10 回收十個塑料瓶的界面
圖11 支付完成界面
本文研究與設計了一款新型環(huán)保售賣機,在系統(tǒng)中使用了兩個AT89C51 單片機,利用了51 單片機的串行通信功能,實現(xiàn)一款可以回收塑料瓶并進行價格抵扣的新型售賣裝置,并通過模擬仿真軟件,確認系統(tǒng)可以合理的運作。
同時本設計也存在著不足之處,后期可以在現(xiàn)有的功能基礎上進行進一步的擴展,可以將售賣機連入互聯(lián)網(wǎng)中開設平臺,人們在平臺上可以注冊賬號,可以存儲回收塑料瓶獲取的貨幣,并在下次購物時用作優(yōu)惠等等。