回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM读取光敏电阻的模拟值自动随环境调节LED的亮度 简单

头像 驴友花雕 2024.09.29 13 0

0.jpg
09-.jpg
09--.jpg

光敏电阻模块是一种用于检测光照强度变化的传感器设备,广泛应用于自动化控制、智能家居和光线检测等领域。以下是光敏电阻模块的主要特点和工作原理:

1、主要特点
光敏元件:光敏电阻(通常是硫化镉或硒化镉材料),其电阻值会随着光照强度的变化而变化。
调节电阻:模块上通常配有一个可调电位器,用于调节检测光线的灵敏度。

2、输出形式:
数字输出(DO):当光线强度超过设定阈值时,输出低电平;当光线强度低于设定阈值时,输出高电平。
模拟输出(AO):输出与光照强度成比例的电压信号,可以连接到单片机的ADC(模数转换)接口进行精确测量。
电源电压:通常工作在3.3V到5V之间,适用于大多数微控制器系统。
安装方便:模块通常设计有固定螺栓孔,便于安装和固定12.

3、工作原理
光敏电阻模块的核心是光敏电阻,其工作原理基于内光电效应。当光线照射到光敏电阻时,光子能量使得电子跃迁到导带,产生自由电子和空穴,从而降低电阻值。光照越强,电阻值越低;光照越弱,电阻值越高23.

4、应用示例
光敏电阻模块可以用于:
自动灯光控制:根据环境光线自动调节灯光亮度。
智能窗帘:根据光照强度自动开合窗帘。
光线检测:用于机器人或智能小车的光线跟踪。

 

71.jpg
71-.jpg

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  OV2640/5640摄像头模组
 {花雕动手做}项目之二十五:ESP32-S3 CAM读取光敏电阻的模拟值自动
 调节LED的亮度

Arduino实验接线示意图

 

71-1.jpg

 

 

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  OV2640/5640摄像头模组
 {花雕动手做}项目之二十五:ESP32-S3 CAM读取光敏电阻的模拟值自动
 调节LED的亮度

实验开源代码

 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
  {花雕动手做}项目之二十五:ESP32-S3 CAM读取光敏电阻的模拟值自动
  调节LED的亮度
*/

#define PIN_ANALOG_IN   1  // 定义模拟输入引脚
#define PIN_LED         2  // 定义LED引脚
#define LIGHT_MIN       0  // 定义光线最小值
#define LIGHT_MAX       4095  // 定义光线最大值

void setup() {
  Serial.begin(115200); // 初始化串口通信,波特率为115200
  Serial.println("ESP32-S3 WROOM N16R8 CAM准备就绪!");
  pinMode(PIN_LED, OUTPUT); // 设置LED引脚为输出模式
}

void loop() {
  int adcVal = analogRead(PIN_ANALOG_IN); // 读取模拟输入值
  Serial.print("原始光线值: ");
  Serial.println(adcVal);

  int pwmVal = map(constrain(adcVal, LIGHT_MIN, LIGHT_MAX), LIGHT_MIN, LIGHT_MAX, 0, 255);  // 将adcVal限制在LIGHT_MIN和LIGHT_MAX之间,并映射到pwmVal
  Serial.print("映射后的PWM值: ");
  Serial.println(pwmVal);

  analogWrite(PIN_LED, pwmVal);    // 设置脉宽
  delay(1000); // 延迟1000毫秒
}

实验串口返回情况

 

71-2.jpg

实验串口绘图器返回情况

 

71-3.jpg
71-4.jpg

实验场景图

 

71-6.jpg
71-7.jpg

评论

user-avatar
icon 他的勋章
    展开更多