#include <Servo.h>
int buttonpin = 7;
int idle_state = HIGH;
int relaypin = 8;
Servo myservo;
int pos = 0;
int pressed = 0;
void setup() {
Serial.begin(115200);
pinMode(buttonpin,INPUT_PULLUP);
pinMode(relaypin,OUTPUT);
myservo.attach(9);
myservo.write(pos);// servo activating the relay
}
void loop() {
int value = digitalRead(buttonpin);
if(idle_state != value )
{
pressed = 1; // activating high
Serial.print("Button Pressed: pos = ");
Serial.println(pressed);
while(!digitalRead(buttonpin));
pressed = 0;
digitalWrite(relaypin,HIGH); // relay status is high
pos += 30; // moving servo 30 degree for every press
if(pos > 180)
pos = 0;
myservo.write(pos);
}
else
{
digitalWrite(relaypin,LOW); // relay zero
//Serial.print("Button un Pressed: pos = ");
//Serial.println( pressed);
}
delay(10);
}