#1 Програмування Arduino » Включение светодиода от фоторезистора на некоторое время » 2019-12-15 21:58:36

Chester
відповідей: 2

Всем доброго времени суток. Делаю проект на ардуино, нужна помощь. Задача такая: нужно чтобы при закрывании фоторезистора или выключении света светодиод включался на несколько секунд (5-10) и потом выключался. В общем получилось, но отсчет времени идёт от того момента, когда я убираю палец с фоторезистора, а должен идти со времени загорания светодиода. И ещё интервал времени до отключения бывает меняется (становится меньше). Вот что получилось:

int ledPin = 7;
int photoPin = A0;
int ledState = LOW;
long previousMillis = 0; 
long interval = 5000;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(photoPin, INPUT);

}

void loop() {
  if (analogRead (photoPin) >800)
  digitalWrite (ledPin, HIGH);
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis >= interval) {
  digitalWrite (ledPin, LOW);
  previousMillis = currentMillis; 
  if (ledState == HIGH)
      ledState = LOW;
  digitalWrite(ledPin, ledState);
  }


}

Підвал форуму