找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7799|回复: 0
打印 上一主题 下一主题
收起左侧

Arduino感光灯实验详解 附源码和电路

[复制链接]
跳转到指定楼层
楼主
ID:403270 发表于 2018-9-27 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
感光灯实验
完成以上的各种实验后,我们对Arduino 的应用也应该有一些认识和了解了,在基本的数字量输入输出和模拟量输入以及PWM 的产生都掌握以后,我们就可以开始进行一些传感器的应用了。
光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。
光敏电阻可广泛应用于各种光控电路,如对灯光的控制、调节等场合,也可用于光控开关。
本次实验我们先进行一个较为简单的光敏电阻的使用实验。光敏电阻既然是可以根据光强改变阻值的元件,自然也需要模拟口读取模拟值了,本实验可以借鉴PWM 接口实验,将电位计换做光敏电阻实现当光强不同时LED 小灯的亮度也会有相应的变化。
下面是所需要的元器件:
光敏电阻*1
红色M5 直插LED*1
10KΩ直插电阻*1
220Ω直插电阻*1
面包板*1
面包板跳线*1 扎
按照以下原理图连接电路。
连接好就可以编写程序了,本实验程序与PWM 实验程序相类似只是在PWM 值赋值时根据我们现在的电路稍有修改(修改部分见参考源程序)。
参考源程序:
int potpin=0;//定义模拟接口0 连接光敏电阻
int ledpin=11;//定义数字接口11 输出PWM 调节LED 亮度
int val=0;//定义变量val
void setup()
{
pinMode(ledpin,OUTPUT);//定义数字接口11 为输出
Serial.begin(9600);//设置波特率为9600
}
void loop()
{
val=analogRead(potpin);//读取传感器的模拟值并赋值给val
Serial.println(val);//显示val 变量数值
analogWrite(ledpin,val);// 打开LED 并设置亮度(PWM 输出最大值255)
delay(10);//延时0.01 秒
}
这里我们将传感器返回值除以4,原因是模拟输入analogRead()函数的返回值范围是0 到1023,而模拟输出analogWrite()函数的输出值范围是0 到255。下载完程序再试着改变光敏电阻所在的环境的光强度就可以看到我们的小灯有相应的变化了。在日常生活中光敏电阻的应用是很广泛的,用法也是很多,大家可以根
据这个实验举一反三,做出更好的互动作品。

全部资料51hei下载地址:
12.感光灯.zip (318.53 KB, 下载次数: 17)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表