El sensor de luz Arduino controla el brillo de la luz LED

El sensor de luz Arduino controla el brillo de la luz LED

Objetivo 1:
a través del sensor fotosensible, el brillo del LED se puede ajustar automáticamente de acuerdo con el brillo ambiental.Si el brillo ambiental es bajo, la luz LED será más brillante.

Sensor fotosensible:
inserte la descripción de la imagen aquí el sensor fotosensible tiene cuatro puertos:
AO: salida de señal analógica
DO: salida de señal de interruptor TTL (nivel bajo de salida DO cuando el brillo es mayor que el valor establecido, de lo contrario salida de nivel alto)

Diagrama de cableado:
inserte la descripción de la imagen aquí- Puerto DO no conectado aquí -

Código relevante:

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

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

void loop(){

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

Imagen de efecto:
inserte la descripción de la imagen aquí

Meta dos:

Utilice el monitor serie para controlar el modo de luz LED:

  • A. Modo de luz nocturna (bajo brillo de luz LED)
  • B. Modo de lectura (luz LED con alto brillo)
  • C. Modo adaptativo (brillo de luz LED adaptable)

Código:

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

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/ws15168689087/article/details/116394840
Recomendado
Clasificación