#include <ESP32Servo.h>
// Define Buzzer pins
#define buzzPin 25
const int analogInPin = 2; // Analog input pin that the potentiometer is attached to
const int analogOutPin = 4; // Analog output pin that the LED is attached to
int sensorValue = 0; // value read from the pot
int outputValue = 0; // value output to the PWM (analog out)
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(115200);
pinMode(analogOutPin, OUTPUT); //輸出LED
pinMode(analogInPin, INPUT); //輸入可變電阻器
}
void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
// outputValue = map(sensorValue, 0, 4095, 0, 255);
outputValue = map(sensorValue, 0, 4095, 50, 2200);
// change the analog out value:
// analogWrite(analogOutPin, outputValue);
tone(analogOutPin, outputValue, 2000);
tone(buzzPin, int(50+sensorValue*5), 2000);
// print the results to the Serial Monitor:
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\t LED output = ");
Serial.print(outputValue);
Serial.print("\t Buzz output = ");
Serial.print(int(50+sensorValue*5));
Serial.println("Hz");
// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(200);
}