fredyxx
16.09.2016, 11:50
Hallo,
in diesem kleinen Programm soll die Variable JustPin von Anfang an "1" bleiben. (Bitte nicht nach dem Sinn fragen)
#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:
32045
Mit "JustPin = debouncer.fell();" oder "JustPin = debouncer.rose(); ist das aber nicht der Fall.
Ergebnis auf dem Monitor:
32046
Wie kann das sein? Wie kann ich das verhindern?
vG
fredyxx
in diesem kleinen Programm soll die Variable JustPin von Anfang an "1" bleiben. (Bitte nicht nach dem Sinn fragen)
#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:
32045
Mit "JustPin = debouncer.fell();" oder "JustPin = debouncer.rose(); ist das aber nicht der Fall.
Ergebnis auf dem Monitor:
32046
Wie kann das sein? Wie kann ich das verhindern?
vG
fredyxx