/*
#include <Servo.h>
int buttonpin = 7;
int last_state = HIGH;
int relaypin = 8;
Servo myservo;
int pos = 0;
void setup() {
Serial.begin(115200);
pinMode(buttonpin,INPUT_PULLUP);
pinMode(relaypin,OUTPUT);
myservo.attach(9);
}
void loop() {
int value = digitalRead(buttonpin);
Serial.println (value );
if(last_state != value ){
last_state = value;
//if(value == LOW)
{
digitalWrite(relaypin,HIGH);
Serial.println("pressed");
for(pos = 0;pos <=90; pos +=1 ){
myservo.write(pos);
delay(15);
}
}
{
digitalWrite(relaypin,LOW);
Serial.println("relased");
}
}
}
*/
#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.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.println(pressed);
}
delay(10);
}