Prueba este código, a diferencia del tuyo, no hace cosas cuando presionas con lo que incrementas o decrementas el contador a lo loco, sino que lo hace por vez, eso si no hay rebotes en tus pulsadores.
#include <Arduino.h>
// gammax f
//
#include <Servo.h>
Servo servo1;
int led = 9;
int servopin = 8;
int angulo = 0;
int buttonPin1 = 6;
int buttonPin2 = 7;
int buttonPin3 = 5;
int buttonState1, buttonState1Ant = 0;
int buttonState2, buttonState2Ant = 0;
int buttonState3, buttonState3Ant = 0;
void setup() {
servo1.attach(servopin);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
servo1.write(angulo);
pinMode (led, OUTPUT);
}
void loop() {
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
if (buttonState1 == HIGH && , buttonState1Ant == LOW) {
angulo++;
if (angulo >= 180) {
angulo = 180;
}
}
buttonState1Ant = buttonState1;
if (buttonState2 == HIGH && , buttonState2Ant == LOW) {
angulo--;
if (angulo <= 0) {
angulo = 0;
}
}
buttonState2Ant = buttonState2;
if (buttonState3 == HIGH && , buttonState3Ant == LOW) {
angulo = 0;
}
buttonState3Ant = buttonState3;
if (angulo > 0) {
digitalWrite (led, HIGH);
}
if (angulo== 0) {
digitalWrite (led, LOW);
}
servo1.write(angulo);
delay(20);
}