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


const int buzzerPin = 8;
const int ledPin = 7; // Красный провод от светодиода (через резистор) втыкай сюда

void setup() {
  pinMode(buzzerPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  
  digitalWrite(buzzerPin, LOW);
  digitalWrite(ledPin, LOW);
}

void loop() {
  unsigned long startTime = millis();
  const unsigned long duration = 40000; // 40 секунд таймер CS2

  while (millis() - startTime < duration) {
    // Вычисляем прогресс от 0.0 (старт) до 1.0 (финал)
    float progress = (float)(millis() - startTime) / duration;

    // Плавное уменьшение паузы между писками:
    int pauseDelay = 900 - (progress * 870);

    // Плавное уменьшение длительности самого писка:
    int beepDuration = 100 - (progress * 70);

    // Пищалка и свет ВКЛЮЧАЮТСЯ одновременно
    digitalWrite(buzzerPin, HIGH);
    digitalWrite(ledPin, HIGH);
    delay(beepDuration);
    
    // Пищалка и свет ВЫКЛЮЧАЮТСЯ одновременно
    digitalWrite(buzzerPin, LOW);
    digitalWrite(ledPin, LOW);
    
    // Пауза между писками
    delay(pauseDelay);
  }

  // --- ВЗРЫВ НА 40-Й СЕКУНДЕ ---
  digitalWrite(buzzerPin, HIGH);
  digitalWrite(ledPin, HIGH);
  delay(1500);                  // Длинный зажатый гул и свет
  
  digitalWrite(buzzerPin, LOW);
  digitalWrite(ledPin, LOW);

  delay(5000);                  // Пауза 5 секунд до нового раунда
}