当前位置:首页 > 文章中心 > 正文内容

语音控制垃圾桶教程;LD3320串口版语音识别+UNO开发板+sg90舵机

dgx6667个月前 (05-10)文章中心27

一、材料准备

硬件部分

序号

材料名称

单位

参考价格(块)

备注

1

LD3320串口版语音识别模块+USB转TTL烧录工具

56

一定要买串口版的,SPI版本的我没搞好。

2

Arduino uno 开发板

15

买一个

3

SG90舵机

6

买一个,(可以在买个小垃圾桶,我只是模拟就没花钱买)

4

杜邦线

若干

10

公对公、母对母、公对母每个10条绝对足够

5

一台windows电脑

/


软件部分

序号

软件名称

用途

备注

1

Keil uVisiion5

是给LD3320串口版语音识别模块编写代码,设置唤醒词以及指令。

都有现成的代码直接改。

2

stc-isp v6.87C

是把编写后的代码烧录(下载)LD3320串口版语音识别模块里面。

要安装CH340驱动,需要把USB转TTL烧录工具插到电脑上进行安装。否则安装会失败。

3

Arduino IDE

是给Arduino uno 开发板编写程序以及烧录(下载)程序。

烧录完成后,记得打开串口监视器,看看发出的指令有没有识别到。可以重新插拔板子。

二、实现内容

接下来按照我的流程一步一步往下走,就能实现,我也是0基础,所以一定按照我的思路来,等你实现了,再按照你自己的思路拓展。硬件部分自己准备,软件部分可以问我要且提供支持。一般买硬件后,商家都会提供软件部分。

实现步骤:LD3320串口版语音识别模块调试好-->接入Arduino uno 开发板-->测试-->完成。

1、LD3320串口版语音识别模块和USB转TTL烧录工具

1)先把USB转TTL烧录工具插入到电脑,找到CH340驱动(不好找问我要),安装,完成。

2)USB转TTL烧录工具需要和LD3320串口版语音识别模块连接,接线图如下:

3)USB转TTL烧录工具接到LD3320串口版语音识别模块后插入到电脑,准备编写代码和烧录程序。

4)打开Keil uVisiion5软件和示例代码,示例代码我们只需要修改main.c和LDChip.c,先打开LDChip.c,如下图。我们只需要再圈红的地方修改语音指令就可以,第一个是唤醒词,我设置的是小五、第二个是打开垃圾桶、第三个是关闭垃圾桶,只识别拼音,一定要写拼音。

再打开main.c文件,修改上述内容,跟着我做,先别着急理解他。

完成后,编译完成。记得编译后的软件存放位置,后续进行烧录的时候,需要选择到它。


5)使用stc-isp v6.87C软件把编译后的代码烧录到LD3320串口版语音识别模块。

先点击“检测MCU选项”是为了自动识别单片机型号和串口号以及波特率,如果失败多点击几次。

点击“打开程序文件”选择.hex后缀的文件见下图示,然后点击下载/编程。如果太慢,可以点击停止后在点击下载/编程。完成。

6)测试LD3320串口版语音识别模块是否正常,重新插拔后,把Arduino IDE打开,再找到串口监视器,对板子上的咪头说小五,正常他会返回5,打开垃圾桶会返回6,关闭垃圾桶会返回7。如果测试正常,这一步就完成了。

2、Arduino uno开发板烧录程序

1)打开Arduino IDE工具,把示例代码复制进去。

#include <Servo.h>

Servo myservo;// 创建一个 Servo 舵机对象
int servoPin = 9; // 定义数字引脚 9

void setup() {
  Serial.begin(9600);
  myservo.attach(servoPin);  // 舵机机连接到数字引脚 9
  myservo.write(0); // 将舵机转到 0 度位置
  Serial.println("系统就绪,等待语音指令...");
}

void loop() {
  if (Serial.available() > 0) { //是 Arduino 的一个函数,用于检查串口缓冲区中是否有可用的数据。如果返回值大于 0,表示有数据可读。
    // 读取指令并清空缓冲区
    int command = Serial.read(); //从串口缓冲区中读取一个字节的数据(ASCII 值),并将其存储到变量 command 中。
    while(Serial.available() > 0) Serial.read(); // 清空缓冲区

    Serial.print("收到原始指令:");
    Serial.println(command);

    // 如果LD3320发送二进制数值(6/7/8)
    if (command == 54) {
      Serial.println("执行指令6(打开垃圾桶) → 舵机转到150度");
      myservo.write(150);
    }
    else if (command == 55) {
      Serial.print("执行指令");
      Serial.print(command);
      Serial.println("执行指令7(关闭垃圾桶) → 舵机转到0度");
      myservo.write(0);
    }
  
    else {
      // Serial.print("未知指令:");
      // Serial.println(command);
    }
    delay(15); // 统一延迟15毫秒
    Serial.println("等待下一条指令...");
  }
}

2)Arduino IDE连接Arduino uno板子,通过usb线连接电脑插上板子之后,勾选正确的板子型号和端口,不知道端口的可以到“电脑的设备管理器”查看。

3)验证及上传,先点击验证,看输出内容没问题的话,就点击上传板子,知道IDE提示上传完成。然后板子重新插拔。完成。

3、Arduino uno开发板和LD3320串口版语音识别模块和SG90舵机接线

1)其中sg90舵机橙(信号)接到Arduino uno开发板的9号引脚。


以上完成后,通电,呼叫xiao wu ,发出打开垃圾桶指令。舵机就会转动150°;

先不上视频了,有需要的后期再录视频。

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/1458.html

标签: ch340驱动
分享给朋友:

“语音控制垃圾桶教程;LD3320串口版语音识别+UNO开发板+sg90舵机” 的相关文章

公文字体探究:必须用仿宋_GB2312?

答:只规定了正文用仿宋,至于是仿宋、仿宋_GB2312、华文仿宋、方正仿宋还是仿宋GBK,则并没有强制规定,用哪一种都可以,只有习惯性运用。一、先简单说说公文字体的基本规定:标题为小标宋2号,与正文间空一行。正文为3号字,除了一级标题为黑体、二级标题为楷体以外,其他均为仿宋。页码居底部外端两侧,左右...

AUTO CAD2014 激活错误处理办法

我们在安装CAD的时候,在序列号和产品密钥都正确的情况下,但就是激活不了,这是怎么回事呢?下面的方法可以给以参考,实验是可以的。这种情况的出现,多数是因为我们安装了两套或多套CAD软件造成的,第一套CAD软件可以正常激活,第二套为什么就不可以了呢....方法如下:针对证书授权错误0015.111的解...

日常生活中事情太多,记录很重要,win10电脑桌面如何添加备忘录

电脑桌面备忘录Win10如何给桌面添加备忘录?在我们的日常生活中,我们经常记录重要的事情来提醒我们不要忘记。在Win10系统中,我们还可以在桌面上添加备忘录,时刻提醒我们。那么我们该怎么办呢?下面,小编给大家分享一下Win10桌面添加备忘录的具体操作方法。1.点击开始菜单,点击设置图标,进入设置界面...

国内首款自主研发三缸:升仕703F摩托车发布,4.38万元起

IT之家 4 月 29 日消息,感谢IT之家小伙伴 @小猪不配骑 提供的线索,广东大冶摩托车官宣推出升仕 703F 车型,升仕 703F 21 寸高座版现已在官网开售,定价 4.38 万元起。升仕 703F 号称是国内首款自主研发三缸摩托车,官方还表示“不是那种照片发布、PPT 发布、模型发布或发句...

详解程序文件.DLL和.EXE 文件的区别

#.DLL 和 .EXE 文件的区别#.DLL(动态链接库)和 .EXE(可执行文件)是两种常见的文件类型,它们都属于 Windows 操作系统下的二进制文件,但有一些显著的区别:1.用途o .EXE(Executable File,执行文件):.EXE 文件是一个可执行程序,通常用来启动应用程序。...

恶意文件携带驱动人生数字签名,混淆视听执行后门

在现代数字化领域中,数字签名借助先进的加密技术,为文件和数据披上了一层坚固的“防护衣”,确保软件的完整性和来源的可靠性,极大地提升了软件的安全性。但是随着数字签名技术的广泛应用,一些安全检查也可能因此“放松警惕”,放过大部分带有数字签名的软件,为攻击者留下可乘之机。因为攻击者可以巧妙地利用数字签名,...