Hallo zusammen,
ich habe jetzt eine Flanke in meinen Sketch eingebaut.
Die Flanke funktioniert schon mal gut, jedoch an der falschen Stelle.
Wie ihr im folgenden Vidio sehen könnt, sagt die Flanke dem Servo das er
sich erst dann drehen soll, wenn die Lichtschranke(TCRT5000) das Ende
des Produktes passiert.
Ich möchte jedoch das sich der Servo dreht, wenn die Lichtschranke den
Anfang des Produktes passiert.
Wie müsste ich den Sketch dann umändern?
MfG
----------------------------------------
Vidio Link:
https://1drv.ms/v/s!AoQMYjP_6k8dl2oc21S1ywDSTPCp
------------------------------------------------------------
CODE
------------------------------------------------------------
1 | #include <AFMotor.h>
|
2 | #include <Servo.h>
|
3 | Servo servo1;
|
4 |
|
5 | bool erkenneFlanke(const bool value)
|
6 | {
|
7 | static bool merker = true;
|
8 | if(merker == value) return false;
|
9 | merker = value;
|
10 | if(value) return true;
|
11 | return false;
|
12 | }
|
13 |
|
14 | void setup() {
|
15 | servo1.attach(10);
|
16 | pinMode(A1,INPUT);
|
17 |
|
18 | Serial.begin(9600);
|
19 | Serial.println("");
|
20 | pinMode(A1,INPUT_PULLUP);
|
21 | }
|
22 |
|
23 | void loop() {
|
24 |
|
25 | if(erkenneFlanke(digitalRead(A1))){
|
26 | servo1.write(30);
|
27 | delay(100);
|
28 | servo1.write(60);
|
29 | delay(100);
|
30 | }
|
31 |
|
32 | }
|