Код (C++): int light_sensor = A0;//подключения int led = 9; int sensor_of_moving = 2; void setup() { pinMode(sensor_of_moving, INPUT);//конфигурация пинов pinMode(led, OUTPUT); Serial.begin(9600); } void loop() { int light_medium = 140;//вводим порог (настройте под себя) if (analogRead(light_sensor) < light_medium)//и освещение меньше порога { analogWrite(led, 10);//светим тускло (настройте под себя) } //ИЛИ if (analogRead(light_sensor) > light_medium)//и освещение больше порога { analogWrite(led, 0);// не светим } if (digitalRead(sensor_of_moving) == 1)//если кто-то ходит { analogWrite(led, 255);//светим на всю delay(3000);//в течении (можете сами настроить: 1000 милисекунд = 1 секунда) } }
Это делается одним оператором: Код (C++): if (analogRead(light_sensor) < light_medium)//и освещение меньше порога { analogWrite(led, 10);//светим тускло (настройте под себя) } else {//ИЛИ analogWrite(led, 0);// не светим } А то и: Код (C++): analogWrite(led, analogRead(light_sensor) < light_mediumn ? 10 : 0); И еще я бы паузу добавил между итерациями.