Официальный сайт компании Arduino по адресу arduino.cc
Помогите, пожалуйста, реализовать алгоритм включения и выключения с задержкой
int sensorPin = A5; // контакт фоторезистора long previousMillis_1 = 0; long previousMillis_2 = 0; long interval_1 = 10000; // задержка включения long interval_2 = 5000; // задержка выключения unsigned int sensorValue = 0; int ret_1; // переменная 1 int ret_2; // переменная 2 void setup() { pinMode(12, OUTPUT); // устанавливает режим работы светодиода фоторезистора pinMode(13, OUTPUT); // устанавливает режим работы нагрузки } void loop() { // ВКЛЮЧЕНИЕ // sensorValue = analogRead(sensorPin); // считываем значение с фоторезистора if(sensorValue < map(analogRead(A0),53,910,0,1000) +50 ) { digitalWrite(12, HIGH); ret_1 = sensorValue; if (millis() - previousMillis_1 > interval_1) { previousMillis_1 = millis(); // запоминаем текущее время if(sensorValue < map(analogRead(A0),53,910,0,1000) +50) { ret_2 = sensorValue; if (ret_2 <= ret_1) { //========================================================== digitalWrite(13, HIGH); // включаем светодиод //=========================================================== ret_1=0; ret_2=0; } } } } // ВЫКЛЮЧЕНИЕ // if(sensorValue > map(analogRead(A0),53,910,0,1000)) { digitalWrite(12, LOW); //выключаем светодиод фоторезистора ret_1 = sensorValue; if (millis() - previousMillis_2 > interval_2) { previousMillis_2 = millis(); // запоминаем текущее время if(sensorValue > map(analogRead(A0),53,910,0,1000)) { ret_2 = sensorValue; if (ret_2 >= ret_1) { //========================================================== digitalWrite(13, LOW); // ... иначе — выключаем светодиод //=========================================================== ret_1=0; ret_2=0; } } } } }
Помогите, пожалуйста, реализовать алгоритм включения и выключения с задержкой