【Mind+】掌控板入门教程06 多彩呼吸灯

news2024/9/20 1:05:06

       呼吸灯是指模仿动物一呼一吸使灯光由亮到暗逐渐变化,给人以安静沉稳的感觉。电子产品中经常会使用不同色彩的呼吸灯,起到很好的视觉提醒效果。

       这个项目中我们将带领大家用掌控板制作一个颜色和亮度一起变化的多彩呼吸灯!
 

Mind+ 掌控板入门教程06 多彩呼吸灯图2

项目示例

      通过三个小任务,配合变量的使用和条件循环、函数的学习,完成多彩呼吸灯的制作。

        ■ 任务一:呼吸灯
        ■ 任务二:变色灯
        ■ 任务三:多彩呼吸灯

任务一:呼吸灯

      以全部小灯显示红色缓慢亮灭为例,来学习如何制作呼吸灯。

      输入以下程序,并将程序上传。

Mind+ 掌控板入门教程06 多彩呼吸灯图6

      运行结果:红灯会逐渐亮起然后暗下,并且持续进行下去。

任务二:变色灯

      如何让呼吸灯显示更多的颜色呢?尝试制作能显示3种颜色的呼吸灯,变化的顺序是:--渐变--绿--渐变--

      参考程序:

Mind+ 掌控板入门教程06 多彩呼吸灯图7


       运行结果:掌控板上的LED灯以红、绿、蓝的颜色顺序做呼吸状变化。

       上面的程序按照功能可以分为3段,如程序图中黑色方框标注,每个方框中程序段的作用是显示一种颜色的呼吸灯。为了避免主程序过长,不容易理解,我们可以使用函数来划分程序中不同指令块的作用,简化主程序。

       参考程序如下:

Mind+ 掌控板入门教程06 多彩呼吸灯图8

Mind+ 掌控板入门教程06 多彩呼吸灯图9


* 关于函数的解释参见本项目“知识拓展”。

任务三:多彩呼吸灯

      让呼吸灯在一呼一吸之间显示更为丰富的色彩,这就是多彩呼吸灯。参考程序如下。在比较复杂的程序旁边加入了流程图便于理解程序。
 

Mind+ 掌控板入门教程06 多彩呼吸灯图5

Mind+ 掌控板入门教程06 多彩呼吸灯图11

Mind+ 掌控板入门教程06 多彩呼吸灯图19

Mind+ 掌控板入门教程06 多彩呼吸灯图10


      将三个条件语句嵌套,通过变量控制指令

Mind+ 掌控板入门教程06 多彩呼吸灯图12

中红、绿、蓝的数值一个一个的变化,实现色彩均匀变化。

知识拓展

软件知识

1、条件循环
      通过用流程图分析任务一中红灯亮起的程序来认识一下条件循环指令

Mind+ 掌控板入门教程06 多彩呼吸灯图13

的组成和作用。

Mind+ 掌控板入门教程06 多彩呼吸灯图4

Mind+ 掌控板入门教程06 多彩呼吸灯图18



      由上面这个例子可以看出,条件循环指令由循环体循环的终止条件两部分组成。它的作用为每次执行循环体前,首先判断是否满足循环的终止条件,不满足则自上而下执行循环中的程序,满足则退出循环。

2、函数
     Mind+中的函数一般指具有特定功能的指令组合。比如我们可以将“扫地、拖地、抹桌子”统称为“打扫卫生”,这里“打扫卫生”可以理解为函数,而“扫地、拖地、抹桌子”可以理解为函数实现的功能。


     在一个程序中,如果其中有些内容完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,定义为函数。主程序在执行过程中如果需要这部分功能,可以直接使用该函数指令,函数中的程序执行完后又返回到主程序,继续执行后面的程序段。

3、条件循环嵌套
     条件循环也可以嵌套使用。我们从一个小兔偷吃萝卜的故事来感受一下循环嵌套的意思。
 

Mind+ 掌控板入门教程06 多彩呼吸灯图14

Mind+ 掌控板入门教程06 多彩呼吸灯图3



      一座房子里放着很多筐萝卜,每个筐里有10个,当主人离开房子,小兔就可以进房子里偷吃萝卜,每次吃之前都要跳进装萝卜的筐里,吃完后跳出来看看主人有没有回来,没回来就继续吃下一筐。
 

      这就是一个简单的循环嵌套。通过下面的流程图可以看出来外层循环的判断条件是“主人是否回来?”,内层循环的判断条件是“萝卜是否吃完?”。

4、指令汇总

Mind+ 掌控板入门教程06 多彩呼吸灯图15

项目小结

      ■ 掌握利用变量制作呼吸灯的方法

      ■  学习如何让LED灯变换显示丰富的色彩

      ■ 了解条件循环和函数

      ■ 了解条件循环的嵌套

挑战一下

      1、利用掌控板做一个厨房烹饪提醒器。在屏幕中央显示烹饪时间,初始时间可为10秒,通过按钮A、B增、减时间,当A和B同时按下表示开始计时。达到烹饪时间前,亮绿色呼吸灯;达到烹饪时间后,亮红色呼吸灯。

      2、尝试程序中只使用一次“屏幕显示文字”指令,在屏幕上显示32个“福”字。效果如下。


提示:循环嵌套,两个变量控制文字的x、y坐标。实在做不出来可以参考下面的程序。

参考程序。
 

Mind+ 掌控板入门教程06 多彩呼吸灯图1

 文本参考: 

官方教程icon-default.png?t=N7T8https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3395
mindplus官方icon-default.png?t=N7T8https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3309
掌控板icon-default.png?t=N7T8https://mc.dfrobot.com.cn/misc.php?mod=tag&id=3184

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

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

相关文章

编程深水区之并发④:Web多线程

Node的灵感来源于Chrome,更是移植了V8引擎。在Node中能够实现的多线程,在Web环境中自然也可以。 一、浏览器是多进程和多线程的复杂应用 在本系列的第二章节,有提到现代浏览器是一个多进程和多线程的复杂应用。浏览器主进程统管全局&#xf…

vue动态规则

vue动态规则 在Vue中&#xff0c;可以使用动态规则来实现灵活的表单验证和输入限制。动态规则允许你根据特定条件或动态数据来定义验证规则。 以下是一个示例&#xff0c;展示如何在Vue中使用动态规则&#xff1a; <template><div><input v-model"inputVa…

LVS--DR模式

目录 1 DR模式原理 2 DR模式请求回复过程 3 实验环境 4 开始实验 4.1 配置实验环境 4.2 Router 配置路由转发 4.3 LVS 设置转发规则 4.4 解决vip响应问题 4.5 Web1配置 4.6 Web2配置 5 测试效果 1 DR模式原理 当用户向负载均衡调度器&#xff08;Director Server&#xff09;发…

如何用数字便签管理工作任务?

在快节奏的工作环境中&#xff0c;我们每天都需要处理大量的工作任务。如果仅仅依靠个人的记忆力和精力&#xff0c;很容易导致任务遗漏或者延误。随着数字化技术的发展&#xff0c;选择一款功能强大的数字便签软件已经成为我们管理工作任务的更好选择。 在众多的数字便签软件…

Java零基础之多线程篇:讲解并发集合

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

c语言11天笔记

函数的概述 函数&#xff1a;实现一定功能的&#xff0c;独立的代码模块。我们的函数一定是先定义&#xff0c;后使用。 使用函数的优势&#xff1a; 1. 我们可以通过函数提供功能给别人使用。当然我们也可以使用别人提供的函数&#xff0c;减少代码量。 2. 借助函数可以减…

4.6.长短期记忆网络(LSTM)

长短期记忆网络(LSTM) ​ 长短期记忆网络的设计灵感来自于计算机的逻辑门。 长短期记忆网络引入了记忆元&#xff08;memory cell&#xff09;&#xff0c;或简称为单元&#xff08;cell&#xff09;。 有些文献认为记忆元是隐状态的一种特殊类型&#xff0c; 它们与隐状态具有…

萱仔求职系列——1.1 机器学习基础知识复习

由于我最近拿到offer还是想再找找更好的机会&#xff0c;目前有很多的面试&#xff0c;面试的时候很多面试官会问一些机器学习的基础知识&#xff0c;由于我上一段实习的时候主要是机器学习和部分深度学习的内容&#xff0c;为了避免在面试的时候想不起来自己学习的内容&#x…

MPU6050的STM32数据读取

目录 1. 概述2. STM32G030对MPU6050的读取3. STM32F1xx对MPU6050的读取 1. 概述 项目中&#xff0c;往往需要根据不同的环境使用不同的芯片处理某些数据&#xff0c;当使用不同的芯片对六轴陀螺仪芯片MPU6050进行数据处理中&#xff0c;硬件的连接、I/O口的设置往往需要根据相…

【HarmonyOS NEXT星河版开发学习】小型测试案例05-得物列表项

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 鸿蒙操作系统通过其先进的分布式架构和开发工具&#xff0c;以及灵活的界面布局和样式控制&#xff0c;为开发者提供了丰富的开发资源…

设计模式- 数据源架构模式

活动记录&#xff08;Active Record&#xff09; 一个对象&#xff0c;它包装数据库表或视图中的某一行&#xff0c;封装数据库访问&#xff0c;并在这些数据上增加了领域逻辑 对象中既有数据又有行为。这些数据大多是持久数据、并且需要保存到数据库。 运行机制 活动记录的…

Iris for mac 好用的录屏软件

Iris 是一款高性能屏幕录像机&#xff0c;可录制到 h.264。Iris 在可用时利用板载 GPU 加速。它可以选择包括来自摄像头和最多两个麦克风的视频。 兼容性 所有功能在macOS 11.0-14上完全支持&#xff0c;包括macOS Sonoma。 简单编码 直接录制为h.264、h.265、ProRes或Motion…

WPF学习(10)-Label标签+TextBlock文字块+TextBox文本框+RichTextBox富文本框

Label标签 Label控件继承于ContentControl控件&#xff0c;它是一个文本标签&#xff0c;如果您想修改它的标签内容&#xff0c;请设置Content属性。我们曾提过ContentControl的Content属性是object类型&#xff0c;意味着Label的Content也是可以设置为任意的引用类型的。 案…

游戏ID统一管理器DEMO

一般游戏的角色ID、名字&#xff0c;工会ID、名字&#xff0c;等最好统一创建&#xff0c;方便合服处理&#xff0c;可以以此基础&#xff0c;动态配置生成ID 这个也可以用openresty 作个&#xff0c;可能更专业点&#xff0c; 1&#xff1a;go1.20 最后一版支持win7的 mongod…

微信小程序乡村医疗系统,源码、部署+讲解

目录 摘 要 Abstract 1 绪论 1.1 研究背景及意义 1.2 研究现状 1.3 研究内容 2 相关技术介绍 2.1 Java 语言 2.2 MySQL 数据库 2.3 Spring Boot 框架 2.4 B/S 结构 2.5 微信小程序 3 系统分析 3.1 可行性分析 3.1.1 经济可行性 3.1.2 技术可行性…

4.MySQL数据类型

目录 数据类型 ​编辑数值类型 tinyint类型 bit类型 float类型 decimal类型 字符串类型 char类型 varchar varchar和char的区别 日期和时间类型 数据类型 数值类型 说明一下&#xff1a;MySQL本身是不支持bool类型的&#xff0c;当把一个数据设置成bool类型时&#x…

【ThreadLocal总结】

文章目录 为什么使用ThreadLocalThreadLocal核心ThreadLocal内部结构ThreadLocal内存泄漏解决内存泄漏 为什么使用ThreadLocal 在并发编程中&#xff0c;多个线程同时访问和修改共享变量是一个常见的场景。这种情况下&#xff0c;可能会出现线程安全问题&#xff0c;即多个线程…

AWS生成式AI项目的全生命周期管理

随着人工智能技术的迅速发展&#xff0c;生成式 AI 已成为当今最具创新性和影响力的领域之一。生成式 AI 能够创建新的内容&#xff0c;如文本、图像、音频等&#xff0c;具有广泛的应用前景&#xff0c;如自然语言处理、计算机视觉、创意设计等。然而&#xff0c;构建一个成功…

【Python】pandas:计算,统计,比较

pandas是Python的扩展库&#xff08;第三方库&#xff09;&#xff0c;为Python编程语言提供 高性能、易于使用的数据结构和数据分析工具。 pandas官方文档&#xff1a;User Guide — pandas 2.2.2 documentation 帮助&#xff1a;可使用help(...)查看函数说明文档&#xff0…

文本编辑器小型架构

C字体库开发之字体列表设计七-CSDN博客 创作不易&#xff0c;小小的支持一下吧&#xff01;