作品名稱:基于RPI的智能家居垃圾桶
學校名稱:煙臺大學
參賽隊伍:一“桶”天下—基于RPI的智能家居垃圾桶
參賽學生:王晨昭 曹中才 崔明月
指導老師:陳素 張春萍
1. 開發背景 隨著現代科技的不斷發展,智能控制技術日益成熟,物聯網與智能家居開始不斷出現在人們的視線中。在現代家居生活中,人們越來越注重各種生活產品的智能化、合理化和人性化。我們團隊基于目前智能垃圾桶的使用現狀,開發了一款全新的與眾不同的智能家居垃圾桶,可實現應聲而來、自動翻蓋等功能,以解決扔垃圾不便的問題。 2.設計思路 (1) 電路布線設計思路 在設計思路上,注重機電一體化、智能化,將純機械結構與單片機智能控制有機結合,單片機的模塊化優點使我們能夠以普通的智能小車為平臺,增添或改進其功能,實現我們所預想的功能。 本作品在控制系統上采用模塊化的設計,利用Arduino Mega2560單片機以及樹莓派各個模塊集成在一起,使整體功能得以實現。對應其模塊化的優點,我們根據設計的功能選擇不同模塊,實現產品的快
|
速更新迭代。 (2)控制系統設計思路
3.設計方案 1. 聲音采集:由ReSpeaker Mic Array采集聲音,運用DOA算法估算聲源方位 2. 語音離線喚醒:采用Snowboy語音引擎,訓練自定義喚醒詞模型 3. 語音識別:使用百度智能云的語音識別接口開發語音助手 4. 電機驅動:由Arduino Mega2560產生PWM控制信號驅動電機工作。 5. 安全剎停:以超聲波傳感器探測障礙距離,及時剎停以避免碰撞。 6. 安全預警:采用攝像頭獲取信息,進行人臉識別,對檢測到的人臉信息進行郵件反饋預警 7. 藍牙控制:使用藍牙模塊,通過軟串口對底盤進行移動控制 8. 手機APP:自主開發手機APP,對智能垃圾桶進行自定義化控制 9. 自動翻蓋:采用超聲波模塊和舵機,當檢測到扔垃圾動作時控制舵機進行翻蓋動作 10. 測滿預警:采用超聲波模塊檢測垃圾桶內垃圾高度,當達到一定高度后進行報警 4.設計原理 電機驅動模塊根據Arduino Mega2560控制器輸出的控制信號驅動電機的運行。由Arduino Mega2560產生兩路PWM波,通過L298N電機驅動芯片控制兩個直流電機,分別驅動左輪和右輪。直走時兩路PWM波頻率相位相同,當需要轉彎時,改變PWM波控制相應的電機反轉,另一電機正轉。兩邊形成差速即可實現轉向。調整反轉的的時間,可以控制轉彎角度,改變PWM波的占空比可以控制底盤的速度。 利用超聲波模塊檢測距離,設置兩個超聲波模塊。一個放置于桶蓋上,檢測垃圾桶內部的垃圾高度,以此判斷垃圾桶是否裝滿,通過桶底下部指示燈提醒人們是否需要倒垃圾。另一個放于桶身外部,通過是否被遮擋來判斷是否有扔垃圾動作,當有扔垃圾動作時控制舵機打開桶蓋。 自制手機APP,通過藍牙與垃圾桶底部放置的藍牙模塊連接,當按動手機APP內的按鍵時,將通過串口向垃圾桶發送信息,以此控制垃圾桶的移動。 利用攝像頭捕獲視頻信息,進行人臉識別處理,檢測是否有人出現在垃圾桶附近,并將檢測到的人臉信息通過QQ郵箱的POP3/SMTP服務發送到指定郵箱,以此來達到報警的目的。 通過四麥克風陣列獲取聲源信息,利用Snowboy喚醒詞引擎監聽,當監聽到喚醒詞后,調用內置算法將喚醒詞的聲源信息轉化成角度信息發送給下位機,下位機接收后經內置算法處理控制底部執行機構到達聲源位置。喚醒之后繼續監聽后續聲音信息,通過百度智能云的語音識別接口處理,實現智能語音交互助手功能。 聲源轉化算法解釋: 假設是聲音信息為遠場平面波,要求得θ值,其實就是要求兩個陣元接收到的信號時間差,所以問題可以轉化成求解聲音被不同麥克風元件接收的時間差。為此我們采用基于延時估計的DOA方法求解,先進行延時估計,然后即可將角度求解。當接收到求得的角度值之后,便可通過角度值求得底盤做圓周運動的速度,進一步可轉換成在一定速度下求轉向時間的問題。已知電機轉速n、輪胎半徑r、底盤做圓周運動的半徑R,即可求得底盤做圓周運動的速度:V=(θ*R)/(2*pi*n*r)通過V即可將獲得的角度轉換成在一定轉速n下的電機運行時間,使底盤正向面聲源位置,為垃圾桶向聲源移動奠定基礎。
|