Direkt zum Seiteninhalt

Schalter entprellen - W1W24.de

Menü überspringen
Menü überspringen
Arduino
Beim Arduino (oder anderen Mikrocontrollern) kann man den Taster auch softwareseitig entprellen. Ein mechanischer Taster kann dazu neigen, mehrere schnelle Schaltvorgänge zu erzeugen, wenn er betätigt wird. Dies wird als "Prellen" bezeichnet. Software-Entprellung bezieht sich auf den Prozess, durch den diese unerwünschten Schaltvorgänge durch Programmlogik herausgefiltert werden.
Es gibt verschiedene Ansätze zur softwareseitigen Entprellung eines Tasters. Hier ist ein einfaches Beispiel in Arduino-Code, um dies zu verdeutlichen:

const int buttonPin = 2;  // Der Pin, an dem der Taster angeschlossen ist
int lastButtonState = LOW;  // Der vorherige Zustand des Tasters
int buttonState;  // Der aktuelle Zustand des Tasters
unsigned long lastDebounceTime = 0;  // Zeitpunkt des letzten Zustandswechsels
unsigned long debounceDelay = 50;    // Zeit in Millisekunden für die Entprellung

void setup() {
 pinMode(buttonPin, INPUT);
 Serial.begin(9600);
}

void loop() {
 buttonState = digitalRead(buttonPin);
 
 if (buttonState != lastButtonState) {
   lastDebounceTime = millis();
 }
 
 if ((millis() - lastDebounceTime) > debounceDelay) {
   if (buttonState != lastButtonState) {
     lastButtonState = buttonState;
     
     if (buttonState == HIGH) {
       Serial.println("Taster gedrückt.");
       // Füge hier deine gewünschte Aktion hinzu
     }
   }
 }
}




In diesem Beispiel wird der Tasterzustand regelmäßig überprüft. Wenn sich der Tasterzustand ändert, wird die aktuelle
Zeit gespeichert. Wenn seit der letzten Zustandsänderung mehr Zeit vergangen ist als die definierte Entprellzeit
(debounceDelay), wird überprüft, ob der Tasterzustand stabil ist (nicht im Prellen-Zustand). Wenn ja,
wird die gewünschte Aktion ausgeführt.
Du kannst die Entprellzeit (debounceDelay) an deine Anforderungen anpassen. Dies ist nur ein grundlegendes
Beispiel, und es gibt auch fortgeschrittenere Entprelltechniken, die je nach Anwendung verwendet werden können.








Zurück zum Seiteninhalt