ASR-01语音模块+C8T6实现语音控制LED

不说废话,简单直接,上教程,包会的,看不会,后台私我

一、接线图

STM32F103C8T6

ASR-01OLED屏
PA10(RX接收串口)TX(发送串口)
PB8SCL

PB9

SDA
VCCVCC
GNDGND

二、天问软件Block图形编程 

大家不要问我软件哪里来,大家哪里买的的,就去哪里要,淘宝客服一定有,没有你就换一家。

        图形化编程

        原理:通过接收相匹配语音,赋值给ID,然后通过switch语句,判断ID值,执行通过串口发送相关信息的语句。然后在核心板方面通过判断发送的信息实现开关灯。

        代码形式

#include "asr.h"
#include "setup.h"
#include "myLib/asr_event.h"
#include "HardwareSerial.h"

uint32_t snid;
void ASR_CODE();

//{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
//{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
//{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
//{speak:丫丫-可爱女童,vol:2,speed:10,platform:baidu}
//{playid:10001,voice:欢迎使用智能管家,用智能管家唤醒我。}
//{playid:10002,voice:我退下了,用智能管家唤醒我}

/*描述该功能...
*/
void ASR_CODE(){
  switch (snid) {
   case 4:
    Serial.print('1');
    break;
   case 6:
    Serial.write('0');
    break;
  }

}

void setup()
{
  Serial.begin(9600);
  //{ID:2,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}
  //{ID:4,keyword:"命令词",ASR:"打开红灯",ASRTO:"好的,马上打开红灯"}
  //{ID:6,keyword:"命令词",ASR:"关闭红灯",ASRTO:"好的,马上关闭红灯"}
}

 三、keil源码

这段代码中进行接收字符判断的时候,因为发送的是字符1,所以在进行比较的时候,应该用十六进制表示。

字符1对应着十六进制的0x31,字符0对应着0x30

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "Serial.h"
#include "LED.h"

uint8_t RxData;

int main(void)
{
	OLED_Init();
	OLED_ShowString(1, 1, "RxData:");
	
	Serial_Init();
	LED_Init();
	
	while (1)
	{
	
		if (Serial_GetRxFlag() == 1)//判断是否有信息发送
		{
			RxData = Serial_GetRxData();//将信息存储到RxDate中
			
			OLED_ShowHexNum(1, 8, RxData, 2);//OLED屏显示接收信息
			if(RxData == 0x31) //判断:发送过来的时字符‘1’,因此这里应该用十六进制的0x31表示
			{
				LED1_ON();
				Delay_ms(100);			
			}
			if(RxData == 0x30)
			{
				LED1_OFF();
				Delay_ms(100);			
			}
		}
	}
}

四、资源文件

https://download.csdn.net/download/weixin_54210362/89814953?spm=1001.2014.3001.5503icon-default.png?t=O83Ahttps://download.csdn.net/download/weixin_54210362/89814953?spm=1001.2014.3001.5503 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值