Что я неправильно сделала? При слабом освещении или когда совсем темно светодиод горит на средней мощности (тускло), когда светло - светодиод не горит. Но как только срабатывает датчик движения (не смотря на то, светло или темно) - светодиод начинает гореть на всю мощь . Это скетч. #define LIGHT_SENSOR A0 //фоторезистор #define PIR_SENSOR 2 //датчик движения #define LED 9 //светодиод #define LIGHT_HIGH 800 //уровень освещенности #define LED_ON 255 //уровни яркости светодиода #define LED_LOW 100 #define LED_OFF 0 void setup() //настройка { pinMode(PIR_SENSOR, INPUT_PULLUP); pinMode(LED, OUTPUT); analogRead(LIGHT_SENSOR); } void loop() //работа { if (analogRead(LIGHT_SENSOR) < LIGHT_HIGH) { //темно if (digitalRead(PIR_SENSOR)) //датчик движения analogWrite(LED, LED_ON); //включим от датчика движения else analogWrite(LED, LED_LOW); //слабо светим } else //светло analogWrite(LED, LED_OFF); //выключен и не включаем }
Код (C++): void loop() //работа { if (analogRead(LIGHT_SENSOR) < LIGHT_HIGH) Думаю имелось ввиду Код (C++): void loop() //работа { if (analogRead(LIGHT_SENSOR) < LIGHT_LOW)
На панельке ответа есть кнопочка "Код". Вставляйте текст через эту кнопочку. Ну и вот пример как проще разобраться с работой программы. По ходу выполнения в терминал шлется лог работы. Проверяйте свой скетч Код (C++): #define LIGHT_SENSOR A0 //фоторезистор #define PIR_SENSOR 2 //датчик движения #define LED 9 //светодиод #define LIGHT_HIGH 800 //уровень освещенности #define LED_ON 255 //уровни яркости светодиода #define LED_LOW 100 #define LED_OFF 0 void setup() //настройка { pinMode(PIR_SENSOR, INPUT_PULLUP); pinMode(LED, OUTPUT); analogRead(LIGHT_SENSOR); Serial.begin(9600); } void loop() //работа { int svet = analogRead(LIGHT_SENSOR); // запоминаем уровень освещенности Serial.print('Уровень '); Serial.print(svet); // выводим значение if (svet < LIGHT_HIGH) { //темно Serial.print(' - темно'); if (digitalRead(PIR_SENSOR)) { //датчик движения Serial.print(' - сработал датчик - полный свет'); analogWrite(LED, LED_ON); //включим от датчика движения } else { Serial.print(' - датчик молчит - слабо светим'); analogWrite(LED, LED_LOW); //слабо светим } } else { //светло Serial.print(' - светло - свет выключен'); analogWrite(LED, LED_OFF); //выключен и не включаем } Serial.println(); }