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

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

dgx6663个月前 (05-10)文章中心9

一、材料准备

硬件部分

序号

材料名称

单位

参考价格(块)

备注

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设计零基础入门到精通【全套自学视频教程】使用天正画建施图之后,想使用立体的三维图像检查图纸,查看三维效果,但是却不知道怎样操作,或者是操作之后,不知道怎样还原成原来的平面图,下面图文给你带来三维查看和还原的方法。1.这里以天正2014为例,打开一张绘制好的平面工程图纸...

AUTO CAD2014 激活错误处理办法

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

AutoCAD 软件介绍、软件安装

第一章 AutoCAD入门必读本章目标& 了解AutoCAD的含义、应用领域及发展历程& 实操软件安装与注册& 掌握界面组成及应用& 掌握命令操作方法& 熟记选取图形的几种方式并应用& 实操坐标输入与动态输入内容讲解:第1天——兴趣启发,原来黑底白线的CAD可以这样有意思。今天,展英飞来找老师补习功...

我们提供CAD ET工具安装步骤并对其汉化,也找到安装不成功的原因

封面有点想笑,每次用到CAD的ET工具总会想到电影ET外星人(不知道有没有人和我一样的感觉),所以,把影片中经典的场景做了个封面来强化你们的记忆,虽然此ET非彼ET,哈哈!回到正题CAD的ET工具里有关于图层、图块、文字、填充等扩展命令,不乏很实用高效的命令。你想到它可能是因为从前辈或是网络学习中了...

cad版本怎么转换成2007?三步就能完成!

新版本的CAD软件可能无法在旧版本的CAD软件中打开,因此,将CAD文件降低版本可以确保文件能够在旧版本的CAD软件中打开和编辑。为了转换版本,可能需要借助一些工具来进行CAD版本转换操作。下面小编就为您分享三种不错的软件,快来看看吧!一、彩虹办公中心彩虹办公中心是一个功能强大的办公自动化工具,它可...

爱学不学:AutoCAD 2007放样制作三维吊钩

本教程介绍AutoCAD 2007放样制作三维吊钩,本教程以起重机吊钩的三维制作过程为例,介绍放样时应注意的问题,以及放样工具和使用技巧,希望朋友们喜欢本教程!autocad 2007版以后有了放样这一工具,给变截面的三维件制作带来很大方便。但在放样时如果操作不当,就会出现截面类型不对、路径无效等无...