基于ESP32單片機的自動售貨機設(shè)計
王惠1,聶建華2,王慶龍1 2022/12/6 21:57:23
(1.泰山科技學院,山東泰安 271038;2.山東省人民政府機關(guān)政務(wù)保障中心,山東濟南 250000)
摘要:文章設(shè)計了一款基于ESP32單片機的自動售貨機。該售貨機采用步進電機和彈簧貨道的方式,出貨口增加彈簧軟墊,保證出貨的安全。采用ESP32單片機保證智能控制,可以實現(xiàn)投幣和電子支付。在電子支付日益普及的背景下,既能滿足售貨機的全部功能,又能增加安全保證和電子支付,滿足了設(shè)計初衷。
關(guān)鍵詞:ESP32單片機;安全;電子支付
中圖分類號:TP368.1 文獻標志碼:A
1 背景
自動售貨機可以便捷地提供各種商品,極大地方便了居民的生活。美中不足的是傳統(tǒng)的貨物輸出通道采用推送后掉落至出口的方式,這對柔軟的零食類商品沒有任何影響,但是,如果商品為碳酸飲料,掉落會產(chǎn)生大量的二氧化碳,在擰開瓶蓋的剎那,飲料噴涌而出,污染消費者的衣服甚至傷害面部,存在極大的隱患。因此,采用步進電機和彈簧貨道的方式,并且在出貨口增加彈簧軟墊,將會最大限度地提升安全系數(shù),同時,采用ESP32單片機進行智能優(yōu)化和控制,保證了自動售貨機可以實現(xiàn)投幣和電子支付,更能緊跟社會潮流。
2 設(shè)計思路
本文設(shè)計的自動售貨機,分為商品選擇、投入貨幣、商品送出和找零等4個步驟。
開啟默認顯示商品屬性、價格,每個商品的貨架有獨立有貨/售完指示燈,消費者購物時,系統(tǒng)會根據(jù)被選中的商品的種類,在液晶顯示屏上自動顯示商品的價格和數(shù)量,并等待消費者付款。
在選擇界面如果30s未投幣會跳轉(zhuǎn)到主界面,如果投幣則會對商品價格進行計算,已投的幣值小于購買商品的金額,按下確認鍵會提示投幣不足且繼續(xù)開始投幣檢測;已投的幣值大于或等于購買商品的金額,則開啟送貨程序,對應(yīng)飲料貨架的步進電機驅(qū)動的彈簧貨道進行順時針旋轉(zhuǎn)一周并且開啟貨物掉落檢測。當距離傳感器檢測有物品掉落后進入下一步。
最后找零模式,投入的幣值會與商品價格進行相減,找零的幣值會在LCD液晶屏上顯示,相應(yīng)的找零LED燈也會亮起。此時按下確定鍵或者等待30s會返回主界面,繼續(xù)等待貨架貨物選擇按鈕的按下。自動售貨機運行流程,如圖1所示。
圖1 自動售貨機運行流程
3 系統(tǒng)組成
(1)硬件部分包括:單片機ESP32-S和3個74HC595組成控制模塊,ULN2003電機驅(qū)動芯片與步進電機組成安全輸出模塊,ST7735s和LCD液晶屏組成輸出顯示模塊。
(2)軟件采用Arduino為程序開發(fā)環(huán)境,以類似C語言的編程語句為基礎(chǔ)。軟件部分包括LCD顯示程序、按鍵按下檢測程序、貨幣累加程序、步進電機驅(qū)動程序和找零程序。
(3)本設(shè)計可以實時顯示商品信息、商品選擇、找零、出貨以及商品剩余數(shù)量。顯示屏的組態(tài)界面以文字和圖片結(jié)合的形式,向顧客展示貨物的存貨情況以及價格等參數(shù)。顧客可以通過按鍵進行商品選擇、投幣或電子支付。步進電機、傳動機構(gòu)和墊片組成的出貨系統(tǒng)完成安全出貨功能。
4 硬件設(shè)計
4.1 控制模塊
自動售貨機主控單元采用樂鑫公司的產(chǎn)品ESP32-S模塊,26個I/O引腳功能見表1。
表1 ESP32引腳功能
引腳 功能 引腳 功能
1.GND 電源負極 24.IO2 電子支付
2.3V3 電源正極輸入 25.IO0 燒錄/運行模式引腳
3.EN 使能引腳 26.IO4 10元投幣按鈕
4.SENSOR_VP 紅外測距ADC引腳 27.IO16 5元投幣按鈕
8.IO32 A商品選擇按鍵 28.IO17 1元投幣按鈕
9.IO33 B商品選擇按鍵 29.IO5 5角投幣按鈕
10.IO25 C商品選擇按鍵 30.IO18 選擇確認按鍵
11.IO26 D商品選擇按鍵 31.IO19 顯示器MOSI引腳
12.IO27 E商品選擇按鍵 33.IO21 顯示器CLK引腳
13.IO14 F商品選擇按鍵 34.RX 串口RX引腳
14.IO12 SHCP引腳 35.TX 串口TX引腳
16.IO13 STCP引腳 36.IO22 顯示器DC引腳
23.IO15 74HC595數(shù)據(jù)引腳 37.IO23 顯示器CS引腳
ESP32的26個I/O引腳,無法滿足無人售貨機控制的要求,現(xiàn)增加3個74HC595芯片(未完,下一頁)
|