光控感应灯(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

光控感应灯
拥有一盏能跟据周围光线强度变化的智能小灯,能为我们的生活带来更多的便利与趣味。

这节课,就让我们利用研坤AI板设计一盏这样的智能灯吧。

我们要制作怎样的一盏灯呢?
能根据周围光线变化改变亮度;有屏幕提示,能在屏幕上显示控制说明;能提示环境光线值……
请同学规划自己的项目方案,将设计初稿填入下表:
项目名称:
项目内容
项目需求功能描述功能实验
根据周围环境光线的变化,
灯带控制试验灯带亮度变化
自动调节灯带的亮度。

创意拓展实验
项目设计图:
光线感应器
1、认识光线感应器
光线感应器也叫做亮度感应器,英文名称为Light-Sensor。

它是用来感应光线强弱的。

它是由两个组件即投光器及受光器所组成,利用投光器将光线由透镜将之聚焦,经传输而至受光器之透镜,再至接收感应器,接收感应器将收到之光线讯号转变成电信号,此电信讯号更可进一步作各种不同的开关及控制动作,其基本原理即对投光器受光器间之光线做遮蔽之动作所获得的信号加以运用以完成各种自动化控制。

我们可以在Mixly的“传感器”模组中找到“获取光线传感器的值”的积极木块。

2、认识灯带
灯带是指把LED灯用特殊的加工工艺焊接在铜线或者带状柔性线路板上面,再连接上电源发光,因其发光时形状如一条光带而得名。

本课所用的灯带有15个可编程的LED彩灯组成,它支持用程序来控制和调节等的颜色和亮度,以及灯的开关。

3、链接灯带
如上图所示,将灯带连接到扩展板的P7引脚处。

编写灯带程序
在Mixly“执行器”模组中,我们找到“RGB灯”字模组,这里有灯带需要使用的指令积木。

1、灯带初始化
灯带在使用前必须要进行初始化。

由于本节课所用的灯带是有15颗LED灯组成的,因此,我们要将初始化积木中的“数量”由默认的“3”改为“15”。

2、根据前几节课学过的知识,在“显
示器”模组中找到对应指令,完成屏幕提示
前4行内容的程序编写,并进行测试。

其中,第4行“当前光线值:XXX”,
使用到了字符串组合显示功能。

想一想:怎样才能让光线值自动根据光线变化不断重复显示?
3、搭建事件驱动程序。

当环境光线值小于1000时,灯带点亮。

想一想:根据测试,以上程序可以实现开关灯的控制,但无法根
据环境光线变化控制灯的亮度,还应该编写怎样的程序来实现这一功能?
4、亮度控制程序
由于我们设置的条件是光线小于1000时
就自动开灯,而灯带亮度的最大值是100,并
且我们希望能实现如右图的逻辑对应关系。


么需要怎样的程序才能实现这个功能呢?
我们对灯带亮度进行赋值,它由“光线值”运算处理后产生。

由于光线值越小,亮度越大。

为了让光线值增加时,亮度值能同步增加,首先需要把光线值减去1000。

这里我们需要用到这样一组积木块:
由于新的光线值是从0到-1000慢慢变小的,而亮度是慢慢变大的,为了让光线值也改为慢慢变大,我们需要把光线值再乘以-1,得到以下光
线值。

现在,光线值和灯带亮度值都是从0开始慢慢变大的,并且有着10倍的倍数关系。

那么只要再把光线值除以10,就可以和灯带亮度值做到一一对应了。

因此,这组积木要更改为:
完善程序
根据以上所学内容,完善你的程序。

编写好后请测试你的程序,注意用光线值控制灯带亮度的转换技巧。

想一想:当自动开灯时,怎样在第6行显示灯带的实时亮度值呢?
灯在我们的日常生活中运用非常广泛,你能设计出更有创意的智能小灯吗?请根据项目设计表,完善你的智能小灯创作吧!。

相关文档
最新文档