Arduino光敏传感器控制LED灯亮度

Arduino光敏传感器控制LED灯亮度

目标一:
通过光敏传感器,使得LED亮度根据环境亮度自动调节,环境亮度低则LED灯更亮些

光敏传感器:
在这里插入图片描述光敏传感器共有四个端口:
AO:模拟信号输出
DO:TTL 开关信号输出(亮度大于设定值时DO输出低电平,反之输出高电平)

线路图:
在这里插入图片描述—— 此处没有连接DO端口 ——

相关代码:

int value;      //存储通过光敏传感器后电灯亮度值

void setup(){
  Serial.begin(9600);
  pinMode(4,OUTPUT);    //4脚为输出脚
}

void loop(){

    value=analogRead(A0)/4;
    analogWrite(4,value);
 }

效果图:
在这里插入图片描述

目标二:

使用串口监视器控制LED灯模式:

  • A.夜灯模式(LED灯亮度低)
  • B.阅读模式(LED灯亮度高)
  • C.自适应模式(LED灯亮度自适应)

代码:

int mode;       //定义模式(模式0:阅读模式 模式1:夜灯模式  模式2:自适应模式)
int value;      //存储通过光敏传感器后电灯亮度值

void setup(){
  Serial.begin(9600);
  pinMode(4,OUTPUT);
}

void loop(){

    char LED=Serial.read();  //LED读取输入
    if(LED=='A')            //判断模式
      mode=0;
     else if(LED=='B')
      mode=1;
     else if(LED=='C')
      mode=2;
    value=analogRead(A0)/4;
    control();             //调用contol
 }

 void control(){           //三种LED灯模式
  if(mode==0){
      analogWrite(4,255);
    }
    else if(mode==1){
      analogWrite(4,90);
    }
    else if(mode==2){
      analogWrite(4,value);
    }
 }

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ws15168689087/article/details/116394840