一、设计方案
a)实验器材:ESP32开发板,光敏电阻,杜邦线,LED灯若干,面包板,电阻等。
b)设计思路:通过光敏电阻检测光照强度,通过多个LED灯亮灭显示光照强度。
c)目标实现:
当光照强度为1-1400 时,红灯开始闪烁3下后常亮 0.5 秒;
当光照强度为1400-3400时黄灯开始闪烁3下后常亮 0.5 秒当光照强度为3400-4095时绿灯开始闪烁3 下后常亮0.5 秒。
二、电路设计方案
图1 线路实际布局图
图2 光强1-1400,红灯闪烁三次并常亮0.5s
三、程序代码设计
const int LDR_AO_PIN = 35;
const int LED_RED = 26;
const int LED_YELLOW = 27;
const int LED_GREEN = 14;
void led_light(int a,int b){
for (int i=0;i<b;i++){
digitalWrite(a, HIGH);
delay(100);
digitalWrite(a, LOW);
delay(100);
}
digitalWrite(a, HIGH);
delay(500);
digitalWrite(a, LOW);
}
void setup() {
Serial.begin(9600);
pinMode(LDR_AO_PIN, INPUT); // 设置数字引脚为输入模式
pinMode(LED_RED, OUTPUT);
pinMode(LED_YELLOW, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
}
void loop() {
// 读取模拟输出
int analogValue = analogRead(LDR_AO_PIN);
if (analogValue>=1&&analogValue<=1400){
led_light(LED_RED,3);
}
else if(analogValue>1400&&analogValue<=3400){
led_light(LED_YELLOW,3);
}
else if (analogValue>3400&&analogValue<=4095){
led_light(LED_GREEN,3);
}
else{
delay(30);
}
}
四、结果验证
图3 光强1400-3400,黄灯闪烁三次并常亮0.5s
图4 光强3400-4095,绿灯闪烁三次并常亮0.5s
标签:led,3400,int,测光,0.5,LED,光照强度,analogValue,光敏电阻 From: https://blog.csdn.net/2401_83327355/article/details/142952901