#include <Servo.h>
Servo myservo;
#define ENCODER_CLK 2
#define ENCODER_DT 3
void setup() {
Serial.begin(115200);
pinMode(ENCODER_CLK, INPUT);
pinMode(ENCODER_DT, INPUT);
myservo.attach(9);
}
int lastClk = HIGH;
int count = 0;
int distance;
int perimeter = PI * 5;
int target = 100;
int pos = 0;
void loop() {
myservo.write(pos);
int newClk = digitalRead(ENCODER_CLK);
if (newClk != lastClk) {
if (newClk == LOW && digitalRead(ENCODER_DT) == HIGH) {
count ++;
Serial.println(count);
distance = perimeter * count;
Serial.println(distance);
if (distance >= target){
Serial.print("Wings Spread!");
for (pos; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
}
}
lastClk = newClk;
}
}