目录
1、所需材料
Arduino UNO 开发板 +光照模块+公对母杜邦线三根
2、模块简介
2.1 Arduino UNO
Arduino Uno 是一款基于 微控制器 MTATmega328P的开发板。它有14个数字输入/输出引脚(这些引脚中有6个引脚可以作为PWM输出引脚),6个模拟输入引脚,16 MHz石英晶振,USB接口,电源接口,支持在线串行编程以及复位按键。用户只需要将开发板与电脑通过USB接口连接就可以使用。
2.2 光照监测模块
光敏电阻是一种依据光线明暗程度变化而改变阻值的电阻器件,其原理是基于半导体中的内照效应。在光敏电阻的半导体材料中,掺入了一些能够响应光线的掺杂物。当这些掺杂物受到光线的作用时,会产生载流子,从而影响电阻器的电阻值。具体来说,当有光照射在光敏电阻上时,电荷载流子就会在半导体中产生并向外扩散,使材料本身的电阻值降低。反之,如果没有光照射在光敏电阻上时,电荷载流子的数量就很少,此时材料的电阻值较高。
3、接口接线
Arduino UNO | 声音传感器 |
5V | VCC |
GND | GND |
A0 | DO |
4、代码示例
#define photosensitivePin A0 //定义模拟口A0
#define phTimeInterval 1000 //检测一次的时间间隔
unsigned long phTimes = 0; //记录设备运行时间
int photosenVal = 0; //光照度数值
int photoContent = 0;
void setup(){
Serial.begin(9600); //设置串口波特率为9600
Serial.println("设备运行");
}
void loop(){
getPhData(); //获取光敏电阻的值
}
void getPhData() {
if (millis() - phTimes >= phTimeInterval) {
phTimes = millis();
photosenVal = analogRead(photosensitivePin); //获取原始值
photosenVal = constrain(photosenVal, 10, 1024);
photoContent = map(photosenVal, 10, 1024, 100, 0);
Serial.print(" ,光照强度: "); //串口打印对应的值
Serial.print(photoContent); //串口打印对应的值
Serial.println(" %"); //串口打印对应的值
}
}
5、运行结果
6、总结
基于Arduino UNO开发板使用光照检测模块的时候不需要调用库。
通过使用光照检测模块,可用于检测周围是否有光源源。