Überspringen zu Hauptinhalt

Taster

Funktion

Wird ein Taster gedrückt, schließt sich ein Kontakt. Strom kann dann hindurchfließen und als Signal dienen.

Der Taster hat in der Regel 4 Füße. Dabei sind jeweils 2 Füße dauerhaft miteinander verbunden und haben somit die gleiche Funktion.

Damit der Zustand der Tasterschaltung (offen oder geschlossenen) vom Arduino erkannt wird, muss hinter der Schaltung ein hochohmiger Widerstand (10 kΩ) zur Masse eingebaut werden. Die Schaltung kann als digitale Eingabe (Input) an jedem Pin am Arduino erkannt werden (0…13 sowie A0…A5).

Ideen

Bauteile

Eingabe

  • 1x Taster
  • 1x Festwiderstand 10 kΩ

Ausgabe
Für das Beispiel:

  • 1x LED
  • 1x Festwiderstand 330 Ω

Schaltung

Der Taster ist an 5V und einem anderen Pin (z.B. 5) angeschlossen.
Der Festwiderstand (10 kΩ) liegt hinter dem Taster und an GND.

Die LED ist an der Anode mit einem Widerstand (z.B. 330 Ohm) an einem digitalen Pin (z.B. 7) angeschlossen. Die Kathode ist mit GND verbunden.

Programmierung

Hinweis: Der Eingabewert vom Taster kann nicht direkt verwendet werden, sondern muss immer erst in eine Variable geschrieben werden (hier: „statusTaste“). Die Variable kann dann für if-Abfragen o.ä. verwendet werden.

An-/Ausschaltung

Block-Programmierung

Schrift-Programmierung

//Erstelle Variablen mit der Pinbelegung.
int _led_Gelb = 7;
int _input_Taste = 5;

//Erstelle Variablen für die Statusabfrage
int statusTaste = 0;

//Lege fest, ob die Pins Ein- oder Ausgänge sind.
void setup()
{
    pinMode(_led_Gelb, OUTPUT);
    pinMode(_input_Taste, INPUT);
    Serial.begin(9600);
}

//Führe das Programm aus.
void loop()
{
    //Übergebe den Wert der Taste an die Variable.
    stautsTaste = digitalRead(_input_Taste);

    //Eine Wenn-Dann-Ansonsten-Abfrage.
    if ( statusTaste == 1) {
        digitalWrite(_led_Gelb, HIGH);
        delay(500);
    } else {
        digitalWrite(_led_Gelb, LOW);
        delay(500);
    }
    
    //Optional: Zeige den Status am Computer an.
    Serial.println(statusTaste);
    delay(50);
}

Wechselschaltung

Block-Programmierung

Schrift-Programmierung

//Erstelle Variablen mit der Pinbelegung.
int _led_Gelb = 7;
int _input_Taste = 5;

//Erstelle Variablen für die Statusabfrage
int statusTaste = 0;
int stautsLED = 0;

//Lege fest, ob die Pins Ein- oder Ausgänge sind.
void setup()
{
    pinMode(_led_Gelb, OUTPUT);
    pinMode(_input_Taste, INPUT);
    Serial.begin(9600);
}

//Führe das Programm aus.
void loop()
{
    //Übergebe den Wert der Taste an die Variable.
    stautsTaste = digitalRead(_input_Taste);

    //Eine verschachtelte Wenn-Dann-Ansonsten-Abfrage.
    if ( statusTaste == 1) {
        if ( statusLED == 0) {
        digitalWrite(_led_Gelb, HIGH);
        } else {
        digitalWrite(_led_Gelb, LOW);
        }
        delay(500);
    } 
    
    //Optional: Zeige den Status am Computer an.
    Serial.println(statusTaste);
    delay(50);
}

Debug

An den Anfang scrollen