#include <Servo.h>
Servo servo1;

int encoderPosition = 170;
int lastValue;
int currentValue;
int buttonState;

int encoderCLKpin = 2;
int encoderDTpin = 3;

void setup() {
  pinMode(encoderCLKpin, INPUT);
  pinMode(encoderDTpin, INPUT);
  pinMode(4, INPUT_PULLUP);
  pinMode(5, OUTPUT);
  lastValue = digitalRead(encoderCLKpin);

  servo1.attach(6);

  Serial.begin(9600);
  Serial.println("BEGIN");
  Serial.println();
}

void loop() {
  currentValue = digitalRead(encoderCLKpin);
  if (currentValue != lastValue) {
    if (digitalRead(encoderDTpin) != currentValue)  //Rotating Clockwise
    {
      encoderPosition++;
      if (encoderPosition > 180)
      {
      (encoderPosition = 180);
      }

      Serial.println("Clockwise");
      Serial.println(encoderPosition);
    }

    else
    {
      encoderPosition--;
      if (encoderPosition < 0)
      {
      (encoderPosition = 0);
      }
      Serial.println("Counterclockwise");
      Serial.println(encoderPosition);
    }
  }
  servo1.write(encoderPosition);
  lastValue = currentValue;

  buttonState = (digitalRead(4));
  if (buttonState == LOW)
  {
  digitalWrite(5, HIGH);
  (encoderPosition = 90);
  }
  else
  {
  digitalWrite(5, LOW);
  }

  
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
encoder1:CLK
encoder1:DT
encoder1:SW
encoder1:VCC
encoder1:GND
led1:A
led1:C
servo1:GND
servo1:V+
servo1:PWM