代码艺术 光线传感

论坛 期权论坛 期权     
小石课堂   2019-6-15 11:32   1582   0
Arduino板子上有14个数字(digital I/O)端口,分别标记着0~13,其中有6个数字端口可以作为模拟输出功能进行使用,数字端口能够复合成模拟端口来用,取决于其中应用的脉冲宽度调制技术,英文简写为PWM,这种技术,从根本上说,是分时复用。通过应用PWM技术,可以把0~5伏之间的电压阶梯范围,映射到0~255之间的超大空间,拓展了数字量的层次细节,实现了以数字方式发送模拟信号的通信。
Arduino板子上提供了6个模拟输入(analog INPUT)端口,从A0到A5,这些端口允许我们接入各种代表模拟量的模拟传感器,以实现计算机对外部世界的某种感知和判断,比如温度传感器,可以把外部世界的真实温度进行收集,通过运算转换后发送给控制中心,控制中心根据设定好的条件,自动进行判断并作出适应性调节。
在Arduino软件系统中,对于0~13号数字端口中的6个模拟复用端口,采用的是analogWrite函数来设置具体的模拟量,由于是数字复合端口,所以其最大值被限定在256。结合if条件判断,以及加法运算,可以实现呼吸灯的效果。而对于A0到A5这6个模拟端口,使用analogRead函数来采集外部世界的信息,结合光敏传感器的特性,可以实现手机灯光触发LED灯亮灭的互动效果


▲课程演示代码
[iframe]https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_854416596138426368[/iframe]
▲学生应用代码设计效果2

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:10
帖子:2
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP