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);
}
}