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


#define POT A0
#define LED 9
#define BUZ 3

int signal;
int brightness;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(BUZ, OUTPUT);
}

void loop() {

  // Фильтрация: 3 измерения
  signal = (analogRead(POT) + analogRead(POT) + analogRead(POT)) / 3;

  // Яркость плавно зависит от напряжения
  brightness = map(signal, 0, 1023, 0, 255);
  analogWrite(LED, brightness);

  // Звук 100-700 Гц
  if (signal < 920) {
    tone(BUZ, map(signal, 10, 920, 100, 700));
  }

  // Сирена
  else {
    int t = millis() % 1000;

    if (t < 500)
      tone(BUZ, map(t, 0, 500, 400, 800));
    else
      tone(BUZ, map(t, 500, 1000, 800, 400));
  }
}