type
status
date
slug
summary
tags
category
icon
password
任务描述
通过Mixly编程制作“光线感应灯”。
相关知识
1.理解光线传感器的作用;
2.掌握研坤板获取光线传感器信息;
3.巩固比较运算符“ < ”;
4.学习光线传感器数值转换为亮度值的计算方法;
5.掌握控制研坤板灯带亮度强弱方法;
技能操作步骤
光线感应灯制作步骤:
1.打开Mixly软件,将研坤板与电脑用数据线连接。
2.选择正确的COM口,可以通过拔插研坤板观察推测正确的端口。
3.选择正确的研坤板型号。
4.查看串口内的信息,如果最后显示的是三对等号,则上传的程序基本都可以成功,否则需要点击初始化固件。
5.添加显示文字信息,在显示器中找到积木块“以黑色颜色填充全屏”,再次在显示器中找到积木块“在第1行显示字符串“光线感应灯”,字体颜色:白,背景颜色:黑,大小:中字体”,复制积木块修改内容为“根据光线自动开关灯,并调节亮度”,再次复制积木块修改内容为“光线过亮自动关,光线越暗灯越亮”,将四块积木拼装在一起,再点击上传按钮。
6.学习显示当前光线值,在板载传感中找到积木块“获取光线传感器的值”,继续在文本中找到“转字符串”,再次在文本中找到积木块““当前光线值:”连接”,将三块积木拼装在一起。
在显示器中找到积木块“在第4行显示字符串“”,字体颜色:白,背景颜色:黑,大小:中字体”,然后再拼装在一起。
注:研坤板光线传感器获取到的数值范围是0-4095。
7.实时刷新光线值,现在程序可以正常显示4行文字,但是光线值并没有变化,所以需要刷新。在控制中找到积木块“重复执行”。
注意:添加重复执行后可以让画面实时刷新,但是显示的光线值消失过快,为了让光线能够持续一段时间显示,但又不能长时间不刷新,因此需要在控制中找到积木块“延时”。
注:1秒=1000毫秒。
8.学习控制感应灯带亮,使用“如果……否则……”控制灯带亮灭。在控制中找到积木块“如果”,点击齿轮图标,将“否则”拼接到“如果”内部。在逻辑中找到积木块“ = ”,将其修改成“ < ”,左侧在板载传感中添加“获取光线传感器的值”,右侧在数学中添加“0”,然后修改成1000。
在执行器-RGB灯中找到积木块“灯带初始化”,在显示器中找到积木块“在第5行显示字符串“光线不足,自动开灯。”,字体颜色:白,背景颜色:黑,大小:中字体”,在执行器-RGB灯中找到积木块“灯带 全亮 颜色 红”,继续添加积木块“灯带 设置生效”。
为了让灯带能够持续点亮一段时间,可以在控制中找到积木块“延时”添加进去。
9.学习控制感应灯带灭,当光线变暗后,研坤板感应到光线传感器数值低于设置的1000时,应该关闭灯光。在显示器中找到积木块“在第5行显示字符串“光线充足,自动关灯。”,字体颜色:白,背景颜色:黑,大小:中字体”,在执行器-RGB灯中找到积木块“灯带 关闭”,继续添加积木块“灯带 设置生效”。
10.控制灯光亮度,由于我们设置的条件是光线小于1000就自动开灯,而灯带设置亮度的最大值为100,并且我们希望有如下左1图的逻辑对应关系。
由于光线值越小,亮度越大,为了让光线值增加时,亮度值也同步增加,首先需要把光线值减去1000,如下左2图。
由于新光线值是从0到-1000慢慢变小,而亮度是慢慢变大,为了让光线改为慢慢变大,可以把光线值再乘以-1,如下右2图。
现在光线值和灯带亮度值都是从0开始慢慢变大的,并且有10倍的倍数关系,那么再把光线值除以10,如下右1图。
11.实时显示亮度值,当研坤板自动开灯时,我们需要在屏幕上显示出实时亮度值,在显示器中找到积木块“在第6行显示字符串“当前亮度值:”,字体颜色:白,背景颜色:黑,大小:中字体”。复制积木块
拼接进去。
- 作者:拾光
- 链接:https://blog.picktime.top/article/Mixly3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。