设计简介

该设计使用esp32连接光敏传感器,根据自己设定的光度阈值来自动控制led灯的亮灭。当光强低于阈值时led灯打开。当光强高于阈值时led灯关闭。

硬件电路连接

ESP32光敏 esp32光敏传感器控制led灯_c++

引脚部分可以自行定义^,^ 

光敏传感器阈值也可以根据自己所需环境自行调节光敏模块上的调节旋钮,达到自己所需即可。

光敏传感器简介 

        光敏电阻是用硫化隔或硒化隔等半导体材料制成的电阻器,其工作原理是基于内光电效应。随着光照强度的升高,电阻值迅速降低,由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。其在无光照时,几乎呈高阻状态,暗电阻很大。

1、光敏电阻模块对环境光线敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;
2、模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;
3、DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;
4、DO输出端可以直接驱动本店继电器模块,由此可以组成一个光控开关
5、小板模拟量输出Ao可以和AD模块相连,通过AD转换,可以获得环境光强更准的数值。

ESP32光敏 esp32光敏传感器控制led灯_嵌入式硬件_02

代码实现部分 

#define LED1   5        //定义led引脚
#define LED2   18       //定义led引脚
#define Guang  15       //定义光敏传感器引脚

void setup() {
  Serial.begin(115200);//串口初始化
  Serial.println();
  pinMode(Guang, INPUT);//定义GPIO口为输入模式
  pinMode(LED1, OUTPUT);//定义GPIO口为输出模式
  pinMode(LED2, OUTPUT);//定义GPIO口为输出模式

}

void loop() {
  Serial.println(digitalRead(Guang));//串口打印GPIO口返回值
  if(digitalRead(Guang)==0)//判断返回值
  {
   digitalWrite(LED1, LOW);
   digitalWrite(LED2, LOW);
  }
  else
  {
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, LOW);
  }
}

欢迎大家积极发表评论,如有什么错误,请大家积极指正。