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

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

dgx6664周前 (05-10)文章中心4

一、材料准备

硬件部分

序号

材料名称

单位

参考价格(块)

备注

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舵机” 的相关文章

CAD启动太慢了?只需一键关闭这些按钮,即可快速启动CAD

工作紧急时,CAD不给力怎么办?启动太慢了,每次启动都要等上好半天,真的超级忧伤... 别急,想要快速启动CAD其实是有诀窍的。你只要学会下面这几招即可快速启动你的CAD了,那么下面我们就一起来看看吧。一、关闭通讯中心和联机帮助中心想要快速启动CAD,只要关闭通讯中心和联机帮助中心就行了。那么通讯中...

安装CAD时,出现1308错误,怎么解决?看完本文你就知道

CAD出现1308错误怎么办?AutoCAD 一种计算机的辅助设计软件,但是打开CAD软件的时候提示错误1308,源文件未找到,因此无法继续安装AutoCAD软件,那么遇到安装AutoCAD出现1308错误问题时该如何解决呢?往下看!1、桌面空白处点击右键,弹出如下对话框,点击新建选项2、点击新建选...

CAD高版本图纸打不开,用它解决

相信用过autoCAD的人都遇见过高版本打不开低版本的图纸这个情况,这个时候通常就需要找一个版本转换器,这里就告诉大家一个不用找转换器的方式用到的操作软件:CAD梦想画图,点此进入官网。解决的问题操作步骤1.打开需要转换的图纸,点击上方“功能-高级工具”随后弹出高级工具条在里面找到“DWG版本转换”...

「AutoCAD之快捷工具」CAD自带黑科技Express Tools (ET)概述

【AutoCAD之快捷工具】CAD自带黑科技Express Tools (ET)概述神秘的安装选项CAD中有一个"犹抱琵琶半遮面"的家伙从AutoCAD 2006开始在安装软件时出现了一个叫做"express tools"的拓展选项在安装的过程之默认为:"不安装"(在此顺便鄙视一下那些强制安装、隐藏...

cad比例因子是什么意思?如何设置和修改?

有网友询问cad比例因子的含义。在cad教程中,有关于修改比例因子的相关内容,也有关于cad修改图形比例的内容。然而,对于一些初学者来说,可能不清楚cad比例因子的含义以及如何修改它。这里天正CAD林老师会给你详细分析cad中的比例因子是什么意思,具体内容如何修改。一、cad比例因子是什么意思?比例...

桌面便签怎么设置提醒,哪个备忘录便签好?

  2024年终于开工了,第一天上班比较迷茫,不知道做什么比较好,这个时候如果有一款简单好用且可提醒的桌面便签软件该多好。那么,桌面便签怎么设置提醒,哪个备忘录便签好?  桌面便签怎么设置提醒,哪个备忘录便签好?功夫不负有心人,找了好多个终于找到了一款叫好用便签的电脑桌面便签软件,不仅设计简单,而且...