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

如何將VCP功能添加到UVC應(yīng)用程序代碼中?
如何將ENWF9408AVEF Wi-Fi模塊添加到1064EVK wifi_cli SDK項目中?
S32K344將LPUART6添加到Uart_example產(chǎn)生硬故障怎么解決?
開源項目!大佬教你 DIY 臺式電源
開源項目!基于 Arduino 的 MIDI 架子鼓
基于Arduino的串口通信項目
KiCad 7中添加網(wǎng)絡(luò)類(一)

如何使用Arduino實現(xiàn)CAN總線通信
開源項目!基于Arduino做的“魷魚游戲”BOSS面具,支持動作檢測
芯片知識:如何將語音精確燒錄至語音芯片

評論