0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2019-12-02 16:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近我真的开始爱我的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,然后一切正常。如果有人知道为什么会这样,我很想听听。

下一步,打开 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

    文章

    510

    浏览量

    29556
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195959
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用 LinkBoy 程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板

    以下是使用 LinkBoy 程序导出为 C 语言代码并烧录至 Arduino ESP32 开发板的详细步骤指南: 一、准备工作 ✅ 硬件需求: 项目 要求 开发板 Arduino E
    发表于 10-16 12:41

    rt_printf相关组件怎么添加

    查询到printf相关两个组件,点击添加时提示如图,请教如何添加到项目中。
    发表于 10-09 07:24

    如何“同步scons 配置至项目”功能添加到编译步骤中?

    我想将rt-thread studio的“同步scons配置至项目”功能添加到编译前步骤中 但是我不知道这个功能执行了什么指令,在构建前步骤中应该输入什么指令,用”scons”命令无法实现
    发表于 09-22 07:39

    项目实战】基于Hi3861的鸿蒙智能小车(循迹、超声波避障、远程控制语音控制、4G定位)有教程代码

    入门鸿蒙物联网找不到“落地”项目——要么功能简单练不到核心,要么资料零散易半途而废。本次【项目实战】聚焦基于Hi3861的鸿蒙智能小车,整合了循迹、超声波避障、远程控制语音交互和4G
    的头像 发表于 09-10 17:13 927次阅读
    【<b class='flag-5'>项目</b>实战】基于Hi3861的鸿蒙智能小车(循迹、超声波避障、远程<b class='flag-5'>控制</b>、<b class='flag-5'>语音</b><b class='flag-5'>控制</b>、4G定位)有教程代码

    如何移除意外添加到项目中或不再需要的板级标注

    在原理图文档中调用 Board Level Annotation Command 时,项目目录中会创建一个特殊文件,文件名包含项目名称及 .ANNOTATION 扩展名。此文件一旦创建,会影响标识符的显示和处理方式。目前无法通过自动化方式移除该文件,本文
    的头像 发表于 08-25 11:11 950次阅读

    VScode使用STM32CUBE CLT如何添加静态库.a文件到工程中?

    我使用VScode搭配ST的插件基于Cmake来编译和调试程序,我感觉非常方便。但是遇到一个问题,我不知道如何把.a后缀的静态库文件添加到工程中。有没有大佬可以帮忙解决一下。
    发表于 08-12 07:36

    语音控制模块工作原理

    语音控制芯片或者说模块的应用前景越来越广泛,无论是设计方案还是厂家生产的产品在越来越多越来越频繁的使用语音控制芯片。当然行业内更多的是称呼为语音
    的头像 发表于 06-17 11:49 989次阅读
    <b class='flag-5'>语音</b><b class='flag-5'>控制</b>模块工作原理

    ArkUI-X添加到现有Android项目

    aar包 在应用工程初始化ArkUI-X 通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分 继承调用
    发表于 06-04 22:35

    ArkUI-X添加到现有Android项目

    aar包 在应用工程初始化ArkUI-X 通过Android studio 创建一个应用工程,将我们上述的aar包添加到工程目录下的libs目录中 Application部分 继承调用
    发表于 05-28 22:44

    ESP32驱动MFRC522 RFID模块读写IC卡数据

    本文介绍ESP32开发板驱动MFRC522 RFID模块,读取RFID卡原始数据、获取RFID卡的UID,并将个人数据添加到RFID卡中。
    的头像 发表于 05-28 15:52 696次阅读
    ESP32驱动MFRC522 RFID模块读写IC卡数据

    如何VCP功能添加到UVC应用程序代码中?

    我正在尝试 VCP 功能添加到 UVC 应用程序代码中。 我的平台是CYUSB3011-BZXC UsbUart 示例代码已添加到现有的 UVC 应用程序中。 初始化和主循环
    发表于 05-16 06:41

    如何ENWF9408AVEF Wi-Fi模块添加到1064EVK wifi_cli SDK项目中?

    如何 松下 ENWF9408AVEF (NXP 88W8977) Wi-Fi 模块添加到 1064EVK wifi_cli SDK 项目中? 使用不同的 88W8977 定义初始化失败
    发表于 04-02 07:50

    S32K344LPUART6添加到Uart_example产生硬故障怎么解决?

    我尝试添加一个串行端口 (LPUART_6),以便能够通过 S32K3x4EVB-T172评估板上的串行转 USB 适配器输出消息。 我正在使用:S32DS 3.6.0、S32Kxx 开发
    发表于 03-20 07:25

    开源项目!基于Arduino控制的六足机器人

    前需通过PS2手柄\"SELECT\"键所有舵机居中(90度位置),详见步骤5图示。 步骤3:电子系统 核心电子元件包括: Mega 2560开发板(Arduino兼容
    发表于 03-03 11:25

    网络语音控制器的原理与应用

    随着科技的飞速发展,网络语音控制器作为一种新兴的技术产品,已经在各个领域展现出了其巨大的应用潜力和价值。网络语音控制器是一种人机系统中以语言驱动的
    的头像 发表于 02-20 18:16 814次阅读