怎样将语音控制添加到Arduino项目

电子说

1.2w人已加入

描述

最近我真的开始爱我的Arduino;通过基础教程,甚至制作了一个LED立方体,我已经准备好解决更复杂的事情。幸运的是,语音控制Arduino项目确实没有我想象的那么复杂-因此,您可以采用以下3种截然不同的方法。

使用OSX Automator和Speakable Items

我们做到这一点的一种方法是利用OSX中内置的现有语音命令实用程序。设置自定义命令以触发Automator动作很简单。 (如果您不熟悉Automator,请下载免费的PDF指南来实现Mac自动化!)

在Arduino代码方面,我们将使用详细的字符串缓冲区在这个Arduino论坛线程上–这使我们能够在串行通信中搜索确切的单词–没有这个,我发现数字,字节,和之间的类型转换字符串有问题。这是用于收听串行命令的完整Arduino代码,尽管您需要添加自己的命令和硬件来实际控制设备,因为这不在本Arduino项目教程的范围之内。如果您使用的是继电器,请记住它们需要能够处理 120-240vAC。。此外,如果您不熟悉所有这些,请务必先阅读我们的初学者Arduino指南。

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串行监视器发送命令来“启动” Arduino,然后一切正常。如果有人知道为什么会这样,我很想听听。

下一步,打开 Automator 并创建一个新的 Application 。找到运行Shell脚本操作,将其添加并粘贴到串行命令中以打开灯。

将其保存到库/语音/可口项目中文件夹,其中包含您要触发操作的文字-在我的情况下为“亮起”。

Arduino

然后,启用可说出的命令通过 Accessibility (首选项)面板。

Arduino

2009年的本教程仍然有用,但基本上您想启用“全球可口物品” 。

Arduino

这是所有功能的演示。

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分