Taster

Ein Taster als digitaler Sensor

alt text

void setup() {
  pinMode(6, OUTPUT);
  digitalWrite(6,LOW);  // aus
}

void loop() {
  digitalWrite(6, HIGH); // ein
  delay(500);            // 500 ms Pause: LED leuchtet
  digitalWrite(6, LOW);  // aus
  delay(500);            // 500 ms Pause: LED leuchtet nicht.
}

Taster-Code

Als nächstes bauen wir den Taster in unseren Sketch ein:

bool zustand=LOW;
int taster=2;
int ledPin=6

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin,LOW);  // aus
  
  pinMode(taster,INPUT);  
}

void loop() {
  if (digitalRead(taster)==HIGH){
    if (zustand==LOW){
        zustand=HIGH;
    } else {
        zustand=LOW;
    }
   digitalWrite(6, zustand); // ein
   delay(1000);
  }  
  delay(1);
}

Erläuterungen zum Code

bool zustand=LOW;

Wir definieren eine Variable, die den Zustand unserer LED speichert. Zu Beginn soll sie ausgeschaltet (LOW) sein.
Der Datentyp bool lässt nur zwei Werte zu:

Wir verwenden ihn, um zu speichern, ob unsere LED ein- oder ausgeschaltet ist.

if (digitalRead(taster)==HIGH){

Mit dieser Zeile wird geprüft, ob der Taster gedrückt ist. Der Arduino liest dazu das Potential des Pins D2 ab, der mit dem Taster verbunden ist.

if (zustand==LOW){...

Hier wird die LED ein- oder ausgeschaltet.

delay(1000);

Die Pause von 1000 ms soll verhindern, dass ein Tastendruck mehrfach ausgelesen wird.

verbesserter Code

zurück