【Arduino】168种传感器系列实验(171)-HLK-V20离线语音模块-Arduino爱好者 - Powered by Discuz!

Arduino爱好者

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: eagler8

[经验] 【Arduino】168种传感器系列实验(171)---HLK-V20离线语音模块

[复制链接]
 楼主| 发表于 2021-4-29 11:34 | 显示全部楼层
实验串口返回情况

14.jpg
 楼主| 发表于 2021-4-29 14:31 | 显示全部楼层
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十一:HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别
  项目测试:HLK-V20模块控制浴霸的串口输出数据

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十一:HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别
  4.   项目测试:HLK-V20模块控制浴霸的串口输出数据
  5.   模块接线:
  6.   HLK_V20   Arduino
  7.   VCC         5V
  8.   GND         GND
  9.   TX          D2
  10.   RX          D3
  11. */

  12. #include <SoftwareSerial.h>//导入软串口库
  13. SoftwareSerial HLK_V20(2, 3);//定义软串口接脚D2与D3

  14. void setup() {
  15.   Serial.begin(115200);
  16.   HLK_V20.begin(115200);
  17.   Serial.println("HLK_V20 准备就绪");
  18. }

  19. void loop() {
  20.   int outputValue = 0;
  21.   String HLK_V20_feedback = "";
  22.   while (HLK_V20.available()) {//当串口接收到数据时,执行下述程序
  23.     HLK_V20_feedback = HLK_V20.readString();
  24.     Serial.print("串口命令=");
  25.     Serial.println(HLK_V20_feedback); //串口打印HLK_V20输出的反馈数据
  26.     delay(500);

  27.   }
  28.   if (HLK_V20_feedback.endsWith("dakaiyuba") == 1) {
  29.     Serial.println("播报语:已为您打开浴霸");
  30.   }
  31.   else if (HLK_V20_feedback.endsWith("Jguanbiyuba") == 1) {
  32.     Serial.println("播报语:已为您关闭浴霸");
  33.   }
  34.   else if (HLK_V20_feedback.endsWith("dakaizaoming") == 1) {
  35.     Serial.println("播报语:已为您打开照明");
  36.   }
  37.   else if (HLK_V20_feedback.endsWith("guanbizhaoming") == 1) {
  38.     Serial.println("播报语:已为您关闭照明");
  39.   }
  40.   else if (HLK_V20_feedback.endsWith("dakainuanqi") == 1) {
  41.     Serial.println("播报语:已为您打开暖气");
  42.   }
  43.   else if (HLK_V20_feedback.endsWith("guanbinuanq") == 1) {
  44.     Serial.println("播报语:已为您关闭暖气");
  45.   }
  46.   else if (HLK_V20_feedback.endsWith("dakaicfeng") == 1) {
  47.     Serial.println("播报语:已为您打开吹风");
  48.   }
  49.   else if (HLK_V20_feedback.endsWith("guanbicfeng") == 1) {
  50.     Serial.println("播报语:已为您关闭吹风");
  51.   }
  52.   else if (HLK_V20_feedback.endsWith("Jwakeup_uni") == 1) {
  53.     Serial.println("播报语:我在");
  54.   }
  55.   else if (HLK_V20_feedback.endsWith("exitUni") == 1) {
  56.     Serial.println("播报语:有需要再叫我");
  57.   }
  58. }
复制代码


 楼主| 发表于 2021-4-29 14:32 | 显示全部楼层
实验串口返回情况

15.jpg
 楼主| 发表于 2021-4-29 19:05 | 显示全部楼层
16.jpg
 楼主| 发表于 2021-4-29 19:07 | 显示全部楼层
17.jpg
 楼主| 发表于 2021-4-29 19:08 | 显示全部楼层
18.jpg
 楼主| 发表于 2021-4-29 19:10 | 显示全部楼层
19.jpg
 楼主| 发表于 2021-4-29 19:11 | 显示全部楼层
20.jpg
 楼主| 发表于 2021-4-30 12:00 | 显示全部楼层
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十一:HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别
  项目测试:语音识别HLK-V20控制三色LED灯模块

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.   实验一百七十一:HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别
  4.   项目测试:语音识别HLK-V20控制三色LED灯模块
  5.   模块接线:
  6.   HLK_V20   Arduino
  7.   VCC         5V
  8.   GND         GND
  9.   TX          D0
  10.   RX          D1
  11.   三色LED灯 Arduino
  12.   R           D5
  13.   G           D6
  14.   B           D7
  15.   -           GND
  16. */

  17. String hlk;

  18. void setup() {
  19.   Serial.begin(115200);
  20.   hlk = "";
  21.   pinMode(5, OUTPUT);
  22.   pinMode(6, OUTPUT);
  23.   pinMode(7, OUTPUT);
  24.   digitalWrite(5, LOW);
  25.   digitalWrite(6, LOW);
  26.   digitalWrite(7, LOW);
  27.   Serial.println("HLK_V20 准备就绪");
  28. }

  29. void loop() {
  30.   while (Serial.available() > 0) {
  31.     hlk = String(hlk) + String(char(Serial.read()));
  32.   }
  33.   if (String(hlk).indexOf(String("openled")) != -1) {
  34.     digitalWrite(5, HIGH);
  35.     digitalWrite(6, HIGH);
  36.     digitalWrite(7, HIGH);
  37.     Serial.println("播报语:已为您打开灯");
  38.     hlk = "";

  39.   } else if (String(hlk).indexOf(String("closeled")) != -1) {
  40.     digitalWrite(5, LOW);
  41.     digitalWrite(6, LOW);
  42.     digitalWrite(7, LOW);
  43.     Serial.println("播报语:已为您关闭灯");
  44.     hlk = "";
  45.   }
  46.   else if (String(hlk).indexOf(String("ksetcolorred")) != -1) {
  47.     digitalWrite(5, HIGH);
  48.     digitalWrite(6, LOW);
  49.     digitalWrite(7, LOW);
  50.     Serial.println("播报语:好的");//调为红色灯
  51.     hlk = "";
  52.   }
  53. }
复制代码


 楼主| 发表于 2021-4-30 12:02 | 显示全部楼层
实验串口返回情况

21.jpg
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|好玩手机游戏盒子|196体育|Arduino爱好者

GMT+8, 2023-9-30 10:35 , Processed in 0.090214 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表