Hallo,
in diesem kleinen Programm soll die Variable JustPin von Anfang an "1" bleiben. (Bitte nicht nach dem Sinn fragen)
Code:
#include <Bounce2.h> // einbinden der Library für die Unterdrückung des Kontaktentprellens
Bounce debouncer = Bounce();
int JustPin_roh = 53;
int JustPin; // diese Variable nimmt das Ergebnis nach der Prellunterdrückung an
void setup() {
Serial.begin (250000);
while (!Serial);
pinMode (JustPin_roh, INPUT);
digitalWrite(JustPin_roh, HIGH); //schaltet den PullUp-Widerstand ein
debouncer.attach(JustPin_roh); // für Prellunterdrückung von Pin 53
debouncer.interval(1); // interval in ms
pinMode (52, OUTPUT);
digitalWrite (52, LOW);
JustPin = HIGH;
}
void loop() {
Serial.print("JustPin = ");
Serial.println(JustPin);
Serial.println("");
debouncer.update(); // aktualisiert den Bouncezustand
JustPin = debouncer.read(); // übergibt den aktualisierten Wert an die Variable JustPin.
if (JustPin == HIGH) {
digitalWrite(52, HIGH);
}
} //************* ENDE loop
Mit "JustPin = debouncer.read();" ist das auch so.
Ergebnis auf dem Monitor:

Mit "JustPin = debouncer.fell();" oder "JustPin = debouncer.rose(); ist das aber nicht der Fall.
Ergebnis auf dem Monitor:

Wie kann das sein? Wie kann ich das verhindern?
vG
fredyxx
Lesezeichen