Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- /**
- TODO: Status beim Neustart des Arduinos
- Funktioniert alles? -> Optimieren!
- */
- // Zeit zwischen den Hauptschleifen in ms
- #define PROG_IDLE 100
- // Pin des Schalter-Push-Buttons
- #define PIN_BUTTON 2
- // Pin der Onboard-LED (optionale Anzeige)
- #define PIN_ONBOARDLED 13
- // Pin der Servos
- #define PIN_SERVO_TOGGLER 3
- // Standard Position des Servos
- #define SERVO_REST_POS 180
- // Unteres Limit des Servos
- #define SERVO_LIMIT_LOW 0
- // Oberes Limit des Servos
- #define SERVO_LIMIT_UP SERVO_REST_POS
- // Arbeitsvariable, Status des Buttons (HIGH | LOW)
- int var_read = 0;
- // var_read aus dem letzten Tick
- int var_prev_read = LOW;
- // Arbeitsvariable, Status des Servos
- int var_state = LOW;
- // Servo Class-Object
- Servo servo_Toggler;
- void setup()
- {
- pinMode(PIN_BUTTON, INPUT);
- pinMode(PIN_ONBOARDLED, OUTPUT);
- servo_Toggler.attach(PIN_SERVO_TOGGLER);
- // sodass der Servo nicht automatisch auf 0 geht
- servo_Toggler.write(SERVO_REST_POS);
- }
- void loop()
- {
- var_read = digitalRead(PIN_BUTTON);
- if(var_read == HIGH && var_prev_read == LOW)
- {
- // Logik Switch
- switch(var_state)
- {
- case LOW:
- var_state = HIGH;
- servo_Toggler.write(SERVO_LIMIT_LOW);
- break;
- case HIGH:
- var_state = LOW;
- servo_Toggler.write(SERVO_LIMIT_UP);
- break;
- default:
- break;
- }
- }
- var_prev_read = var_read;
- delay(PROG_IDLE);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement