Arduino基础—光控灯(物联网)

本实验借鉴TonyCode的简书说明。
作者:TonyCode
链接:https://www.jianshu.com/p/41827528e3c5
来源:简书

Arduino基础入门篇—光控灯

物联网实验,利用光敏电阻与二极管(或LED灯,个人觉得用二极管好点,新手对学习)实现光控灯的机制。

本篇介绍

光敏电阻,通过模拟输入采集环境光强来控制LED灯亮度,做一个实时进行光控操作的设备。事实上我们是要进行非自动操作(对光线亮度进行调整)。
传感器是一种检测装置,能感受并采集到被测量的信息,在当下物联网是非常流行的。而光敏电阻是较为简单的传感器之一,我们将针对它进行测试,开启我们的物联网之旅 。
解释:
光敏电阻:一种电阻值随照射光强度增加而下降的电阻,基于其内部光电效应,光照越强电阻值越小,光照越弱,电阻值越大。
二极管:单向电流可发光小灯泡。

1.实验材料

一个开发板
配套USB数据线
面包板及配套连接线
1个LED灯(或二极管)
1个光敏电阻
1个1K普通电阻

2.实验步骤

根据原理图搭建电路。
直插LED灯正极连接限流电阻,电阻另一端连接开发板第10引脚,LED灯负极接开发板GND。光敏电阻一端接GND,电阻一端接5V,光敏电阻和普通电阻相接,然后接入A0引脚。
实验注意:我们将光敏电阻作为一个电阻跟一个普通电阻串联,根据串联分压的方法,通过analogRead() 读取其电压。

实验原理图如下图所示:
Arduino基础—光控灯(物联网)_第1张图片
实物连接图如下图所示:
(下图:光线亮)
Arduino基础—光控灯(物联网)_第2张图片

上代码:
Arduino基础—光控灯(物联网)_第3张图片

3.实验现象

遮挡光敏电阻,LED灯变亮,无遮挡下,LED灯亮度变暗。
Arduino基础—光控灯(物联网)_第4张图片
哔哩哔哩实验现象视频链接:https://www.bilibili.com/video/av55927167/

4.实验分析及体会

实验分析:
通过analogRead()读取光敏电阻与普通电阻串联分压后的电压数据,使用map()函数做重新映射,然后使用analogWrite()函数改变LED灯的亮度。
通过测试发现遮挡和不遮挡的情况下,模拟输入的范围大概在400~800之间,所以map()函数里面区间为[400,800],由于电源波动或外界干扰等原因,输出的数据可能也会受到一定的影响,你得到的区间可能有变化,需要多次调整测试来达到理想效果。
实验体会:
实验过程很简单。。。

你可能感兴趣的:(物联网)