最近我真的开始爱我的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文章
481浏览量
28217 -
Arduino
+关注
关注
187文章
6461浏览量
186532
发布评论请先 登录
相关推荐
评论