章志飛,郭來功,徐少偉
(安徽理工大學 電氣與信息工程學院,安徽 淮南 232001)
2020年新型冠狀病毒的出現(xiàn)對我國現(xiàn)有公共衛(wèi)生安全工作的保障提出了巨大且嚴峻的挑戰(zhàn),迫切需要打造更高效、更安全的新型醫(yī)療廢物存放環(huán)境,致力于抗擊疫情的一線服務工作中.社區(qū)醫(yī)院及衛(wèi)生檢疫機構的醫(yī)療廢物存放和垃圾處理等暴露的安全隱患是亟待解決的重要問題之一[1].現(xiàn)存的智能垃圾桶更加傾向于無接觸進行垃圾的處理,而針對后續(xù)垃圾桶內(nèi)病菌的防控與環(huán)衛(wèi)人員及時進行垃圾處理的問題仍有待解決[2-3].
為了有效防控桶內(nèi)殘留病菌的危害,本次設計以Arduino為主控核心,智能垃圾桶在感應到規(guī)定距離值內(nèi)有物體靠近時,會自動開蓋滿足廢棄物丟棄的條件,桶內(nèi)底部壓力傳感器監(jiān)測到垃圾時會實時顯示重量,當醫(yī)療人員丟棄完垃圾后,進行自動閉蓋,主控芯片會驅(qū)動水泵進行消毒液的噴灑.在實時監(jiān)測桶內(nèi)物品盈滿程度的同時,通過桶內(nèi)的重量及體積判斷是否滿足報警條件,從而提醒工作人員進行及時清理.與傳統(tǒng)垃圾桶相比,該垃圾桶更高效地提升了智能化與人性化程度,對醫(yī)院等特殊環(huán)境下醫(yī)療廢品的收集、從業(yè)人員的身心健康具有重要的現(xiàn)實意義.
本次設計的主體為Arduino UNO,它是整個系統(tǒng)的核心控制單片機系統(tǒng)總體設計如圖1所示.通過各個模塊之間的協(xié)調(diào)配合,主要實現(xiàn)了垃圾桶自動開閉蓋、自動消毒及滿溢報警等一系列功能.包含了超聲波測距模塊、壓力感應模塊、顯示模塊、水泵模塊、舵機模塊及蜂鳴器的警示[4].其中,超聲波的距離感應模塊用于提前感應是否有人向垃圾桶靠近,內(nèi)部的壓力傳感器模塊用于實時檢測垃圾桶內(nèi)的儲存垃圾是否或已經(jīng)超出系統(tǒng)預設的最大溢滿程度.
圖1 系統(tǒng)總體設計
顯示模塊主要是使用一塊LCD1602液晶字符顯示屏幕,它可以同時顯示32個字符,本次設計中主要利用液晶顯示屏進行桶內(nèi)重量的實時顯示[5].Arduino通過 D2-D4數(shù)字輸入引腳與 LCD1602 的 D12-D14 數(shù)據(jù)線相連.一般情況下使用10 k的電位器對比度進行調(diào)節(jié).LCD1602的第3、5、16腳接開發(fā)板GND;LCD1602第2、15腳接開發(fā)板5V;LCD1602的第4、6、12、13、14分別連接開發(fā)板數(shù)字引腳12、11、-3、2、4;電位器兩端引腳分別連接5V和GND.
本次設計采用的是超聲波HC-SR04傳感器.超聲波傳感器的技術規(guī)格如下:
探測距離:>30 cm;工作電壓:5 V;工作電流:15 mA;工作頻率:40 kHz.
超聲波HC-SR04傳感器的TRIG引腳發(fā)出至少10 μs的高電平信號.此時模塊向外自動發(fā)送8個40 kHz的方波.若前方有障礙物,則會返回信號.通過IO口ECHO接收輸入高電平,高電平持續(xù)時間則表示從發(fā)出到接收之間的時間.超聲波測距裝置公式為:
(1)
在本次垃圾桶的設計中,將距離值設置為30 cm,當超聲波傳感器監(jiān)測到30 cm內(nèi)時,模塊會將接收的信號通過Arduino進而傳遞給舵機模塊工作.
本次設計SG90舵機為主電機,接收機所接收的控制信號通過信號可調(diào)制芯片,從而得到直流偏置[2],同時它內(nèi)部會產(chǎn)生一個固定周期的基準信號,將所接收的直流偏置電壓與內(nèi)部所持有電壓進行比較,獲得兩者相差電壓的輸出.將電壓所輸出的差值輸入到電機的驅(qū)動芯片,從而決定電機的轉動方向.當兩者電壓差為0時,電機可通過級聯(lián)減速齒輪使其停止,而電機的轉動,則需要PWM信號的不斷發(fā)送.
本次設計采用的是HX711放大器傳感器.其中模塊HX711作為稱重傳感器,主要通過電壓輸出至主控芯片Arduino,通過主控芯片進行重量的計算[6]. HX711模塊將稱重傳感器的輸出放大,并將其低壓發(fā)送至Arduino,芯片根據(jù)數(shù)據(jù)計算重量,其內(nèi)部所帶的時鐘振蕩器不需要任何外接器件,實際應用中十分高效.
本次設計采用Arduino直接驅(qū)動繼電器,在接收到舵機關閉信號之后,延遲3 s輸入命令,間接對水泵抽水進行控制.利用繼電器對水泵進行控制的工作原理如圖2所示.其中,NC:常閉端 ;NO:常開端 ;COM:公共端;VCC:電源正極5 V ;GND:電源負極; IN:信號輸入端.NC口一般處于閉合狀態(tài).此時,若向繼電器IN口輸入低電平信號,負載一端接NO,形成閉合回路,負載開始工作.若對IN口進行高電平信號輸入,此時負載的一端進行NC連接且此時負載無法工作.此繼電器的IN信號引腳與Arduino 的D8引腳連接,當桶在關閉后會輸入一個信號給繼電器,及時通知繼電器此時應該進行驅(qū)動反應,對剛放入桶內(nèi)的物品實施消毒液噴灑,做到及時滅菌[7-9].
圖2 水泵工作原理
本次設計采用有源蜂鳴器,把輸入口放到了-10號口上;電壓接到5 V上,GND接地.感知到壓力傳感器的重量達到一定值時,蜂鳴器會接收信號,從而進行報警.
軟件程序的編寫采用C語言,工作流程如圖3所示.大致為:當程序開始工作時,首先系統(tǒng)會自動進行定時器和各連接引腳的初始化工作[8].通過壓力傳感器會實時反饋及顯示當下垃圾桶內(nèi)所含物品重量,檢測垃圾桶中重量是否滿溢,此時若垃圾桶內(nèi)并未達到滿溢狀態(tài),系統(tǒng)將會自動默認可繼續(xù)使用不作出反應;當檢測到前方有障礙物時,桶蓋則會自動打開,當投放完畢垃圾桶自動關閉時,桶內(nèi)會自動噴灑消毒液進行滅菌,如果檢測垃圾桶已經(jīng)滿溢,則會通過警示告訴工作人員處理垃圾.
圖3 主程序流程圖
程序首先進行初始化,傳感器的相應引腳輸出為低電平信號.模塊自動向前方發(fā)送 8 個 40 kHz的方波.此時當檢測到返回信號,接收口ECHO所對應的IO口可將接收到的信號輸入到主控芯片,此次設計的有效信號距離值為30 cm.若超聲波測距傳感器檢測到30 cm內(nèi)有障礙物,接收口ECHO會接收到信號進行自動開啟桶蓋,并當障礙物離開之后,維持3 s進行關閉.超聲波測距子程序如圖4所示.
系統(tǒng)進行初始化后開始檢測垃圾桶是否開啟,若垃圾桶未開啟,則水泵不工作[10].若垃圾桶開啟,則在開啟之后等待其閉蓋,在閉蓋之后,繼電器驅(qū)動水泵進行3 s的噴灑作業(yè),則可以達到相應的消毒作業(yè),水泵模塊子程序流程如圖5所示.
圖5 水泵子程序流程圖
本次實驗測試的數(shù)據(jù)通過Arduino的串口監(jiān)視器及串口繪圖器可以實時監(jiān)測數(shù)據(jù),進行外部障礙物距離的監(jiān)測及桶內(nèi)重量變化的監(jiān)測,圖6是在垃圾桶有外部障礙物靠近情況下距離值變化的實時監(jiān)測圖.
從圖6中可以觀察到距離值是在15 cm左右逐漸減少到5 cm距離值附近波動,此時超聲波引腳Trig向外發(fā)送脈沖信號,引腳ECHO進行信號的接收,監(jiān)測到前方障礙物在向垃圾桶靠近距離值的實時變化.
圖6 實時監(jiān)測距離值變化圖
為了保證實驗的客觀性,再次利用了Arduino串口繪圖器進行桶內(nèi)質(zhì)量變化的監(jiān)測.圖7是在軟件串口繪圖器的實時監(jiān)測情況下,壓力傳感器對桶內(nèi)質(zhì)量變化的顯示圖,可以清晰觀察此時垃圾桶內(nèi)重量情況.圖中顯示從無重量到壓力傳感器模塊監(jiān)測到實時重量的變化過程.
圖7 監(jiān)測重量值變化圖
從圖7中可觀察到此重量從0 g變化到232 g左右,這一過程變化數(shù)據(jù)實時反饋.我們可以通過串口進行實時監(jiān)視,此監(jiān)視器方便高效.此次系統(tǒng)數(shù)據(jù)的采集均通過串口監(jiān)視器以及串口繪圖器完成,經(jīng)過反復多次實驗,此端口監(jiān)測數(shù)據(jù)及時且高效,是值得信賴的數(shù)據(jù)采集串口.
本次設計以Arduino為主控核心,采用LCD1602液晶顯示實時重量、HC-SR04超聲波模塊進行測距、SG90舵機進行垃圾桶蓋的開啟、HT711壓力傳感器進行重量采集、水泵進行消毒液體噴灑以及蜂鳴器進行重量超額報警.此外硬件仿真采用了AltiumDesigner以及C語言程序設計.進行了實物制作,并且進行自動開蓋、噴灑消毒液、報警、顯示重量的實驗,均有效完成.實驗結果表明該智能垃圾桶應用性較強,具有良好的前景.