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


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

int signal;
int brightness = 0;
int target;

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

void loop() {

  // Фильтрация
  signal = (analogRead(POT) + analogRead(POT) + analogRead(POT)) / 3;

  // Плавная яркость
  target = map(signal, 0, 1023, 0, 255);

  if (brightness < target) brightness++;
  if (brightness > target) brightness--;

  analogWrite(LED, brightness);

  // Звук
  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));
  }

  delay(2);
}