学习STC51单片机43(芯片为STC89C52RCRC)智能小车9(语音识别小车)

每日一言

        不必与他人比较速度,你走的每一步都在书写自己的传奇。

案例:语音识别小车

这个是最后一个功能了,其实就是用语音功能让小车自己切换各种模式,当然了我们需要先学习一下语音模块

硬件:SU-03T

这个叫做非特定语音识别模块:就是不分辨声调音色,同一个指令大家的声音都会可以识别,这个就叫做非特定语音识别模块,

还有一个叫做特定语音识别模块,比如我们熟悉的苹果的siri就是可以识别音色和音调等等确保只有你的声音可以识别

我们这个非特定语音模块的话用于一些项目,还有玩具上面,还有一些公司的小产品上是一个非常好的模块,实际上就是结合我们的代码层面就是将多个功能的代码进行整合在一个程序里,然后我们用语音模块的触发条件进行判断,就可以实现某个功能

怎么使用:

我们拿到模块之后厂家有一个说明书,我就直接说了,就是我们需要用一个USB转TTL的模块将

就是这样,还有一个是VCC接串口工具的5v,就一定要记住模块的vcc是接串口工具的5V而不是VCC,我之前TM的接的是VCC搞了我好久才发现的是我接错了

任何时候一定不能怪硬件,肯定是自己的问题

好了接好线后我们去打开这个网址智能公元/AI产品零代码平台

步骤

最后完成保存后发布版本,然后下载SDK

以上就是所有的步骤了,对这个模块的简单使用

最重要的是这个步骤了,配置控制条件,就是我们说的命令,语音模块识别到后会给出相应的反应,比如这边我们使用的是电平控制,如果说打开循迹模式,那么A252627就会根据我们的配置传出不同的高低电平给单片机比如下发的代码

因为对应着我们的代码实现,我们进行对端口的电平设置来实现我们的需要实现的功能,

好了这个配置就这样讲完了

现在讲我们怎么进行烧录呢,首先要进行串口的连接上面已经讲过了

用这个串口工具哈

随后我们下载好的SDK进行解压,一定是要是全英文的路径,不然容易出错

根据以上的步骤一路下来就可以啦,记得这个点击烧录的时候要将模块上面的电源从0ff到ON这样才可以烧录,或者是接一个安卓的线那也可以直接进行烧录

烧录完之后就可以进行对话啦

代码层面我们怎么写呢???

现在轮到是代码层面

我们先将循迹、避障、跟随三种模式融合到一起

当然了我们先想一下我们的每个程序如果都要融合在一个程序里面,那么是不是就是要考虑定时器的占用,当然了我们的舵机和超声波的测距这两个都需要各自占用一个定时器,真的没有办法去通过软件来进行设计来进行定时器的占用,然后我们电机的差速行驶这边是不是也需要一个定时器,但是真的没有办法在占用了,因为电机要是占用一个的话,因为电机是永远在占用的无法通过软件的设计去控制定时器的使用,所以我们要取消电机的差速行驶了,所以我们的蓝牙小车的功能也加不进去了,因为串口中断也需要用一个定时器主要就是配置是不一样的,我们超声波的定时器呗不能先开始计时的,要等ECHO收到高电平才能开始,所以蓝牙小车加不进去了,好了,现在我们分析好了现状我们来写代码

整合代码

主要就是讲main.c文件的代码,因为其他的都不变

这个的话就是我们将避障的代码封装成一个函数,利于我们的调用,当然那些该移植引脚的代码,要自己去移植,我不讲,之前都讲过了

这个的话就是我们将循迹的代码封装成一个函数,利于我们的调用,当然那些该移植引脚的代码,要自己去移植,我不讲,之前都讲过了

这个的话就是我们将跟随小车的代码封装成一个函数,利于我们的调用,当然那些该移植引脚的代码,要自己去移植,我不讲,之前都讲过了

主要就是这边了,因为我们模块的引脚我们使用的是A25 A26 A27 在教配置的时候也有说过,并配置好了电平,所以啊我们说话说到关键词的时候单片机就会接受到这些高低电平的信号,所以我们就可以根据这个特性进行调用想要执行的功能。另外我们这边也应用了OLED屏,加入一些有意思的元素,这个也是需要移植的,将之前代码的OLED二次开发的案例中的OLED.c和OLED.h还有OledFont.h都移植到程序中,然后我们就在main函数中班添加OLED的初始化、清屏函数、必要的,然后再用那个你要显示的内容写上就可以了

这个是全部的引脚声明

这些就是我的语音控制小车的所有内容了

先暂时展示没有下地跑的视频(等锂电池到还有电烙铁到、后续更新下地跑的小车)

语音控制小车

以后要学习C++了先提升代码能力,学完C++在学stm32,学完32再学Linux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/85552.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/85552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 中 解析 XML 字符串的几种方式

在 Android 开发中,解析 XML 文件有多种方式,每种方式都有其特点和适用场景。常见的 XML 解析方式有 DOM 解析、SAX 解析 和 XmlPullParser 解析。 1、DOM 解析 DOM(Document Object Model)解析是一种基于树结构的解析方式&#…

云端算力革命:川翔云电脑如何重新定义创作自由

在设计与科技深度融合的时代,高性能硬件的桎梏正成为创意释放的最大障碍。川翔云电脑以云端算力为支点,通过弹性算力、高效存储、多端接入三大核心优势,让顶级 GPU 资源触手可及。 一、核心优势:突破物理极限的云端工作站 弹性算…

1.容器技术与docker环境部署

一:docker概述 因为 Docker 轻便、快速的特性,可以使应用达到快速迭代的目的。每次小的变更,马上就可以看到效果,而不用将若干个小变更积攒到一定程度再变更。每次变更一小部分其实是一种非常安全的方式,在开发环境中…

关于 RSA:RSA 加密算法过程

RSA 是一种非对称加密算法,用“公钥”加密,用“私钥”解密,保证数据传输安全。 比喻理解:锁和钥匙 想象一下: 公钥是“上锁的锁”,别人可以用它锁住箱子(加密),但打不开…

SM3算法C语言实现(无第三方库,带测试)

一、SM3算法介绍 SM3算法是中国国家密码管理局(OSCCA)于2010年发布的商用密码散列函数标准,属于我国自主设计的密码算法体系之一 ,标准文档下载地址为:SM3密码杂凑算法 。SM3算法输出长度为256位(32字节&a…

搜索二叉数(c++)

前言 在学习数据结构的时候我们学习过二叉树,那啥是搜索二叉树呢?我们知道单纯的二叉树没有增删查改的实际意义,因为没有任何限制条件的二叉树其实用处很局限。但是堆就不一样了,他就是一个二叉树加上了大小堆的限制条件&#xf…

vc MFC在opencv的Mat图像上显示中文:Mat转位MFC的CImage,画图写文字,再转回Mat

vc MFC在opencv的Mat图像上显示中文:Mat转位MFC的CImage,画图写文字,再转回Mat // Step 1 创建CImage获取dc int iImgW matImgSized.cols; int iImgH matImgSized.rows; int iChannel matImgSized.channels(); bool bCon matImgSized.is…

Docker环境部署

目录 一:Docker 概述 1.什么是 Docker 2:Docker 的优势 3.Docker 的应用场景 4:Docker 核心概念 二:Docker 安装 1:本安装方式使用阿里的软件仓库 三:Docker 镜像操作 1:获取镜像 2.查看镜像信息 3.查看镜像详细信息 4.修改镜像标签(老名字新名字) 5:删…

Axios 拦截器实现原理深度剖析:构建优雅的请求处理管道

在构建现代前端应用时,网络请求处理是关键环节。作为最流行的HTTP客户端库之一,Axios通过其拦截器机制(Interceptors)提供了强大的请求/响应处理能力。本文将深入Axios源码,揭示拦截器背后的精妙设计与实现原理。 一、…

宝塔安装nginx-http-flv-module,音视频直播,第二篇

1,先安装环境安装nginx 先卸载原有nigix nigix 大于等于 1.2.6 cd /www/server # 进入宝塔目录 yum install git -y git clone https://gitee.com/winshining/nginx-http-flv-module.git 使用源码安装nigix 在 自定义模块 区域点击「添加」,填写以下参…

低延迟4G专网:保障关键业务的实时通信

在工业互联网、智慧园区、应急通信等对“实时性”要求极高的场景中,网络延迟的高低,直接决定了业务运行的可靠性与安全性。IPLOOK依托多年核心网研发经验,推出的低延迟4G专网解决方案,正是为此类关键业务打造的“通信专线”&#…

NLP语言发展路径分享

自然语言处理初期发展历程 早期:离散表示 one-hot(只表达“有/无”,语义完全丢失)→ n-gram(局部上下文,但高维稀疏)→ TF-IDF(考虑词频与权重,但不能表达词关联&#x…

如何将文件从安卓设备传输到电脑?

将文件从 Android 手机传输到 PC 是例行公事吗?想让文件传输更轻松吗?幸运的是,您可以从本文中获得 7 种方法,其中包含详细的步骤,帮助您轻松了解如何将文件从 Android 传输到 PC,涵盖了从无线工具到传统 U…

【经验分享】浅谈京东商品SKU接口的技术实现原理

京东商品 SKU 接口的技术实现原理涉及数据建模、架构设计、接口协议、安全机制及性能优化等多个技术层面。以下从技术角度详细拆解其实现逻辑: 一、SKU 数据模型与存储架构 1. SKU 数据模型设计 核心字段定义: 基础属性:SKU ID、商品名称、…

虚拟机配置node.js(前端环境搭建)

1.在windows下安装node.js(以及npm) 修改npm镜像为阿里云的 npm install --registryhttps://registry.npmmirror.com 2.在Linux下安装node.js(Centos7 只支持16版本之前的) wget https://npmmirror.com/mirrors/node/v15.14.0/n…

多模态大语言模型arxiv论文略读(129)

Task Success Prediction for Open-Vocabulary Manipulation Based on Multi-Level Aligned Representations ➡️ 论文标题:Task Success Prediction for Open-Vocabulary Manipulation Based on Multi-Level Aligned Representations ➡️ 论文作者:M…

【Redis】Redis 关于 BigKey 的实践规约

目录 一、BigKey 的概念 1.1 普通 key 的设计规则 1.2 BigKey 的定义 1.3 BigKey 存在的问题 二、BigKey 的发现与解决方案 第一种方式:redis-cli --bigkeys 第二种方式:scan扫描 第三种方式:第三方工具 第四种方式:网络…

Golang 与 C/C++ 交互实践

在软件开发的实际场景中,我们常常会遇到需要将不同语言的优势结合起来的情况。Golang 凭借其高效的并发性能和简洁的语法,在网络编程和系统开发领域备受青睐;而 C/C 则以其强大的底层操作能力,在系统资源管理方面具有独特优势。那…

五子棋流量主小程序单模式多模式开源版

功能和特点: 核心游戏功能: 1515 标准棋盘 黑白棋交替落子 自动判断胜负和平局 悔棋功能 计时功能 UI 设计: 木纹风格棋盘 立体感棋子(使用阴影和渐变) 响应式布局,适配不同屏幕尺寸 胜利弹窗动画 交互体验…

Python古代文物成分分析与鉴别研究:灰色关联度、岭回归、K-means聚类、决策树分析

原文链接:tecdat.cn/?p42718分析师:Gan Tian 在文化遗产保护领域,古代玻璃制品的成分分析一直是研究中西方文化交流的关键课题。作为数据科学家,我们在处理某博物馆委托的古代玻璃文物保护咨询项目时,发现传统分析方法…