想想看,如果拍拍手就能控制電燈、窗簾的開與關,或是更進階的控制,會不會帶給我們在生活上更多的不一樣呢?聲音可否也能像紅外線、無線電一樣成為廣泛的控制方法呢?本文就來介紹如何實現此一作品。

聲音天生就是生物間用來溝通及傳輸訊息的媒介,但用來作為控制方面的使用卻有些問題,環境中有著各式各樣的聲音,這都會成為接收器誤判的雜訊,此次作品的重點課題之一就是如何加強接收器的可靠性;另一方面成本也是另一個重點,所以就採用市面上販賣的聲音感測模組,這個感測模組僅能偵測聲音的有無,對於超過一定程度的聲音是無法判斷其強度大小,也無法辨識聲音的不同頻率。

首先就來介紹這次作品的基本架構,如下:

 %E8%81%B2%E6%8E%A7IO-%E6%8B%8D%E6%8B%8D%E6%89%8B_%E9%9B%BB%E8%B7%AF%E5%9C%96.jpg


拍手2次LED就會亮/暗,由於是簡單的設計,因此無法避免環境聲音所造成的干擾,只要聲音大於聲音感測模組的設定,且連續2次就會使得LED亮/暗,所以基本上來說此並不是一個好設計,其程式碼如下:

 %E8%81%B2%E6%8E%A7IO-%E6%8B%8D%E6%8B%8D%E6%89%8B_%E7%A8%8B%E5%BC%8F%E7%A2%BC_1.jpg 

%E8%81%B2%E6%8E%A7IO-%E6%8B%8D%E6%8B%8D%E6%89%8B_%E7%A8%8B%E5%BC%8F%E7%A2%BC_2.jpg 


為了改善前述設計的缺點,因此後續做了些改變,概念如下:

%E6%8B%8D%E6%8B%8D%E6%89%8B%E6%94%B9%E8%89%AF%E7%89%88.bmp  


其改變主要是設定當第一次拍手時,程式會開始啟動時間計時,同時記錄此時間,當第二次拍手時,程式也會記錄此時間,並將第二次拍手的時間減去第一次拍手的時間,若兩者的時間差是在設定的區間範圍內,則LED點亮/暗;反之,LED不動作。以實測來看,此已具有相當不錯的可靠性,若增加拍手的次數及期間的時間差,則更能進一步地提高可靠性,不過同時你也得提高拍手的準確性,不然拍多了手可是會痛的


%E8%81%B2%E6%8E%A7IO-%E6%8B%8D%E6%8B%8D%E6%89%8B_%E5%AF%A6%E7%89%A9.jpg 





Yan ~ 生活日記 發表在 痞客邦 PIXNET 留言(0) 人氣()