摘 要:本文介紹了設計一種垃圾分類語音系統,主要由安裝在垃圾桶把手處的壓力傳感器,檢測放大器,中央處理器,語音識別器,語音輸出端,語音測試端以及供電電源組成;以實現語音提示,垃圾桶自動開合,垃圾自動分類等主要功能。
關鍵詞:語音提示 自動開合 垃圾分類
中圖分類號:G642 文獻標識碼:A 文章編號:1672-1578(2018)01-0054-02
1 引言
隨著垃圾產量日益增長。其引發的環境問題日益突出。面對垃圾泛濫成災的局面,世界各國的視線已經不停留在如何控制和銷毀垃圾的問題上,而是采取積極的態度和有利的措施進行科學的處理,回收利用垃圾,實現資源的重復利用。歐美、日本等發達國家已實行垃圾分類政策多年,但垃圾分類主要依靠于人工分揀,分類過程繁瑣。2015年4月,國家發改委、住建部、財政部、環保部、商務部聯合印發通知,確定南通、南京、蘇州等26個城市(區)為第一批生活垃圾分類示范城市(區)。“十二五”期間,市委、市政府決定,在南通市區范圍內率先啟動生活垃圾分類試點,將生活垃圾分類管理列為生態文明建設重點范圍,力求通過開展生活垃圾分類管理,提高垃圾資源化處置管理水平,促進循環經濟發展。因此生活垃圾分類,勢在必行。
因此如何通過垃圾分類管理,最大限度地實現垃圾資源的利用,減少垃圾處置量,改善人類生存環境質量,是當前世界公共關注的問題。本文所設計的垃圾分類語音系統,通過設置語音系統能夠有效提高垃圾分類的準確性,還能起到智能開啟垃圾桶的效果。
2 總體設計
本文設計的垃圾分類語音系統能夠實現語音提示以及垃圾分類,防止垃圾誤放的能力,包括安裝在垃圾桶把手處的壓力傳感器,檢測放大器,中央處理器,語音識別器,語音輸出端,語音測試端以及供電電源;供電電源將電源電壓轉換成各個部件所需要的電壓并給各部件供電,壓力傳感器與檢測放大器電連接,檢測放大器與所述中央處理器電連接,中央處理器與所述語音識別器電連接,中央處理器用于根據壓力傳感器信號判別垃圾桶是否打開,通過串口通訊給語音識別器發出播放相應語音命令;語音識別器分別與語音輸出端及語音測試端電連接,語音輸出端將語音識別器播放的語音段電信號轉換成聲波,語音測試端利用按鍵測試語音識別器是否工作正常。
當用戶手握把手并打開垃圾桶蓋時,傳感器模塊感應打開垃圾桶蓋的壓力或振動,并將壓力或振動信號轉換成電信號,經放大濾波比較等,然后將處理后信號送入CPU模塊,通過程序控制與判斷,得出垃圾桶蓋打開,然后通過串口發出命令給語音模塊播放相應語音,告知用戶投放哪種類型的垃圾,以便起到更好的垃圾分類效果。總體設計框圖如圖l所示。
3 控制部分硬件電路設計
樣機采用典型sTC89C51型單片機,控制電機運轉,實現垃圾桶自動開合、檢測分類、語音提示等主要功能。控制電路原理圖如圖2所示。從功能模塊的角度,可以將垃圾分類語音系統分為五個主要模塊。各模塊具體功能如下:
(1)電源模塊:電源是保證機器人穩定、可靠運行的關鍵部件,它直接影響著機器人性能的好壞。將電源電壓轉換成各個部件所需要的電壓并給各部件供電。電機電源采用穩壓電源模塊,通過電源穩壓芯片如7805等,轉換成系統要求的5V直流,并整流濾波使電壓穩定。
(2)語音模塊:語音識別器分別與語音輸出端及語音測試端電連接,語音輸出端將語音識別器播放的語音段電信號轉換成聲波,語音測試端利用按鍵測試語音識別器是否工作正常。
(3)壓力傳感器模塊:壓力傳感器通過感應打開垃圾桶蓋時觸摸產生的壓力與振動,并將壓力與振動信號轉成成電信號,送給檢測放大器。
(4)檢測放大器模塊:檢測放大器將壓力傳感器輸出信號進行濾波放大整形,使之符合CPU模塊識別要求。
(5)CPU模塊:中央處理器用于根據壓力傳感器信號判別垃圾桶是否打開,通過串口通訊給語音識別器發出播放相應語音命令。
4 軟件程序設計
本設計在keil環境中采用C語言編程:
//c語言源程序
#include
typedef unsigned char uint8;
sbit KEY1=P1^7;
uint8 First[]={0x7E,0x04,0x03,0x00,0X01,0xEF};
/*UART初始化 波特率:9600*/
void UART_init(void)
{
SCON = 0x40; // 10位uart,允許串行接受
TMOD = 0x20; // 定時器1工作在方式2(自動重裝)
TH1 = 0xFD;
TL1 = 0xFD; //設置波特率為9600
TR1 = 1;
}
/*外中斷0下降沿觸發,并打開總開關、分開關*/
void int0_init(void)
{
IT0 = 1;
EA = 1;
EX0 = 1;
}
/*UART 發送一字節 入口參數uint8的數據類型 即要發送的數據*/
void UART_send_byte(uint8 dat)
{
SBUF = dat;
while (TI == 0);
TI = 0;
}
/* UART 發送字符串
第一個參數要發送字符串或數據的首地址
第二個參數是要發送的數據或字符串的長度*/
void UART_send_string(uint8 *buf,uint8 len)
{ uint8 i;
for(i=0;i UART_send_byte(*buf++); } void delay(void) { unsigned int j; for(j=0;j<10000;j++); } void my_int0() interrupt 0 { EX0 = 0; UART_init(); UART_send_string(First,6); KEY1 = 0; delay(); KEY1 = 1; EX0 = 1; } main() { int0_init(); } ;匯編語言源程序 ORG 0000H LJMP MAIN ORG 0003H LJMP MY_INT0 ORG 0100H MAIN: SETB IT0 ;下降沿觸發中斷0 SETB EA SETB EX0 SJMP $ MY_INT0: CLR EX0 LCALL FASONG CLR P1.7 ;亮燈示意指令發送完畢 LCALL DELAY SETB P1.7 SETB EX0 RETI FASONG: MOV SCON, #40H ;串口為工作方式1 MOV PCON, #00H ;SMOD=0,波特率不倍增 MOV TMOD, #20H ;定時器1工作模式2 MOV TH1, #0FDH MOV TL1, #0FDH ;11.052MHz,9600bps SETB TR1 CLR A MOV R7, #06H MOV DPTR, #TABLE LOOP: MOVC A,@A+DPTR MOV SBUF, A JNB TI, $ ;等待發送完畢 CLR A CLR TI INC DPTR DJNZ R7, LOOP CLR TR1 RET DELAY: MOV R6, #01H L0: MOV R5, #0FFH L1: MOV R4, #0FFH DJNZ R4, $ DJNZ R5, L1 DJNZ R6, L0 RET TABLE: DB 7EH, 04H, 03H, 00H, 01H, 0EFH ;播放第一首歌 END 5 結語 本設計通過設置語音系統能夠有效提高垃圾分類的準確性。有助于樹立正確的垃圾分類的觀念,起到很好的引導和管理作用,并且系統的智能化程度高,并有助于節能環保。 參考文獻: [1] 樊綱.低碳城市在行動[M].北京:中國經濟出版社,2011. [2] 王子彥.中國城市垃圾分類回收的問題及對策[J].生態經濟,2009. [3] 徐金龍.城市生活垃圾管理的國際經驗[J].生態經濟,2012. 作者簡介:薛小晶(1982-),女,南通科技職業學院講師,主要從事機電專業教學研究。