/*
1. If an level switch detected, turn the
servo motor 90 degrees
2. If there is no evel switch detected,
turn the servo motor -90
degrees
*/
#include <Servo.h>
Servo Serv;
#define DEBOUNCE_DELAY 1000
int level_switch_pin = 5;
int Servo_pin = 9;
int ledPin = LED_BUILTIN;
int val = 0;
//debounce
unsigned long lastDebounceTime = 0;
int lastSwitchState = LOW;
int buttonState = LOW;
void setup(){
Serial.begin(9600);
Serial.println(F(" Compiled " __DATE__ " at " __TIME__ " File: " __FILE__ ));
Serv.attach(Servo_pin);
pinMode(ledPin,OUTPUT);
pinMode(level_switch_pin,INPUT);
}
void loop(){
val = digitalRead(level_switch_pin);
if (val != lastSwitchState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > DEBOUNCE_DELAY) {
buttonState = val;
}
if (buttonState == 0){
Serv.write(120);
digitalWrite(ledPin,HIGH);
delay(100);
Serial.println(" Flush " );
Serial.println(" " );
}
else
{
Serv.write(-50);
digitalWrite(ledPin,LOW);
Serial.println(" Reset " );
Serial.println(" " );
delay(100);
}
lastSwitchState = val;
//delay(100);
}