// https://forum.arduino.cc/t/pin-d0-und-d1-funktionieren-nicht/990441
#include <Servo.h>
bool complete = false;
Servo myservo;
constexpr byte switchPin = 3; // Neigungssensor
constexpr byte resetPin = 4; // Reset Taste
constexpr byte servoPin = 8; // GPIO des Servos
void setup() {
Serial.begin(115200);
myservo.attach(servoPin);
pinMode(switchPin, INPUT_PULLUP);
pinMode(resetPin, INPUT_PULLUP);
myservo.write(0);
}
void loop() {
if (digitalRead(switchPin) == LOW) {
if (complete == false) {
Serial.println(F("auslösen"));
myservo.write(45);
//delay(1000);
complete = true;
}
}
if (digitalRead(resetPin) == LOW)
{
if (complete == true && digitalRead(switchPin) == HIGH) {
Serial.println(F("reset"));
myservo.write(0);
//delay(1000);
complete = false;
}
else if (digitalRead(switchPin) == LOW)
{
Serial.println(F("Zuerst den Neigungsschalter zurücksetzen!"));
}
delay(50); // dirty debounce delay - aber eigentlich auch nicht notwendig
}
}