284浏览
查看: 284|回复: 5

[项目] 【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

[复制链接]
【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图2


【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图1

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图3

驴友花雕  中级技神
 楼主|

发表于 2024-9-29 20:54:44

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图1

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

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

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

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

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


【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图2


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 09:03:02

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

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

Arduino实验接线示意图

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 09:41:59

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

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

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.    实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  4.    OV2640/5640摄像头模组
  5.   {花雕动手做}项目之二十五:ESP32-S3 CAM读取光敏电阻的模拟值自动
  6.   调节LED的亮度
  7. */
  8. #define PIN_ANALOG_IN   1  // 定义模拟输入引脚
  9. #define PIN_LED         2  // 定义LED引脚
  10. #define LIGHT_MIN       0  // 定义光线最小值
  11. #define LIGHT_MAX       4095  // 定义光线最大值
  12. void setup() {
  13.   Serial.begin(115200); // 初始化串口通信,波特率为115200
  14.   Serial.println("ESP32-S3 WROOM N16R8 CAM准备就绪!");
  15.   pinMode(PIN_LED, OUTPUT); // 设置LED引脚为输出模式
  16. }
  17. void loop() {
  18.   int adcVal = analogRead(PIN_ANALOG_IN); // 读取模拟输入值
  19.   Serial.print("原始光线值: ");
  20.   Serial.println(adcVal);
  21.   int pwmVal = map(constrain(adcVal, LIGHT_MIN, LIGHT_MAX), LIGHT_MIN, LIGHT_MAX, 0, 255);  // 将adcVal限制在LIGHT_MIN和LIGHT_MAX之间,并映射到pwmVal
  22.   Serial.print("映射后的PWM值: ");
  23.   Serial.println(pwmVal);
  24.   analogWrite(PIN_LED, pwmVal);    // 设置脉宽
  25.   delay(1000); // 延迟1000毫秒
  26. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 09:50:14

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

实验串口返回情况

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 09:53:40

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯

实验场景图

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图1

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM自动调光灯图2
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail