【深海王国】小学生都能玩的语音模块?ASRPRO打造你的第一个智能语音助手(6)

Hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω)

今天大都督继续为大家带来系列——小学生都能玩的语音模块,帮你一周内快速学会语音模块的使用方式,打造一个可用于智能家居、物联网领域的语音助手,let’s go!

(6)WS2812灯带的简单控制与RGB调色介绍

上节我们已经熟悉了天问BLOCK的WS2812拓展库,这节我们就来简单控制一下吧。

WS2812接线图如下:

在这里插入图片描述

(图片摘自官方说明文档,链接在这里)

这里说明一下,如果我们使用的灯珠数比较少,是可以这样直接用单片机的5V引脚给灯带供电的,但如果灯珠数目多,就需要外接电源了(大都督试过120个灯珠以下基本都能正常供电)。

我们已经介绍了WS2812拓展库的相关代码(详见(5)拓展库的添加与WS2812灯带介绍)),并且也知道天问BLOCK怎么下载程序(详见(3)天问BLOCK程序下载与常见问题),现在我们就来进行WS2812拓展库的功能演示。

这是大都督自己用3D打印做的一个手办展架(关于3D打印与建模的知识也会在后续系列中放出,大家可以持续关注哦),

在这里插入图片描述

下面就是WS2812灯带,现在我们来用这个展架进行一下功能演示:

在这里插入图片描述

初始配置代码:

因为是代码测试,所以我们初始代码不需要太复杂,如下即可:

在这里插入图片描述

这里需要说一下,在我们初始RGB时要根据灯带上灯珠的数量进行初始化,比如这里我用的就是30灯珠灯带。

另外如果我们需要更改如switch分支数量等代码块信息,点击代码块左上角的蓝齿轮图标即可:

在这里插入图片描述

WS2812拓展库各代码功能展示:

1. 控制单个灯按指定颜色亮起

控制灯按指定颜色亮起有两种实现方式,一种是通过官方预设的颜色,如下:

在这里插入图片描述

另一种就是RGB调色,不懂RGB是什么的可以参考本文最后的RGB介绍。

现在我们控制指定灯1号和30号按指定颜色亮起对应代码分别如下:

在这里插入图片描述

加上RGB显示,将其放在case1中即可,暂时用不到的代码,我们可以鼠标右键点击禁用块,暂时禁用该代码块。

在这里插入图片描述

在这里插入图片描述

最后实现效果如图:

在这里插入图片描述

2.控制所有灯全部熄灭

开灯之后自然还需要关灯,关灯代码如下:
在这里插入图片描述

将它放到case2中即可:
在这里插入图片描述

3.控制所有灯指定颜色亮起

代码如下,将对应代码放到case1中即可:

在这里插入图片描述

演示效果如图:

在这里插入图片描述

4.彩虹循环与流光溢彩效果

代码如下,彩虹循环效果就是各个灯珠循环变色,流光溢彩就是全体灯珠一起颜色渐变。

这里注意间隔时间不是整个效果持续时间,而是不同颜色的渐变时间间隔:

在这里插入图片描述

效果如下,大家可以更改不同的ms毫秒数试试其他效果:

在这里插入图片描述

如果需要本节的工程文件,在咱们深海王国的公众号「深海大都督」里回复「语音控制灯带」就可以啦。

为什么要使用多线程?

在进行彩虹循环和流光溢彩效果的过程中,我们会发现,喊指令关灯,ASRPRO并不会让我们的灯带灭掉,而是无视了我们的指令,只有等彩虹循环流光溢彩效果结束后,我们喊指令关灯才有效。

核心原因就是目前我们的单片机是单线程运行。

简单来说,就是现在单片机比较傻比较一根筋,只能同时做一件事。

要不去执行流光溢彩效果(实际上这个效果是个条件循环结构,在没执行完整个效果前,程序都会卡在while循环里一直运行),要不去听我们的指令,二者不可得兼。

这时候就要使用我们的多线程模式了,下节我们就来解决这个问题。

附:RGB调色介绍

RGB调色是一种基于光的加色模式,主要应用于电视、计算机屏幕、手机屏幕以及其他电子显示设备上。它由红色(Red)、绿色(Green)、蓝色(Blue)三种颜色的光合成而成,通过调整这三种颜色光的亮度或比例,可以产生几乎所有可感知的颜色。

RGB色彩模式是数字技术中广泛使用的颜色系统,其工作原理是基于人类视觉对光的感应。在RGB模式中,每种颜色都是通过指定红、绿、蓝三个颜色通道的强度来定义的。这些强度通常用0到255的数字表示,其中0表示该颜色通道不发光,而255表示该通道发光强度最大。例如,纯红色表示为(255, 0, 0);纯绿色表示为(0, 255, 0);纯蓝色表示为(0, 0, 255);黑色表示为(0, 0, 0),因为所有颜色通道都不发光;而白色表示为(255, 255, 255),所有颜色通道都以最大强度发光。通过这种方式,可以混合出多种颜色。

今天的学习到这里就差不多啦。下节我们就开始ASRPRO多线程模式的学习,加油!看到这里的你今天也辛苦啦٩(ˊᗜˋ)و✧。

需要的相关材料链接我都放在公众号「深海大都督」里了,回复「语音控制灯带」就能获得啦~

哈哈,让焦虑不再蔓延,信息不再高壁,如果你觉得这篇文章对你有帮助,就来个免费的点赞吧!

(◍˃̶ᗜ˂̶◍)✩我深海大都督正式授予你深海王国公民的身份~

(・ω< )★ 加入深海大家庭,快乐摆烂每一天!

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

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

相关文章

基于SpringBoot的就业信息管理系统

你好&#xff0c;我是计算机学姐码农小野&#xff01;如果你对就业信息管理系统感兴趣或有相关需求&#xff0c;欢迎私信联系我。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; SpringBootMySql 工具&#xff1a; MyEclipse、Tomcat 系统展示…

电脑游戏录屏,3款实用软件推荐给你

在电竞游戏热潮席卷全球的今天&#xff0c;电脑游戏录屏早已不再是简单的画面捕捉&#xff0c;它成为了记录电竞风采、打造专属游戏记忆的重要手段。通过游戏录屏&#xff0c;我们可以定格游戏中的精彩瞬间&#xff0c;重温那些令人热血沸腾的电竞时刻。那么&#xff0c;在进行…

Prometheus + Grafana 监控系统搭建使用指南-mysqld_exporter 安装与配置

使用mysqld_exporter 实现Prometheus 监控Mysql 系列文章目录 Prometheus 的安装部署Grafana的安装部署Linux服务器接入Prometheus监控-Node Exporter 安装指南Prometheus 接入SpringBoot微服务监控Mysql 接入 Prometheus RocketMQ 接入Prometheus 监控ElasticSearch 接入 Pr…

Node.js实现一个文章生成器

前言 本文将从零开始&#xff0c;讲解如何使用Node.js来实现一个文章生成器 node里面有很多优秀的模块&#xff0c;现在我们就借助node的fs模块来操控文本&#xff0c;来实现我们想要的效果 效果展示 体验 fs 首先我们先创建一个json文件 里面放一些内容 接下来我们书写代码…

抖音本地生活服务商入驻要求中暗含哪些信息?入局要点都在里面了!

随着抖音外卖的正式开放&#xff0c;许多创业者对于做抖音本地生活服务商的意向愈发强烈&#xff0c;抖音本地生活服务商入驻要求及相关话题更是在多个创业者群内被翻来覆去地讨论&#xff0c;且多次刷屏。 而就抖音目前在本地生活市场的布局来看&#xff0c;其主要的重心还是…

Renderless 思想正在影响前端开发

本文由前端小伙伴方长_beezen 原创。欢迎大家踊跃投稿。 原文链接&#xff1a;https://juejin.cn/post/7385752495535472655 前言 截止到 2024 年&#xff0c;跨端应用开发所需要考虑的兼容性&#xff0c;已经涵盖了框架、平台和设备类型等多个方面&#xff0c;例如&#xff1…

开发在线教育项目-在线课程视频网站开发

用了哪些技术 后端技术 springboot3 security权限框架&#xff08;后台&#xff09;mybatisPlus框架jwt生成tokeneasyexcel导入导出递归查询拦截器校验tokenredis的zset做排行榜功能redis的list做最新课程的功能redis做为缓存技术redis作为计数器&#xff0c;实时记录浏览量&…

搞定Loki+Promtail轻量级日志系统

Promtail 是 Loki 的日志收集客户端&#xff0c;它的主要功能是从各种来源收集日志并将其发送到 Loki 进行存储和查询。Promtail 的设计使其能够高效地收集和处理日志数据。 promtail-config.yaml&#xff08;配置&#xff09;: Promtail 读取配置文件&#xff08;例如 promta…

初阶数据结构二叉树练习系列(1)

这个系列的文章将带大家一起刷题&#xff0c;并且总结思路 温馨提示&#xff1a;本篇文章里的练习题仅适合刚学完二叉树的小白使用 相同的树 思路 情况分析&#xff1a;第一种情况&#xff1a;两棵树都为空 → 返回true 第二种情况&am…

C++ 引用——引用的基本语法

引用的基本使用 作用&#xff1a;给变量起别名 语法&#xff1a;数据类型 &别名 原名 示例&#xff1a; 运行结果&#xff1a;

如何利用Kimi解读Kimi的KVCache技术细节

最近Kimi公布了一篇Mooncake: Kimis KVCache-centric Architecture for LLM Serving的文章&#xff0c;详细介绍了Kimi背后的推理架构&#xff0c;因此笔者想到用Kimi解读Kimi&#xff0c;梳理相关技术要点如下&#xff0c;供大家参考&#xff1a; 文章 "Mooncake: A KVCa…

JVM原理(三):JVM对象回收判定机制与回收算法

如何判断一个对象是否存活(即是否还分配在堆中)&#xff0c;那看他是否还在用。 1. 引用计数算法 这是一种判断方式&#xff0c;相应的方法就是&#xff1a;如果一个对象被引用&#xff0c;那将被引用的对象中的一个计数器加一&#xff0c;引用失效就减一。在任何时刻引用计数…

STM32自己从零开始实操07:电机电路原理图

一、LC滤波电路 其实以下的滤波都可以叫低通滤波器。 1.1倒 “L” 型 LC 滤波电路 1.1.1定性分析 1.1.2仿真实验 电感&#xff1a;通低频阻高频的。仿真中高频信号通过电感&#xff0c;因为电感会阻止电流发生变化&#xff0c;故说阻止高频信号 电容&#xff1a;隔直通交。…

免费分享:中国三级及以上河流(附下载方法)

河流分级法的分级方法是从源头最小河流开始,称为一级河流;两条一级河流汇合成二级河流;以此类推,三级河流等等;最后是干流。本文将介绍中国三级及以上河流数据。 数据简介 1:100万中国三级及以上河流矢量数据是涵盖了全国范围内三级及以上级别河流的详细地理信息和空间分布。这…

App Store迎来了重磅更新,ASO冲榜优化或将成为不可或缺的一部分

近日App Store搜索页面迎来了重磅更新&#xff0c;苹果应用商店中搜索页面原有的热搜关键词消失了取而代之的是直接将排行榜放在了搜索顶部&#xff0c;分别是APP排行和游戏排行两部分。如下图&#xff1a; 很多人应该都是参考排行榜来下载APP的&#xff0c;这次更新之后用户在…

基于工业互联网的智能制造:未来制造业的新引擎

随着科技的飞速发展&#xff0c;工业互联网通过提供强大的数据支撑和通信基础&#xff0c;成为智能制造的重要基石。智能制造的引入&#xff0c;不仅显著提升了制造业的生产效率、降低了成本&#xff0c;而且提高了产品质量&#xff0c;满足了市场的多样化、个性化需求。 智能制…

解决问题:使用PageHelper.startPage和PageInfo实现分页,但是得到的total和传入的页面大小pageSize一样

我们需要的是total得到的数值是数据库里所有数据的条数。 1、包别引错 <!--PageHelper开始--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</…

kafka 生产者

生产者 生产者负责创建消息&#xff0c;然后将其投递到Kafka中。 负载均衡 轮询策略。随机策略。按照 key 进行hash。 Kafka 的默认分区策略&#xff1a;如果指定了 key&#xff0c;key 相同的消息会发送到同一个分区&#xff08;分区有序&#xff09;&#xff1b;如果没有…

光伏储能电厂设备连接iec61850平台解决方案

在当今日益发展的电力系统中&#xff0c;光伏储能技术以其独特的优势逐渐崭露头角&#xff0c;成为可再生能源领域的重要组成部分。而在光伏储能系统的运行与监控中&#xff0c;通信协议的选择与实现则显得至关重要。本文将重点介绍光伏储能系统中的Modbus协议、电力IEC 61850平…

reids一主多从配置

-----------------跳过了安装redis的过程--------------------------- 主192.168.25.129从 192.168.25.130从 192.168.25.133 redis主从复制环境&#xff0c;基本上都是在从服务器上修改相关的配置 1、在俩台从服务器分别给 reids.conf文件添加master…