//Generated Date: Tue, 02 May 2023 05:59:53 GMT
#include <Ultrasonic.h>
int dis = 0;
void servo_rotate_esp(int channel, int angle) {
int val = 7864-angle*34.59;
if (val > 7864)
val = 7864;
else if (val < 1638)
val = 1638;
ledcWrite(channel, val);
}
Ultrasonic ultrasonic(13, 12);
void setup()
{
ledcSetup(0, 50, 16);
ledcAttachPin(4, 0);
servo_rotate_esp(0,90);
Serial.begin(9600);
}
void loop()
{
dis = ultrasonic.read();
Serial.println((String("感測距離:")+String(dis)));
if (dis < 20) {
tone(2, 262);
servo_rotate_esp(0,0);
} else {
noTone(2);
servo_rotate_esp(0,180);
}
delay(1000);
}