#include <Servo.h>
#define trig 13
#define echo 12
int x = 40;
int counter = 0;
int dispenseTime = 6;
bool sense = false;
Servo s1;
void setup() {
// put your setup code here, to run once:
s1.attach(11);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
s1.write(-90);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
// Serial.print(counter);
digitalWrite(trig, HIGH);
digitalWrite(trig, LOW);
int distance = pulseIn(echo, HIGH) / 58;
if (distance <= x && !sense) {
counter++;
delay(1000);
s1.write(90);
if (counter >= dispenseTime) {
counter = 0;
s1.write(-90);
sense = true;
}
} else if (distance > x && sense) {
s1.write(-90);
counter = 0;
sense = false;
}
}