课程目标
本课程中用到的光控传感器模块其主要元件是由光敏电阻构成。大家也可以直接使用光敏电阻来进行测试
光敏电阻工作特性
光敏电阻是用硫化镉或硒化镉等半导体材料制成的特殊电阻器,表面还涂有防潮树脂,具有光电导效应。光敏电阻对光线十分敏感。光照愈强,阻值就愈低。随着光照强度的升高,电阻值迅速降低,可降低至1KΩ以下。
用途
光敏电阻模块对环境光强最敏感,一般用来检测周围环境的亮度和光强。
模块使用方法
模块在无光条件或者光强达不到设定阈值时,DO口输出高电平,当外界环境光强超过设定阈值时,模块DO输出低电平。(阈值可以通过调节模块上的可调电位器进行更改)
数字量输出DO可以与单片机直接相连,通过UNO来检测高低电平,由此来检测环境的光强改变。
电路搭建
所需材料
Arduino UNO * 1
光控传感器模块 * 1
任意颜色LED * 1
220Ω电阻 * 1
公对公杜邦线若干
公对母杜邦线若干
接线方式
传感器模块上的VCC连接UNO的+5V,
DO连接UNO的D3引脚,
GND连接UNO的GND。
程序编写
练习一:通过端口读取传感器模块获得的值
根据上面的接线图,编写程序。将传感器获得的值在端口打印出来。
图形化方式:
将程序上传至UNO后,打开米思齐右下角的串口监视器进行数据查看。
在新打开的窗口中,可以看到每秒的数据采样变化。当光敏电阻在亮光环境下,窗口采样数据为1,当光敏电阻在黑暗环境下,窗口采样数据为0。请记住这个方法,在以后凡是用到传感器的项目中,我们都会使用这个方法来进行测试。
代码方式:
/* 项目名称:串口读取
* 项目时间:2022.02.11
* 项目作者:MRX
*/
int pin = 3;
int DR = 0;
void setup() {
Serial.begin(9600);//波特率设置为9600
pinMode(pin,INPUT);//引脚模式为输入模式
}
void loop() {
DR= digitalRead(pin);//数字读取
Serial.println(DR);//println换行打印数据
delay(1000);
}
代码方式的串口监视器打开方式,是在IDLE的右上角。测试方式参考图形化。
练习二:自动开关灯
根据下面的接线图,编程实现天黑开灯,天亮关灯功能。
图形化方式:
使用条件判断,实现LED的控制。
还可以直接将数字输入引脚读取的值,赋给数字输出管脚。因为数字输入有信号进入的时候为1(高电平),没信号进入的时候为0(低电平)。
代码方式:
/* 项目名称:光控LED
* 项目时间:2022.02.11
* 项目作者:MRX
*/
int pin = 3;
int ledpin = 2;
int DR = 0;
void setup() {
Serial.begin(9600);
pinMode(pin,INPUT);
pinMode(ledpin,OUTPUT);
}
void loop() {
DR= digitalRead(pin);
Serial.println(DR);
delay(1000);
if(DR){
digitalWrite(ledpin,HIGH);
}
else
{
digitalWrite(ledpin,LOW);
}
}
-
电阻器
+关注
关注
21文章
3760浏览量
62045 -
光控开关
+关注
关注
2文章
72浏览量
21665 -
光敏电阻
+关注
关注
4文章
293浏览量
48914 -
Arduino
+关注
关注
187文章
6464浏览量
186660 -
光控传感器
+关注
关注
0文章
5浏览量
9187
发布评论请先 登录
相关推荐
评论