// Potentiometer-controlled LED + Piezo
// Pot wiper → A0
// LED (+ 220Ω resistor) → Pin 9
// Piezo (+) → Pin 8
const int POT_PIN = A2;
const int LED_PIN = 8;
const int PIEZO_PIN = 6;
// Blink/beep interval range (ms)
const int MIN_INTERVAL = 50; // fastest (pot at max)
const int MAX_INTERVAL = 1000; // slowest (pot at min)
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(PIEZO_PIN, OUTPUT);
}
void loop() {
int potVal = analogRead(POT_PIN); // 0–1023
int interval = map(potVal, 0, 1023, MAX_INTERVAL, MIN_INTERVAL);
// Flash LED
digitalWrite(LED_PIN, HIGH);
// Beep piezo (frequency also rises with pot)
int freq = map(potVal, 0, 1023, 200, 2000);
tone(PIEZO_PIN, freq, interval / 2); // beep for half the interval
delay(interval / 2);
// Off phase
digitalWrite(LED_PIN, LOW);
noTone(PIEZO_PIN);
delay(interval / 2);
}
Comments