Загрузка данных


int photoPin = A0; // Фоторезистор подключен к аналоговому пину A0
int ledPin = 9;    // Светодиод

int lightValue = 0; 
int porog = 500; 
int cshet = 0;
int led = LOW;

void setup() { 
   Serial.begin(9600); 
   pinMode(ledPin, OUTPUT);
} 

void loop() { 
   // Считываем уровень света с фоторезистора (значения от 0 до 1023)
   lightValue = analogRead(photoPin);
   
   Serial.print("Light: ");
   Serial.println(lightValue); 
   
   // Предусматриваем 3 уровня освещенности:
   // (Уровни могут зависеть от освещения в комнате, их можно подстроить)
   if (lightValue < 300) {
      porog = 50;    // 1 уровень (темно) — быстрое мигание
   } 
   else if (lightValue >= 300 && lightValue < 700) {
      porog = 150;   // 2 уровень (полумрак/средне) — средняя частота
   } 
   else {
      porog = 400;   // 3 уровень (светло) — редкое мигание
   }
   
   // Организация мигания БЕЗ использования delay()
   if (porog > 0) {
      cshet++;
      if (cshet >= porog) {
         cshet = 0; 
         
         // Переключение состояния светодиода через if / else
         if (led == LOW) {
            led = HIGH;
         } else {
            led = LOW;
         }
         
         digitalWrite(ledPin, led); 
      }
   } else {
      digitalWrite(ledPin, LOW);
      led = LOW;
   }
}