首页 > 编程知识 正文

ld3320ldv7语音识别模块,声控识别具体语音模块密码

时间:2023-05-04 14:06:33 阅读:164677 作者:3530

原理:

利用LD3320模块控制购物车的运动。 小车驱动模块为L298N,语音模块采用LD3320。 LD3320核心是51单片机,通过串口将识别出的状态发送给STM32,利用STM32控制小车的运动。

实验现象:

)1)语音“前进”,购物车前进

)2)语音“后退”,购物车后退;

)3)语音“停止”,购物车停止;

)4)语音为“左转”,购物车为左转

)5)语音“右转”,购物车右转;

)语音“跳舞”,推车跳舞。

视频演示

33559 www.bilibili.com/video/b v1h 7411 m7x 9

源程序下载地址

LD3320语音程序和STM32购物车控制程序

硬件连接图

LD3320部分程序:

关键字程序:

uint8 LD_AsrAddFixed () { uint8 k,flag; uint8 nAsrAddLength; #define DATE_A 11 /*数组二维数值*/#define DATE_B 20 /*数组一维数值*/uint8codes recog [ date _ a ] [ date _ b ]={ ' xiaolololon 运行程序:

voiduser_Handle(uint8dat ) if )0==dat ) { G0_flag=ENABLE; LED=0; }elseif(enable==G0_flag ) { G0_flag=DISABLE; LED=1; switch(dat ) case code _ 1:/* forward */uartsendbyte (0x 01 ); printcom(1catgorn ); 黑; case code _ 2:/* backword */uartsendbyte (0x 02 ); printcom(2catbackrn ); 黑; case code _ :/* stop */uartsendbyte (0x 03; printcom(3catstoprn ); 黑; case code _ 4:/* left */uartsendbyte (0x 04; printcom(4catleftrn ); 黑; case code _ 5:/* right */uartsendbyte (0x 05 ); printcom(5catrightrn ); 黑; case code _ 6:/* dance */uartsendbyte (0x 06 ); printcom(6catdancern ); 黑; case code _ 7:/* turnon */uartsendbyte (0x 07 ); printcom(7turnonrn ); 黑; case code _ 8:/* turn off */uartsendbyte (0x 08 ); printcom(8turnoffrn ); 黑; default :/* text . */break; } } else { PrintCom ('请说一级密码rn ); /*Text.*/}http://www.Sina.com/

# include ' sys.h ' # include ' delay.h ' # include ' usart.h ' # include ' led.h ' # include ' motor.h # include ' u8 get=0; HAL_Init (; 初始化//Hal库STM32_clock_init(RCC_PLL_mul9 ); //设定时钟,输入72mDelay_init(72; //初始化延迟函数LED_Init (; 初始化LED MOTOR_Init (初始化//初始化电机端口UART _ init (9600 ) ); URT3_init(9600; 湿润的甜瓜3 _ PWM _ init (899,0 led0=0; while(1) if(usarT3_rx_sta0x8000 ) { len=USART3_RX_STA0x3fff; get=USART3_RX_BUF[0]; printf(rnrncodeis%drn ',get ); sitch(get ) case 1: dir forward ) 480; } break; case2:{dirback(480; } break; case 3: {Stop (; } break; case 4: { left (480,0 ); } break; case 5: { right (0,480 ); } break; case 6: { left (480,0 ); right(0,480; 前锋(480; left (480,0; right(0,480; } break; 默认: { led0=1; LED1=1; }break; } Hal _ UART _ transmit (UART3_ handler,(uint8_t* ) USART3_RX_BUF,len,1000 ); while(_Hal_Uart_get_flag ) Uart3_Handler,UART_FLAG_TC )!=SET; USART3_RX_STA=0; } } } STM32主程序:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。