1 | //Stellt mittels zwei Taster (Taster 1 und Taster 2) jeweils einen Servo (Servo1 oder Servo 2) an.
|
2 | //Somit können zwei Servos unabhängig voneinander geschaltet werden. Parogramm läuft auf ATmega328 //(stand alone).
|
3 | // Markus Radtke 14.03.2019 servo_328.ino
|
4 |
|
5 |
|
6 |
|
7 | #include <Servo.h> // zugriff auf Servo Bibliothek
|
8 | const int BUTTON1 = 2; // Pushbutton Pin auf dem Board (2)
|
9 | const int BUTTON2 = 4; // Pushbutton Pin auf dem Board (4)
|
10 | int vala = 0; // speichert den Zustand des Tasters 1
|
11 | int old_vala = 0; // speichert den vorherigen wert von vala taster 1
|
12 | int valb = 0; // speichert den Zustand des Tasters 2
|
13 | int old_valb = 0; // speichert den vorherigen wert von valb von taster 2
|
14 | int statea = 0; // 0 = Servo Position eins 1 = Servo Position zwei
|
15 | int stateb = 0; // 0 = Servo Position eins 1 = Servo Position zwei
|
16 | Servo servo1; // deklariert den Namen des ersten Servos
|
17 | Servo servo2; // deklariert den Namen des zweiten Servos
|
18 | void setup() {
|
19 | pinMode(BUTTON1, INPUT_PULLUP); // Gibt an dass Buttom ein Input ist
|
20 | pinMode(BUTTON2, INPUT_PULLUP); // Gibt an dass Buttom ein Input ist
|
21 | servo1.attach(9); // gibt an auf welchem Pin der Servo mit dem steuerkabel anliegt
|
22 | servo1.write(0); // gibt die Grundstellung des Servo beim start an
|
23 | servo2.attach(10); // gibt an auf welchem Pin der Servo mit dem steuerkabel anliegt
|
24 | servo2.write(0); // gibt die Grundstellung des Servo beim start an
|
25 | }
|
26 |
|
27 | void loop()
|
28 | { vala = digitalRead(BUTTON1); // liest den Input aus und cheked ob er gedrückt ist.
|
29 | if ((vala == LOW) && (old_vala == HIGH)) {
|
30 | statea = 1 - statea;
|
31 | delay(50);
|
32 | }
|
33 | valb = digitalRead(BUTTON2); // liest den Input aus und cheked ob er gedrückt ist.
|
34 | if ((valb == LOW) && (old_valb == HIGH)) {
|
35 | stateb = 1 - stateb;
|
36 | delay(50);
|
37 | }
|
38 | old_vala = vala; // aktueller val wird zu val alt
|
39 |
|
40 | if (statea == 1) {
|
41 | servo1.write(150); // Stelle servo auf 150 grad
|
42 | }
|
43 | else {
|
44 | servo1.write(30); // stelle servo auf startposition
|
45 | }
|
46 | old_valb = valb; // aktueller val wird zu val alt
|
47 |
|
48 | if (stateb == 1) {
|
49 | servo2.write(150); // Stelle servo auf 150 grad
|
50 | }
|
51 | else {
|
52 | servo2.write(30); // stelle servo auf startposition
|
53 | }
|
54 |
|
55 | }
|