台灯是夜间学习的必备工具,它的光亮照射范围较小,一般的阅读台灯可以调整灯杆的高度、光照的方向和亮度,你知道哪些调节台灯亮度的方式?
电位计模块 |
|
图9-1 电位器模块
好搭BOX套件中的电位计是一种滑动变阻器(如上图9-1所示),可简称为“滑杆”,通过改变电阻改变电压,进而控制输出数值的变化。
电位计模块输出数值的取值范围是(0,4095)。
要获得电位计模块的数值,需要用到以下的指令:
该指令可以读取电位计的输出值。
要制作本课的范例作品,可以按以下步骤先连接硬件、运行插件程序,然后进入“好好搭搭”网站编写、调试、编译、下载程序。
准备工作:搭建硬件、运行插件、进入网站 | |
第一步:搭建硬件。将数码管模块、电机模块加风扇叶、电位计模块、蜂鸣器模块以及彩色LED模块放置于主控板上任意六边形区域,磁铁吸合;接着用USB线把主控板和计算机连接起来,然后打开主控板电源开关(如下图9-2所示)。
第二步:运行插件。打开“好好搭搭硬件下载”插件,确认插件程序显示“打开端口成功”。
第三步:进入网站。打开浏览器,登录“好好搭搭”网站;单击网站上方的“创作”按钮,在“创作模版”网页中选择“好搭BOX”模版,进入“模版项目页”;在“模版项目页”中单击网页右上角的“转到设计页”按钮,进入“好搭BOX编程设计页”。
图9-2 “可调节台灯”范例作品硬件连接图
案例一:读取电位计数值 | |
电位计的数值人眼无法精确得知,依然可采用数码管显示的方式。故此案例中需要用到“数码管显示”、“数码管清除”以及“读滑杆电位计”三条指令。具体程序代码如下图9-3所示:
图9-3“读电位计数值”程序代码
| 将上图9-3所示代码编译后下载到主控板上,然后按下表要求手动调节电位器上滑杆的位置,将数码管上显示的数值记录下来。 |
我发现:________________________________________________________________
_______________________________________________________________________
| 若是将图9-3程序中的等待时间改为1秒,是否可以实现电位计移动过程数值的准确输出? |
我发现:________________________________________________________________
_______________________________________________________________________
案例二:可调台灯 | |
为了适应不同的需求,越来越多的台灯都增加了亮度调节功能。跟常见的风扇档位类似,低档位按键控制台灯发出较暗的灯光,高档位按键控制台灯发出较亮的灯光。而渐变台灯可以让灯光逐渐变亮或者变暗,而不是瞬间变亮或者变暗。
由于电位计可以实现手动控制其输出值的大小,故本案例可以采用电位计模块和彩色LED模块来制作渐变台灯。
可知电位器数值的取值范围是(0,4095),而彩色LED中红色、绿色和蓝色的颜色值范围是(0,255),前一个大约是后一个的16倍,因此可以新建一个变量“Light”,让其等于电位计数值除以16,将电位计的数值进行合理转换,让其符合彩色LED颜色值的要求,进而用于控制彩色LED的亮度。
具体程序代码如下图9-4所示:
图9-4 “可调台灯”程序代码
| 根据渐变台灯的案例,是否可以自主尝试制作渐变小风扇。 |
案例三:可调节台灯的护眼提示 | |
完成渐变台灯制作的同学可以发现,当滑块位于电位计中间时(即电位计数值在2000到2100之间),彩色LED已经发出了较为刺眼的光,当电位计数值再增加时,灯光愈发刺眼,长期注视会伤害眼睛。因而一盏具有较好用户体验的可控台灯需要增加护眼提示。即当电位计数值大于或者等于2100时,蜂鸣器会发出警报,若是电位计数值小于2100,蜂鸣器不发出警报。
该案例需要多次用到电位计的数值,为了保证程序运行的准确性,可再新建一个变量“Pot”用于存储读取到的电位计数值。
具体程序代码如下图9-5所示:
图9-5“可调节台灯的护眼模式”程序代码
请你通过网页搜索或者其他方法,查找更多可渐变调节的物体,并探究其渐变调节的原理,与同伴分享你获得的新知识。
我打算这么做:_______________________________________________________
______________________________________________________________________。
做的时候需要注意:____________________________________________________
______________________________________________________________________。