最近我真的開始愛我的Arduino;通過基礎教程,甚至制作了一個LED立方體,我已經準備好解決更復雜的事情。幸運的是,語音控制Arduino項目確實沒有我想象的那么復雜-因此,您可以采用以下3種截然不同的方法。
使用OSX Automator和Speakable Items
我們做到這一點的一種方法是利用OSX中內置的現有語音命令實用程序。設置自定義命令以觸發Automator動作很簡單。 (如果您不熟悉Automator,請下載免費的PDF指南來實現Mac自動化!)
在Arduino代碼方面,我們將使用詳細的字符串緩沖區在這個Arduino論壇線程上–這使我們能夠在串行通信中搜索確切的單詞–沒有這個,我發現數字,字節,和之間的類型轉換字符串有問題。這是用于收聽串行命令的完整Arduino代碼,盡管您需要添加自己的命令和硬件來實際控制設備,因為這不在本Arduino項目教程的范圍之內。如果您使用的是繼電器,請記住它們需要能夠處理 120-240vAC。。此外,如果您不熟悉所有這些,請務必先閱讀我們的初學者Arduino指南。
接下來,下載此Arduino-serial實用程序,使我們能夠從命令行或Shell腳本直接與Arduino通信。將其放在用戶目錄的根目錄中,然后打開一個終端會話,然后鍵入:
make arduino-serial
為您的系統編譯軟件包。
此實用程序的用法相當簡單,但是出于我們的目的,首先輸入
ls /dev/tty.*
以弄清您的Arduino處于哪個端口(USB端口)。然后要發送命令,請使用:
。/arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
將/dev/tty.usb~ 替換為您找到的與Arduino相連的USB端口的確切名稱。請參閱原始頁面,以獲取更多使用示例,包括獲取返回值,但是現在可以使用。
我確實發現的一件事是,我必須先使用 Arduino串行監視器發送命令來“啟動” Arduino,然后一切正常。如果有人知道為什么會這樣,我很想聽聽。
下一步,打開 Automator 并創建一個新的 Application 。找到運行Shell腳本操作,將其添加并粘貼到串行命令中以打開燈。
將其保存到庫/語音/可口項目中文件夾,其中包含您要觸發操作的文字-在我的情況下為“亮起”。
然后,啟用可說出的命令通過 Accessibility (首選項)面板。
2009年的本教程仍然有用,但基本上您想啟用“全球可口物品” 。
這是所有功能的演示。
Easy VR Shield(硬件)
EasyVR是一個附加的硬件保護罩,它首先對您預先錄制的語音樣本進行編碼,然后使用基于硬件的解決方案對它們進行模式匹配。設置有些復雜,每個命令僅響應單個語音標記,但是如果您希望項目獨立于計算機,則這是最全面的選擇。 EasyVR Shield在英國的CoolComponents售價35英鎊,在美國的SparkFun售價50美元。這是一個實際的屏蔽演示以及編碼過程:
通過Ruby的SiriProxy
如果您已經越獄了具有Siri功能的iPhone,那么Siri Proxy是一種很好的控制方法手機的語音識別功能。 SiriProxy是一個Ruby應用程序,它偵聽被識別并發送到Apple服務器的命令;添加與Arduino通訊的方式,您便有了 SiriProxy-Arduino 。唯一的缺點是您需要將一個特殊的草圖上載到實現Ruby API的Arduino,因此您需要對其進行調整,或者在計算機端用Ruby編寫所有代碼。
責任編輯:wv
-
語音控制
+關注
關注
5文章
484瀏覽量
28261 -
Arduino
+關注
關注
188文章
6471瀏覽量
187293
發布評論請先 登錄
相關推薦
評論