【Mind+】 掌控板入门教程09 魔法之光

       光是地球生命的来源,是人类生活的依据,更是人类认识外部世界的工具。在科技发达的今天,我们可以通过传感器来检测光,利用光帮助我们更好的生活。

      今天就让我们一起通过几个小项目来感受光的魔法吧。
 

Mind+ 掌控板入门教程09 魔法之光图1

项目示例

      掌控板上有一个可以检测环境光强度大小的光线传感器(如下图红圈标注)。
 

Mind+ 掌控板入门教程09 魔法之光图2


      我们将通过下面三个任务,学习如何在屏幕上显示当前环境光强度,完成通过掌控板屏幕模拟光感窗帘打开的效果,并结合麦克风传感器完成声光生日祝福牌的制作。

       ■ 任务一:显示环境光强度值

       ■ 任务二:光感窗帘

       ■ 任务三:声光生日祝福牌

任务一:显示环境光强度值

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

 

Mind+ 掌控板入门教程09 魔法之光图3



      运行结果:    

Mind+ 掌控板入门教程09 魔法之光图4


* 光线传感器的返回值为0-4095,光线越强,数值越大。
* 在常规环境中,光线传感器的返回值一般为0,可通过手机手电筒照射在传感器上感受数值的变化。

      小试牛刀:

      尝试同时在屏幕上显示光强度值和声音强度值,效果如下。
 

Mind+ 掌控板入门教程09 魔法之光图5

任务二:光感窗帘

      光感窗帘的作用是模拟白天和黑夜的环境,光线较弱是为黑夜,拉上窗帘;光线强度较强时为白天,打开窗帘。当光线较强时,在掌控板屏幕上模拟窗帘打开的过程。下图为简易的窗帘闭合效果图。
 

Mind+ 掌控板入门教程09 魔法之光图6


* 在程序中是通过画填充矩形模拟窗帘打开效果,由于所画图形为白色,所以窗帘图案背景需为黑色。

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

Mind+ 掌控板入门教程09 魔法之光图7


运行结果:光线较弱时如左图;光线较强时如右图,中间的白色矩形会从屏幕中央向两边均匀变宽。
 

Mind+ 掌控板入门教程09 魔法之光图8

任务三:声光生日祝福牌

      过生日时大家一般会唱生日歌、吹蜡烛、吃蛋糕。本任务中,将综合运用光线传感器和麦克风传感器,将掌控板设计成一个生日祝福牌。

      ■ 唱生日歌:通过声音强度变化随机变换掌控板上RGB灯的颜色,营造欢乐的氛围;

      ■ 吹蜡烛:吹掉蜡烛后房间变暗,通过光线强度的变化切换掌控板屏幕上的文字,送出真诚的祝福。

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

Mind+ 掌控板入门教程09 魔法之光图13


     运行结果:    

Mind+ 掌控板入门教程09 魔法之光图10

知识拓展

一、硬件知识

光线传感器

      什么是光线传感器呢?

      其实答案很简单,掏出你的手机放在阳光下,屏幕会迅速变暗,这就是光线传感器的作用了。光线传感器在手机上就是前置摄像头旁边的那一个小点,可用来调节手机屏幕的亮度和键盘灯。
 

Mind+ 掌控板入门教程09 魔法之光图9



      光线传感器也叫做光线感应器,广泛应用于各类手持设备上。

二、软件知识

指令汇总

 

Mind+ 掌控板入门教程09 魔法之光图11



项目小结

■ 掌握光线传感器的用法

■ 掌握检测及显示光强度的方法

■ 综合利用光线传感器和麦克风传感器

挑战一下
1、尝试做一个声光双控灯,当环境光比较弱并且有人发出一定强度的声音时,LED小灯亮,否则小灯灭。提示:

Mind+ 掌控板入门教程09 魔法之光图12



2、掌控板的显示屏可以作为一个电子书阅读器,就像Kindle一样。利用光线传感器我们可以做一个手势翻书器,手指每遮挡一次光线传感器,电子书就翻一页。赶紧编程试试吧!

文本参考: 

官方教程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.rhkb.cn/news/395799.html

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

相关文章

经验是负债,学习是资产

经验是负债,学习是资产 经验是负债,学习是资产。这是李嘉诚先生的一句名言。他一语道出了学习在企业发展中的推动作用。 企业家经营的目的,无非就是将利润最大化。企业能够产生利润,靠的是提升自身业绩、降低运营成本,…

使用 Java Swing 创建一个最大公约数计算器 GUI 应用

使用Java语言,设计一个程序,实现求取两个正整数的最大公约数。 比较基础的一个Java小程序。 1、效果展示 2、程序代码 package demo; import javax.swing.*; import java.awt.*;

Kafka基本讲解

Kafka基本讲解 一:Kafka介绍 Kafka是分布式消息队列,主要设计用于高吞吐量的数据处理和消息传输,适用于日志处理、实时数据管道等场景。Kafka作为实时数仓架构的核心组件,用于收集、缓存和分发实时数据流,支持复杂的…

【博客搭建 第二篇章】项目中怎么引入其他的 icon

一、注册账号并将图标添加到自己的项目中 1、网站地址:https://www.iconfont.cn/ 2、注册 iconfont 账号 3、登录 iconfont 网站中 4、添加图标到购物车中 5、添加图标到项目中 6、生成在线连接 7、复制连接 二、项目中配置连接地址 找到项目中的 them…

R语言医疗数据分析笔记

分组因子又是什么意思,分组因子和数组的区别是什么 举个实际的例子 分组因子 分组因子是分类变量,用于将数据分成不同组以便于比较或分析。例如,在一项研究中,研究对象的性别(男性和女性)可以视为一个分组…

OBC充电机电力系统的安全保障

OBC(On-Board Charger)充电机是电动汽车的关键部件,它负责将外部交流电转换为直流电,为电动汽车的动力电池充电。因此,OBC充电机的电力系统安全保障至关重要。 首先,OBC充电机需要有良好的电气隔离和保护功…

【mysql 第三篇章】一条 update语句是怎么持久化到磁盘上的?

首先看一下这个 SQL 语句你会不会写? 下面是说明执行这个 SQL 语句,数据库底层做了什么操作。 update users set namexxx where id10;在引擎要执行更新语句的时候,比如更新 id10 这行数据时,他会先查看数据在缓冲池中是否存在,如…

C语言指针详解-包过系列(二)目录版

C语言指针详解-包过系列(二)目录版 1、数组名的深入理解1.1、数组名的本质1.2、数组名本质的两个例外1.2.1、sizeof(数组名)1.2.2、&数组名 2、使用指针访问数组3、一维数组传参本质4、二级指针4.1、二级指针介绍4.2、二级指针…

8.9 C++

1.思维导图 2. 搭建一个货币的场景,创建一个名为 RMB 的类,该类具有整型私有成员变量 yuan(元)、jiao(角)和 fen(分),并且具有以下功能: (1)重载算术运算符…

PCL 曲线4点细分算法

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 四点细分算法(Four-Point Subdivision Scheme)是一种用于生成平滑曲线的细分算法。与 Chaikin 逼近型细分算法不同,四点细分算法通过插入新的控制点来细化曲线,并生成一条逐步逼近的平滑曲线。该算法通常用于生…

高效管理:如何快速查询并跟踪批量快递物流信息

在现代快节奏的生活中,我们经常需要处理大量的快递单号,以跟踪货物的物流轨迹。无论是电商卖家、物流公司还是个人用户,都希望能够快速、准确地获取到快递的实时信息。为了解决这个问题,我们可以借助一款名为“固乔快递查询助手”…

八、MyBatis

一、MyBatis介绍 MyBatis 是持久层框架,它支持自定义 SQL、存储过程以及⾼级映射。MyBatis 去除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置 和映射原始类型、接口和 Java POJO(Plain Old Java Obj…

最新版的AutoGPT,我搭建好了

最近AutoGPT不是更新了嘛 安装 我按照官方的教程 在本地搭建好了 改动 可见的改动,主要是把原来的纯命令行改成前后端的形式 看下前端界面 界面比较简单,主要分3个大块 监控 第一个是监控 主要是看你在 build 里构建的Agents的运行情况 build 第一个是Ag…

前端项目中的Server-sent Events(SSE)项目实践及其与websocket的区别

前端项目中的Server-sent Events(SSE)项目实践 前言 在前端开发中,实时数据更新是提升用户体验的重要因素之一。Server-SentEvents(SSE)是一种高效的技术,允许服务器通过单向连接将实时数据推送到客户端。下面将从SSE的基本改变,使用场景展…

大数据Flink(一百零九):阿里云Flink的基本名称概念

文章目录 阿里云Flink的基本名称概念 一、层次结构 二、​​​​​​​​​​​​​​概念说明 1、工作空间(Workspace) 2、项目空间(Namespace) 3、资源(Resource) 4、草稿(Draft&#…

Spring-MyBatis整合:No qualifying bean of type ‘XXX‘ available: ...

1.看一下核心配置中有没有导入myBatis配置 2.看一下service和dao有没有相应注解 3.看一下MyBatisConfig中有没有对sqlSessionFactory和mapperScannerConfigurer注释成bean对象以及有没有配置映射文件路径

【扒网络架构】backbone、ccff

backbone CCFF 还不知道网络连接方式,只是知道了每一层 backbone backbone.backbone.conv1.weight torch.Size([64, 3, 7, 7])backbone.backbone.layer1.0.conv1.weight torch.Size([64, 64, 1, 1])backbone.backbone.layer1.0.conv2.weight torch.Size([64, 64,…

Datawhale AI夏令营第四期 | AIGC文生图——可图Kolors-LoRA风格故事 Task1笔记

Hi,大家好,我是半亩花海。最近在尝试学习AIGC的内容,并报名参加了Datawhale举办的2024年AI第四期夏令营,主要学习内容是从零入门AI生图原理和实践。本次活动基于魔搭社区“可图Kolors-LoRA风格故事挑战赛”进而开展的项目实践学习…

【最新】推荐6款论文ai写论文软件推荐网站平台

在当前的学术研究和写作环境中,AI写作工具已经成为许多学者和学生的重要助手。这些工具不仅能够提高写作效率,还能帮助优化文章结构、润色语言以及进行查重等任务。以下将推荐六款优秀的AI写论文软件,并详细介绍它们的功能和特点。 1. 千笔-…

C语言 ——— 学习并使用memset函数

目录 memset函数的功能 学习memset函数​编辑 使用memset函数 memset函数的功能 memset函数是内存设置函数,将数据设置成传递的参数,以字节来设置 学习memset函数 函数的参数: void* ptr:数据要设置的起始位置的指针 int …