【雕爷学编程】Arduino动手做(160)---HLK-V20离线语音模块2

发布时间 2023-07-13 13:24:36作者: 行者花雕

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

项目测试:尝试简单读取HLK-V20模块的数据

实验开源代码

 

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 项目测试:尝试简单读取HLK-V20模块的数据

 模块接线:

 HLK_V20  Arduino

 VCC     5V

 GND     GND

 TX     D2

 RX     D3

*/

#include <SoftwareSerial.h>

SoftwareSerial HLK_V20(2, 3);

void setup() {

 Serial.begin(115200);

 HLK_V20.begin(115200);

}

void loop() {

 Serial.println(HLK_V20.readString());

 delay(1000);

}

  实验串口返回情况

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 项目测试:读取并显示HLK-V20模块的串口输出数据

实验开源代码

 

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 项目测试:读取并显示HLK-V20模块的串口输出数据

 模块接线:

 HLK_V20  Arduino

 VCC     5V

 GND     GND

 TX     D2

 RX     D3

*/

#include <SoftwareSerial.h>//导入软串口库

SoftwareSerial HLK_V20(2, 3);//定义软串口接脚D2与D3

void setup() {

 Serial.begin(115200);

 HLK_V20.begin(115200);

 Serial.println("HLK_V20 准备就绪");

}

void loop() {

 int outputValue = 0;

 String HLK_V20_feedback = "";

 if (HLK_V20.available()) {//当串口接收到数据时,执行下述程序

  HLK_V20_feedback = HLK_V20.readString();

  Serial.println(HLK_V20_feedback); //串口打印HLK_V20输出的反馈数据

  Serial.println("");

  delay(100);

 }

}

  实验串口返回情况

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 项目测试:HLK-V20模块控制浴霸的串口输出数据

实验开源代码

 

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

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

void setup() {
  Serial.begin(115200);
  HLK_V20.begin(115200);
  Serial.println("HLK_V20 准备就绪");
}

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

  }
  if (HLK_V20_feedback.endsWith("dakaiyuba") == 1) {
    Serial.println("播报语:已为您打开浴霸");
  }
  else if (HLK_V20_feedback.endsWith("Jguanbiyuba") == 1) {
    Serial.println("播报语:已为您关闭浴霸");
  }
  else if (HLK_V20_feedback.endsWith("dakaizaoming") == 1) {
    Serial.println("播报语:已为您打开照明");
  }
  else if (HLK_V20_feedback.endsWith("guanbizhaoming") == 1) {
    Serial.println("播报语:已为您关闭照明");
  }
  else if (HLK_V20_feedback.endsWith("dakainuanqi") == 1) {
    Serial.println("播报语:已为您打开暖气");
  }
  else if (HLK_V20_feedback.endsWith("guanbinuanq") == 1) {
    Serial.println("播报语:已为您关闭暖气");
  }
  else if (HLK_V20_feedback.endsWith("dakaicfeng") == 1) {
    Serial.println("播报语:已为您打开吹风");
  }
  else if (HLK_V20_feedback.endsWith("guanbicfeng") == 1) {
    Serial.println("播报语:已为您关闭吹风");
  }
  else if (HLK_V20_feedback.endsWith("Jwakeup_uni") == 1) {
    Serial.println("播报语:我在");
  }
  else if (HLK_V20_feedback.endsWith("exitUni") == 1) {
    Serial.println("播报语:有需要再叫我");
  }
}

  实验串口返回情况

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

项目测试:语音识别HLK-V20控制三色LED灯模块

实验开源代码

 

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 实验一百六十:海凌科HLK-V20 AI智能离线语音识别模块 150条本地指令离线识别

 项目测试:语音识别HLK-V20控制三色LED灯模块

 模块接线:

 HLK_V20  Arduino

 VCC     5V

 GND     GND

 TX     D0

 RX     D1

 三色LED灯 Arduino

 R      D5

 G      D6

 B      D7

 -      GND

*/

String hlk;

void setup() {

 Serial.begin(115200);

 hlk = "";

 pinMode(5, OUTPUT);

 pinMode(6, OUTPUT);

 pinMode(7, OUTPUT);

 digitalWrite(5, LOW);

 digitalWrite(6, LOW);

 digitalWrite(7, LOW);

 Serial.println("HLK_V20 准备就绪");

}

void loop() {

 while (Serial.available() > 0) {

  hlk = String(hlk) + String(char(Serial.read()));

 }

 if (String(hlk).indexOf(String("openled")) != -1) {

  digitalWrite(5, HIGH);

  digitalWrite(6, HIGH);

  digitalWrite(7, HIGH);

  Serial.println("播报语:已为您打开灯");

  hlk = "";

 } else if (String(hlk).indexOf(String("closeled")) != -1) {

  digitalWrite(5, LOW);

  digitalWrite(6, LOW);

  digitalWrite(7, LOW);

  Serial.println("播报语:已为您关闭灯");

  hlk = "";

 }

 else if (String(hlk).indexOf(String("ksetcolorred")) != -1) {

  digitalWrite(5, HIGH);

  digitalWrite(6, LOW);

  digitalWrite(7, LOW);

  Serial.println("播报语:好的");//调为红色灯

  hlk = "";

 }

}

  实验串口返回情况

 

Arduino实验场景图


项目测试:语音识别HLK-V20控制三色LED灯模块(视频)

https://v.youku.com/v_show/id_XNTE0Njk0Njk4NA==.html


实验开源图形编程(Mixly、Mind+、编玩边学)

实验串口返回情况