sitemap link mailform link home

Tasten-Entprellung

Code-Beispiel von Eric Bartmann

Quelle: http://www.erik-bartmann.de/down/download-arduino1.html

/*
Author:        Erik Bartmann
Website:       http://www.erik-bartmann.de
Blog:          http://www.tumblr.com/tumblelog/arduino-processing
Twitter:       https://twitter.com/#!/ErikBartmann
Flickr:        http://www.flickr.com/photos/erikbartmann/6311998488 (Schaltplan)
Scope:         Der störrische Taster
Version:       1.0
Date:          03.10.2011
Last modified:
Description:  Dieser Sketch zeigt eine Möglichkeit, einen prellenden Taster
              zu entprellen, so dass pro Tastendruck nur ein einziger Impuls
              erkannt wird.
Referenz:     http://arduino.cc/en/Reference/PinMode
              http://arduino.cc/en/Reference/Constants
              http://arduino.cc/en/Reference/If
              http://arduino.cc/en/Reference/Else
              http://arduino.cc/en/Reference/DigitalWrite
              http://arduino.cc/en/Reference/DigitalRead
              http://arduino.cc/en/Reference/Modulo
*/
int tasterPin = 2;        // Taster-Pin 2
int tasterWert = 0;       // Variable zur Aufname des Tasterstatus
int vorherTasterWert = 0; // Variable zur Aufname des alten Tasterstatus
int ledPin = 8;           // LED-Pin 8
int zaehler = 0;          // Zählervariable
void setup(){
  pinMode(tasterPin, INPUT); // Taster-Pin als Eingang
  pinMode(ledPin, OUTPUT);   // LED-Pin als Ausgang
}

void loop(){
  tasterWert = digitalRead(tasterPin); // Abfrage des Taster
  // Ist vorheriger Tasterwert ungleich aktuellem Tasterwert?
  if(vorherTasterWert != tasterWert){
    if(tasterWert == HIGH){
      zaehler++; // Zähler inkrementieren (+1)
    }
  }
  vorherTasterWert = tasterWert; // Speichern des aktuellen Tasterwertes
  if(zaehler%2 == 0) // Ist Zähler eine gerade Zahl?
    digitalWrite(ledPin, HIGH);
  else
    digitalWrite(ledPin, LOW);
}

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »