#define F_CPU 9600000
int servo = PB0;
int btn=PB2;
int pwm=0;
int angle=0;
#include <avr/io.h>
void setup() {
delay(100);
pinMode(servo, OUTPUT);
pinMode(btn, INPUT_PULLUP);
servoPulse(servo, 0);
}
void loop() {
uint8_t statusTombol = digitalRead(btn);
if (statusTombol == 0) {
if (angle !=180) {
angle += 5;
servoPulse(servo, angle);
}
}
else {
if (angle != 0) {
angle -= 5;
servoPulse(servo, angle);
}
}
}
void servoPulse(int servo, int angle) {
pwm = (angle * 11) + 500;
digitalWrite(servo, HIGH);
delayMicroseconds(pwm);
digitalWrite(servo, LOW);
delay(30);
}