zoologist 发表于 2023-6-30 15:45:32

FireBeetle 语音控制台灯

这次制作的是一个通过语音控制台灯的作品,主控是 FireBeetle ESP32,用于识别语音的是Gravity:I2C语音识别模块(DFR0715)【参考1】。

这款模块是 I2C接口,硬件连接非常简单,同时编程上也非常简单,首先设置需要识别的词语。例如:asr.addCommand("dakai deng guang",0);表示当收到“打开灯光”之后输出0。接下来我们使用之前用过的 433Mhz 遥控开关【参考2】。基本思想就是:如果语音模块收到了对应的命令,那么通过433Mhz模块发送遥控指令,对应的 433Mh遥控开关会接收这个指令并且做出相应动作从而实现语音控制台灯。首先进行硬件设计:

除了前面提到的主控和语音识别模块,这里还带有一个电池和充放电管理模块。这个充放电管理模块是基于IP5306的,用于实现CR123A可充电式锂电池【参考3】的管理。这款电池直径1.6cm高3.4cm,体积相当于18650 的一半,适用于一些对于体积要求较高的产品。PCB设计上电池、电池管理模块和FireBeetle是放在背面的,其中为了方便用户查看管吃管理模块上的电量指示灯,左下角预留了一个长方形的阻焊层,这样指示灯灯光可以透过PCB在正面查看到。3D 预览如下:焊接之后成品:

硬件完成之后即可着手软件设计:
#include "DFRobot_ASR.h"
#include <RCSwitch.h>

RCSwitch mySend = RCSwitch();

#define Led 8                  //定义Led引脚为8

DFRobot_ASRasr;

void setup()
{
Serial.begin(115200);
pinMode(Led,OUTPUT);         //初始化LED引脚为输出模式
digitalWrite(Led,LOW);         //LED引脚低电平
/*
    begin函数有两个参数:
    1)设置语音识别模式:1.LOOP(默认,循环模式) 2.PASSWORD(指令模式) 3.BUTTON(按钮模式)
    2)选择模块的录音输入方式:1.MIC(默认,此时板载咪头和3.5mm输入接口工作)2.MONO(3.5mm外接音频输入接口工作)
*/
asr.begin(asr.LOOP);

asr.addCommand("da kai deng guang",0);
asr.addCommand("guan bi deng guang",1);

//开始识别
asr.start();
Serial.println("Start");

mySend.enableTransmit(25);

// Optional set protocol (default is 1, will work for most outlets)
   mySend.setProtocol(1);
   
}

void loop()
{
switch(asr.read())            //判断识别内容,在有识别结果的情况下asr.read()会返回识别到的词条编号,否则返回-1
{
    case 0:                     //若是指令“da kai deng guang”
      digitalWrite(Led,HIGH);   //点亮LED
      Serial.println("received'da kai deng guang',command flag'0'");//串口发送received"kai deng",command flag"0"
      mySend.send(7057192 , 24);
      break;
    case 1:                     //若是指令“guan bi deng guang”
      digitalWrite(Led,LOW);    //熄灭LED
      Serial.println("received'guan bi deng guang',command flag'1'");//串口发送received"guan deng",command flag"1"
      mySend.send(7057188 , 24);
      break;
}
}

其中的7057192和7057188分别是对应的433Mhz遥控插座的开和关。关于这个数值的解释可以在【参考4】看到。
参考:1.   https://www.dfrobot.com.cn/goods-3011.html2.   https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=3138623.   https://www.dfrobot.com.cn/goods-1903.html4.   https://mc.dfrobot.com.cn/thread-314304-1-1.html




zoologist 发表于 2023-6-30 15:56:49

工作测试视频

本帖最后由 zoologist 于 2023-6-30 15:59 编辑

工作测试视频可以在B站看到
【语音控制的遥控开关】 https://www.bilibili.com/video/BV1K14y1m7mj/?share_source=copy_web&vd_source=5ca375392c3dd819bfc37d4672cb6d54




zoologist 发表于 2023-6-30 16:03:45

本文提到的电路图下载

腿毛利小五郎 发表于 2023-7-5 09:18:13

感谢分享

流浪剑士 发表于 2023-7-5 14:22:03

厉害,感谢分享

花生编程 发表于 2023-7-29 22:15:14

厉害厉害!!!

花生编程 发表于 2023-7-29 22:17:22

好赞啊!!不错不错!
页: [1]
查看完整版本: FireBeetle 语音控制台灯